Integrate Mupdf Reader in an App

Integrate MuPDF Reader in an app

I don't know how to do this in Windows using cygwin, because I'm using Ubuntu for the development. But I think the procedure should be the same.

  1. Download the file mupdf-0.9-source.tar.gz here:
    http://code.google.com/p/mupdf/downloads/list?q=source
  2. Download the file mupdf-thirdparty.zip
  3. Extract the sources. By default they will be extracted to the folder: mupdf-0.9/
  4. Extract the file mupdf-thirdparty.zip into the folder mupdf-0.9/
  5. Build the project mupdf-0.9 (For windows you should use VS as it is declared in the readme files)
  6. Then go to the folder mupdf-0.9/android/
  7. Run ndk-build
  8. You can get the following errors:

Compile thumb : mupdfthirdparty <= jbig2.c
In file included from /home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/os_types.h:53,
from /home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/jbig2.c:22:
/home/yury/software/android-ndk-r6b/platforms/android-8/arch-arm/usr/include/stdint.h:48: error: redefinition of typedef 'int8_t'
/home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/os_types.h:47: note: previous declaration of 'int8_t' was here

The solution is explained here: mupdf for android: ndk-build problem (error: redefinition of typedef....)
However, you can simply comment the lines of the definition of types in the file /thirdparty/jbig2dec/os_types.h

After that you will receive two libraries: one static and one shared for your android application.

StaticLibrary  : libmupdfthirdparty.a
SharedLibrary : libmupdf.so

This was the answer on the first question. Also there is a great step-by-step guide in the android/Readme.txt file.

Now the answer on the second question.
In the application for android you can find test project. There are 3 files:

  • MuPDFActivity.java
  • MuPDFCore.java
  • PixmapView.java

Simply copy the last two files in your project. And see an example in MuPDFActivity.java how you can embed mupdf layout in your activity. In this file it is done like:

    PixmapView pixmapView;
//...
layout = new RelativeLayout(this);
//...
RelativeLayout.LayoutParams pixmapParams =
new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.FILL_PARENT);
pixmapParams.addRule(RelativeLayout.ABOVE,100);
layout.addView(pixmapView, pixmapParams);

setContentView(layout);

How to Integrate Mupdf in android studio step by step?

Here is a link that shows one way to integrate mupdf to android:

MuPDF Android Integration

It's written by Şahin Koç.

Hope this helps.

Pdf Viewer using mupdf library

  1. Download latest android NDK
  2. Install CYGWIN
  3. Download complete source code of MUPDF (with thirty part tool)
  4. Download ANT build for windows
  5. set all needed path (JAVA_HOME,ANT_HOME)
  6. go to MuPDF directory
  7. Run MAKE command
  8. Then Import project in android from c:\mupdf\android
  9. Run your android project.

Don't forget to keep at least one pdf in Downloads folder

also follow all the step given in mupdf

Want to use mupdf for android app in our project

Its open source code under the Affero General Public Licence. If your application or usage conforms to the AGPL then you can use the library freely.

If it does not (eg you intend to sell your application, or you intend to use portions of the source without making your own source open source under the AGPL) then you must seek a commercial licence. Artifex has a range of different licencing options, including one specifically designed for Android/iPhone app developers.

If you feel you need a commercial licence, or want to discuss it, then you should contact sales@artifex.com.



Related Topics



Leave a reply



Submit