Android PDF渲染

use*_*935 7 java android android-ndk mupdf

我想在Android中渲染/打开PDF文件(存储在SDCard中)而不使用内置应用程序或查看器.

1)我们尝试过MuPDF开源库,但使用这个库进行渲染非常慢.

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

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

小智 8

1)MuPDF很适合在android中呈现教科书pdf,而用大图像渲染pdf可能很慢.如果你想让MuPDF在android平台上快速稳定地运行,需要进行大量的自定义和改进,特别是内存使用控制.您可以查看两个基于MuPDF的开源项目VuDroid和apv.

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

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

  • 为什么你认为ezPDF基于Poppler? (2认同)

小智 4

我最近在这个领域做了一些研究,我在 Android 上尝试了超过 14 个库,我对一些高分辨率可打印 PDF 杂志做了简单的基准测试,我目前正在考虑在工作中使用 MuPDF 或 Radaee因为他们是最好的。

我也尝试过 VuDroid 和 apv,它们非常不稳定,在复杂的 PDF 文档上经常崩溃,并且与 MuPDF 或 Radaee 相比非常慢。

由于 MuPDF 和 Radaee(以及其他一些库)是用纯 C 语言编写的,并通过 NDK 在 Android 上使用,因此它们提供了尽可能最佳的性能(并且它们都是为商业用途付费的)。