mishauliutin / mupdf.winrt Goto Github PK
View Code? Open in Web Editor NEWWindows 8 and Windows Phone 8 WinRT component - MuPDF wrapper
License: GNU General Public License v3.0
Windows 8 and Windows Phone 8 WinRT component - MuPDF wrapper
License: GNU General Public License v3.0
Hello,
I've been struggling with this library since Yesterday morning because I can't load any document with it. Whenever I reach the instruction:
this.Document = Document.Create(Source, DocumentType.PDF, (int)ScreenManager.ScreenDpi);
the application crashes with TypeLoadException, InnerException: Interface not registered, HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG). Required Windows Runtime Type 'MuPDFWinRT.Document' is not registered.
I searched on the web for this issue and everything seemd to point to a misconfiguration in project properties but I think I created them correctly. (See configuration screen here: https://dl.dropboxusercontent.com/u/73691727/config.PNG)
In my project reference I checked the winmd file (not the dll). In fact if I try to add a reference to the dll I obtain an error: "Cannot add a reference to <dll_name>. Check if assembly or COM component is valid"
I'm aware that this is not a lib issue per-se but I think you're the only one who can light this up for me (and for other users who will eventually experience the issue in the future)
Thanks
Giuseppe
Is there a x64 version of Build available for MuPDF? We could find only the x86 and ARM processor build. this is for Windows 8 App Development
I'm trying to use your MuPDF reader for Windows phone 8 & I tried to build your sample project from
Bitbucket [ https://bitbucket.org/mishauliutin/pdf-reader-for-wp8-public/downloads ]
When I tried to build the project I am getting error namespace 'PhoneBootstrapper' could not be found on PhoneBootstrapper class. I'm not sure about the PhoneBootstrapper class or Is there any thing else that I'm missing.
I added few more details Here http://goo.gl/T2ly4N
So, Could you please suggest me regarding the issue. Thanks
Can you provide binaries for Windows Phone 8.1? Building from source is troublesome on this platform and the store is requiring AppContainerCheck on the current Win8 (WinRT) DLLs.
I can't add this reference to my wp8 application
Hi,
I am using this library for Windows Phone 8. I have requirement of loading a PDF one page at a time and when user swipe the screen, then load the next page. I am using additional thread using "Thread Class" or "Task" to load the pdf page. If previous thread is not completed it cancelled the thread and starts new one to load the next page. But I am facing a "Out of memory exception" after loading the 10-12 pages.
Sometimes it also throwing "Stackoverflow exception" while using "document.DrawPage(0, pixels, 0, 0, sizeX, sizeY, false);" method.
So please help me out?? How can I solve this problem?
MuPDF.WinRT can parse pdf on win8 and wp8,but need user load all whole pdf file to memory,on windows phone memory is very small.
As you know,parse PDF file on win32(x86) platform don't need to load all whole file,only to load require information like position,version,offset ...
Implementation it maybe need to abstract file operation function for different platform.
sorry for my poor english, but i think you can understand it.
hello Misha Uliutin
I have merged your libraries in my wp8.1 App project.But it fails certification test.
details are:-
The overloaded methods Create of type MuPDFWinRT.__IDocumentStatics in file MuPDFWinRT.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
The overloaded methods Create of type MuPDFWinRT.Document in file MuPDFWinRT.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
can you please tell what exactly i have to do.
best regards,
Vikrant Thakur
I am using mupdf for Windows Phone but I am not able to find any test project WP8. Only I see is the Windows RT component for Windows Phone 8 which also not compiling properly. When I am compiling, it is unable to find some files and symbols in the Windows RT component project. So if there any solution, any help would be appreciated.
Hi, I try to compile your wrapper with the latest version of mupdf sources, and I find a lot of error, like fz_bbox not defined and some function with different number of parameter. Perhaps have you create this wrapper with different version on mupdf?
Thanks in adavance.
caste
Hello Misha Uliutin,
I developed a Windows Store App in C#, and add MuPDFWinRT as reference. Then I tried to use Windows App Certification Kit to check if my app is suitable for Windows Store. But I got some errors as below:
API GetModuleFileNameW in kernel32.dll is not supported for this application type. MuPDFWinRT.dll calls this API.
API LoadLibraryExW in kernel32.dll is not supported for this application type. MuPDFWinRT.dll calls this API.
API LoadLibraryW in kernel32.dll is not supported for this application type. MuPDFWinRT.dll calls this API.
I don't know where you used these APIs and what these APIs are using for. Can you give me some advice?
Thanks and Best Regards,
Hung Nguyen
I have a win8 app where I show pdf documents inside the app. using MuPDF winRT.
Till now there is no issue.
The issue now is My pdf document contains a rupee symbol.
When I open it using a normal reader It shows the symbol correctly.
But when I try to open the same pdf fron the app, Rupee symbol
{ ₹ (Hex : 0x20B9, html ₹) INDIAN RUPEE SIGN } is shown as grave(` ).
Example :
Expected : Amount (₹) 100000
Please help me resolve the issue.
Thanks in advance
Hi,
I got a PDF file which has required headers and pdf objects for rendering page #1 (but lacking other page objects, total 16 pages). I can use other PDF viewers (such as Adobe reader or Foxit Reader) to open the pdf and read the page #1. I can also mupdf win32 viewer to read page #1. However, when I use the MuPDF.WinRT to draw page #1, it throws an unknown exception. Since the mupdf win32 viewer can read the pdf successfully, I guess MuPDF.WinRT do more checking so that it failed to read the pdf. Would you please help to skip the checking so that it can render the partial pdf file as mupdf win32 viewer can do?
The following is my code in c#:
StorageFile dlFile = await ApplicationData.Current.LocalFolder.GetFileAsync("partial.pdf");
IBuffer pdfBuffer = await FileIO.ReadBufferAsync(dlFile);
Document pdfDocHandle = Document.Create(pdfBuffer, // - file
DocumentType.PDF, // type
150); // - dpi
try
{
MuPDFWinRT.Point sizeP = pdfDocHandle.GetPageSize(1);
WriteableBitmap tmpBmp = new WriteableBitmap(sizeP.X, sizeP.Y);
pdfDocHandle.DrawPage(1, tmpBmp.PixelBuffer, 0, 0, sizeP.X, sizeP.Y, false);
tmpBmp.Invalidate();
imgPdf.Source = tmpBmp;
}
catch (Exception ex)
{
Debug.WriteLine("MuPDF error on showing page:1, ex=" + ex.Message);
}
I'd like to upload the partial pdf for reference, but don't know how to do it. Please let me know how to give the partial pdf to you if needed. Thanks.
Hi,
I am loading one page from isolated store and rendering with mupdf and then next after sliding the screen. For some PDF's it is giving me AccessViolation Exception. Pages of PDF are quite heavy in size e.g 4-5 MB.
I am not able to find the reason because the exception occurring is also not cachable in try catch block.
Plz help me out.
Thanks
When add reference of the MuPDFWinRT.dll compiled under WP8 Solution, it alerts unable to add an incompatible reference.
Hi,
I am new to this project. I downloaded the source code and tried to build the project on my VS 2012. But got the build error messages:
"error C1083: Cannot open include file: 'fitz.h': No such file or directory (..\Src\MuPDFDoc.cpp)"
"error C1083: Cannot open include file: 'fitz.h': No such file or directory (..\Src\Document.cpp)"
I know fitz.h is one file of MuPDF source code. Would you please let me know how to add the MuPDF files into MuPDF.WinRT project, so that I can pass the build? Thanks a lot.
BTW, I believe MuPDF.WinRT is for Win8 Store App. That is, I can write a Win8 Store App in C# and invoke the functions in MuPDF.WinRT. Am I correct?
Walter
The current version mupdf supports this feature.In android version it is called in mupdf.c
JNI_FN(MuPDFCore_drawPage)(JNIEnv *env, jobject thiz, jobject bitmap,
int pageW, int pageH, int patchX, int patchY, int patchW, int patchH, jlong cookiePtr)
Can you add it please?
Or publish instruction how add new features?
I have getting the error :- Requested Windows Runtime type 'MuPDFWinRT.Document' is not registered.
Code is.
using (var document =
//getting error here Document.Create(WindowsRuntimeBufferExtensions.AsBuffer(GetStreamData()), // - file
GetDocumentType(), // type
160 + scaleFactor)) // - dpi
{
//here my code
}
plz solve this..
After Complile this library for windows phone ,i found that this library passing row rgb data to user,but convert it to image is too hard,is there have some method to convert ?
I have clone this repo in my local environment and convert it into Windows 8.1
And then when i am trying to build MuPDFWinRT Project, i got error as below.
Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol _getenv MuPDFWinRT (base)\PDFReader\MuPDF.WinRT\Win8\libthirdparty.lib(jmemmgr.obj) 1
Can anyone help me?
Thanks in advance.
can someone show me how to use MuPDF.WinRT in WP8 step by step? thank you very much!
Dear Mr Mishauliutin;
i try to create document pdf to view pdf pages in image control in windows phone 8
but i get error
this code:
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"test.pdf");
using (var stream = await file.OpenReadAsync())
{
IBuffer readBuffer;
using (IInputStream inputStreamAt = stream.GetInputStreamAt(0))
using (var dataReader = new DataReader(inputStreamAt))
{
uint bufferSize = await dataReader.LoadAsync((uint)stream.Size);
readBuffer = dataReader.ReadBuffer(bufferSize);
}
//error in function .Create
//The specified module could not be found. (Exception from HRESULT: 0x8007007E)
pdfDocument = Document.Create(readBuffer, DocumentType.PDF, (int)Windows.Graphics.Display.DisplayProperties.LogicalDpi);
}
Hi Misha,
First of all thanks for your work. However after spending hours trying to build the third party mupdf, the result fails. Could you please post a build of that package it will be very helpfull
Thanks in advance
Hello,
I created a test solution in my VS2012 (express) environment and added a MuPDFWinRT project in it.
I added reference to MuPDFWinRT but at compile time I get those errors about fitz.h.
I installed git on my computer and dragged the MuPDFWinRT folder in the git user interface so it created a local repository.
Now, I ask what I have to do to have all files and compile it? I am new to git so I did not understand the other threads about this issue.
Thank you in advance if you can help me.
Hi,
We're using your MuPDF library in our Windows Store app but have noticed PDFs become blurry and hard to read at certain zoom levels.
Is this a know bug? Is there anything we can do about this?
Thanks.
some times,i need to draw part of pdf documents, but it can't get correct result when i adjust some param of function "drawpage", is this project support this require?
Hi Misha Uliutin,
I builded the lib sucessfully, but I got one error when tried to show one pdf file with your lib in Windows phone8 dev env, the testing code is yours like following:
private byte[] GetPDFFileData()
{
using (var stream = typeof(MainPage).GetTypeInfo().Assembly
.GetManifestResourceStream("AmazingPdf.test.pdf"))
{
var buff = new byte[stream.Length];
stream.Read(buff, 0, buff.Length);
return buff;
}
}
private void DrawFirstPage()
{
var data = GetPDFFileData();
using (var document = Document.Create(
data.AsBuffer(), // - file
DocumentType.PDF, // type
160) // - dpi
)
{
............
}
}
The exception happens in below code:
using (var document = Document.Create(
data.AsBuffer(), // - file
DocumentType.PDF, // type
160) // - dpi
)
It says "The parameter is incorrect.", I check the "data" var, its length is 1060708, could you pls show me how I can slove this problem?
Thanks
Hi,
I wrote a Windows Store app in c#, and add MuPDFWinRT as reference. I could generate x86 and ARM packages, but failed to create x64 package.
I know x86 package can run well on x64 machine. However, I need to generate x64 package so that I can do something different between x64 and x86 machines.
Is it possible to generate x64 package?
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.