7

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

  1. 我尝试按照 github 描述中的教程来实现 Android PDF Viewer Library。但问题是它永远加载pdf文件。除了描述中的步骤,我还需要做其他事情吗?

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

  3. 如果前两个问题没有有用的答案,是否有任何好的 pdf 库有教程和好的文档?

谢谢,希望能解决我的问题

4

5 回答 5

7

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

于 2013-10-21T10:05:05.937 回答
7

首先,如果您想在现有的 android 应用程序项目中使用 MUPDF,您可以按照在此链接上找到的指南进行操作(所有学分归作者所有,我没有写这个)。

我也在尝试在我的应用程序中集成一个非常简单的 PDF 阅读/打印解决方案,并且我正在努力精简/简化按照该指南获得的 MuPdf 应用程序演示。我已经设法(以某种方式)删除了注释和文件选择功能,但我真的需要一些帮助才能完成所有工作。真的有很多东西,而且绝对没有关于这个的文档。我只是试图阅读代码并弄清楚需要什么,不需要什么,一个一个地删除功能,并被你在 catlog 中遇到的错误所驱动。

此外,由于我们俩(如果我正确理解您的需求)只需要 PDF 渲染功能,如果有人指出如何(如果可能)在从源代码构建 MuPDF 库时禁用一些内置于 MuPDF 库中的不必要功能(作为 DjVu 支持,仅作为示例)。

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

于 2013-10-31T11:33:14.420 回答
6

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

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

  2. 安装 Cygwin:安装 cygwin 时从http://cygwin.com/install.html下载并运行 setup-x86.exe ,确保选择了 make 包和 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. 构建 mupdf lib:在 windows cmd 控制台上:

    • 准备:

      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. 创建安卓apk。打开 eclipse,从现有代码创建一个新的 android 项目,浏览到c:/mupdf-1.3-source/platform/android,现在您可以创建一个 mupdf apk。

于 2014-04-06T17:36:10.633 回答
3

从 Android 5.0 开始,您还可以使用 Android 的内部PDF 渲染器,并且对于处理 PDF,您始终可以使用iTextg - 只是未来的一些替代方案。

于 2015-03-24T10:07:41.050 回答
0

这个 SO答案列出了一些有关如何将 MuPDF Java 示例应用程序中的基本部分复制到自己的步骤。

最好,我希望有一个“即用型”Java 库,我可以将其作为依赖项附加到其中。JNI 是否阻止了这一点,或者仅仅是没有人开始这样做?

嗯,jmupdf在那里(在这个副本中提到),但它列出了 Windows 和 Linux(不是特别是 Android)作为测试平台。对我来说,它似乎是桌面和死亡(12 个月内没有变化)。至少与MuPDF 本身的活力相比。

于 2014-02-12T12:30:16.357 回答