Android PDF Viewer Library或muPDF库教程

时间:2013-10-20 13:54:35

标签: java android pdf mupdf

我正在尝试在我的Android应用程序中阅读pdf文件。我不想使用默认的pdf阅读器,只是打开一个新的意图,因为我需要自己的GUI,并希望使用第一页作为封面。因此,我需要制作自己的pdf阅读器。我做了一些研究,遇到了muPDF和 Android PDF Viewer Library

  1. 我尝试按照github说明关注教程来实现Android PDF Viewer Library。但问题是它永远加载pdf文件。除了描述中的步骤之外,我还需要做些什么吗?

  2. 我找不到muPDF库的任何教程,有没有?如何实施?

  3. 如果对前两个问题没有有用的答案,那么有没有好的pdf库,有教程和良好的文档?

  4. 谢谢,希望我能够解决我的问题

5 个答案:

答案 0 :(得分:7)

MuPDF是一个非常好的库,你绝对可以使用它。如果您需要使用MuPDF的完整Android应用程序示例,我建议您在Github上查看这个可自定义的杂志应用程序。

答案 1 :(得分:7)

首先,如果你想在现有的Android应用程序项目中使用MUPDF,你可以按照你在this link找到的指南(所有学分转到作者,我没有写这个)。

我正在尝试在我的应用程序中集成一个非常简单的PDF阅读/打印解决方案,我正在努力通过遵循该指南来删除/简化您获得的MuPdf应用程序演示。我已经管理(以某种方式)删除注释和文件选择功能,但我真的需要一些帮助来完成所有工作。真的有很多东西,绝对没有关于此的文档。我只是试图阅读代码并弄清楚需要什么和不需要什么,逐个删除功能并由catlog中的错误驱动。

另外,正如我们两个(如果我理解你的需要)只需要PDF渲染功能,如果有人指出如何(如果可能的话)禁用MuPDF库中构建的一些不必要的功能,那将会很棒来自源代码(作为DjVu支持,仅作为示例)。

希望这有帮助,即使它不是你问题的真正答案。

答案 2 :(得分:6)

这就是我用Cygwin成功在Windows上构建MuPDF库的方法,android-ndk

  1. https://code.google.com/p/mupdf/downloads/list下载MuPDF 1.3来源 解压缩到文件夹c:/mupdf-1.3-source

  2. 安装Cygwin: 从http://cygwin.com/install.html下载并运行运行setup-x86.exe 安装cygwin时,请确保选择了make packages和C ++编译器

  3. 制作生成。打开cygwin终端,运行

    cd /cygdrive/
    cd c/mupdf-1.3-source
    make generate
    
  4. 安装android-ndk: 下载android-ndk-r9d-windows-x86.zip并将其解压缩到

    c:/android-ndk-r9d
    
  5. 在Windows cmd控制台上构建mupdf lib:

    • 制备

      cd c:/mupdf-1.3-source/platform/android
      copy local.properties.sample local.properties
      

      编辑local.properties,取消注释

      #sdk.dir=C:\\Program Files (x86)\\Android\\android-sdk
      

      并改为

      sdk.dir=REAL andforid-sdk Folder
      
    • 构建: 仍然在c:/mupdf-1.3-source/platform/android上,运行:

      /android-ndk-r9d/ndk-build
      

      完成构建后,将在

      下创建名为libs的文件夹
      c:/mupdf-1.3-source/platform/android
      
  6. 创建android apk。 打开eclipse,从现有代码创建一个新的android项目,浏览到c:/mupdf-1.3-source/platform/android,现在你可以创建一个mupdf apk。

答案 3 :(得分:3)

从Android 5.0开始,您还可以使用Android的内部PDF renderer,并且为了操作PDF,您始终可以使用iTextg - 只是未来的一些替代方案。

答案 4 :(得分:0)

这个SO answer列出了一些关于如何从MuPDF Java示例应用程序中删除必要部分的步骤。

最好,我希望有一个“可以随时使用”的Java库作为依赖项。 JNI是否阻止了这一点,还是只是没有人做到这一点?

嗯,jmupdf就在那里(在duplicate中提到),但是将Windows和Linux(不是专门的Android)列为测试平台。对我来说似乎是桌面而且死了(12个月内没有变化)。至少与MuPDF本身的vibrance相比。