java - Android PDF 渲染

标签 java android android-ndk mupdf

我想在不使用内置应用程序或查看器的情况下在 Android 中呈现/打开 PDF 文件(存储在 SDCard 中)。

1) 我们已经尝试过 MuPDF 开源库,但是使用这个库渲染非常慢。

2) 我们可以使用 iText 库在 Android 中呈现 PDF 文件吗(即 iText 作为 PDF 查看器)。

是否有任何其他 PDF 库(开源)可以在 Android 中使用,或者建议为 Android 开发 PDF 查看器的基本指南。

最佳答案

1) MuPDF 可以很好地在 android 中渲染教科书 pdf,而渲染带有大图像的 pdf 可能会很慢。如果您希望 MuPDF 在 android 平台上快速稳定地运行,则需要进行大量的自定义和改进,尤其是内存使用控制。您可以查看两个开源项目 VuDroid 和 apv它们基于 MuPDF。

2) 这取决于您的要求。 iText 可能足以呈现简单的文本 pdf,但我认为它没有比 MuPDF 或其他使用 C/C++ 开发的库更好的性能。

另一种选择是使用 Poppler .一个成功的例子是流行的 Android 应用程序 ezPDF Reader 基于 Poppler,尽管它违反了 GPL 许可证。开箱即用的 Poppler 需要比 MuPDF 更多的工作才能在 android 上顺利运行。可以引用开源项目apdfviewer .

关于java - Android PDF 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087454/

相关文章:

android - 如何很好地缩放 Android TextView 的背景图像

java - Android JNI 基本应用程序在运行时出现异常 - java.lang.ExceptionInInitializerError、java.lang.UnsatisfiedLinkError

android - gradle> Task:app:externalNativeBuildDebug FAILED android_gradle_build.json(没有这样的文件或目录)

java - Android Studio 中的 OpenCL

java - 如何在 Play 中将所有入站请求转换为 UTF-8!框架

java - 来自 Butterknife 的 @OnClick 方法使应用程序崩溃并出现 java.lang.BootstrapMethodError

java - 将 JDBC 连接到 IP 地址

android - 在哪里存储 JWT token ?

java - 导入org.hibernate.annotations.Immutable/Type时出错?

android - 右侧带有图标的 Material 按钮