安卓PDF渲染

7

我希望在Android上打开/渲染存储在SD卡中的PDF文件,而不使用内置应用程序或查看器。

1)我们尝试过MuPDF开源库,但是使用该库进行渲染非常缓慢。

2)我们能否使用iText库在Android上渲染PDF文件(即将iText作为PDF浏览器)。

是否有其他可以在Android上使用的PDF库(开源),或者建议开发PDF浏览器的基本指南。

3个回答

8

1) 如果要渲染大图像的pdf文件,MuPDF在安卓设备上可能会比较慢,但对于教材类pdf文件的渲染效果非常好。如果想让MuPDF在安卓平台上运行更加稳定快速,需要进行很多自定义和改进,特别是内存使用控制方面的处理。你可以查看两个基于MuPDF开发的开源项目VuDroid和apv

2) 这取决于你的需求。iText足以渲染简单的文本pdf文件,但我认为它的性能不如用C/C++开发的MuPDF或其他库。

另一个选择是使用Poppler。一款很受欢迎的安卓应用ezPDF Reader就是基于Poppler开发的,尽管它违反了GPL许可证。与MuPDF相比,直接使用Poppler需要进行更多的工作才能使其在安卓设备上运行流畅。你可以参考开源项目apdfviewer的做法。


贪食谢谢您的及时回复 - 我会尝试建议的选项并让您知道...同时,我正在探索一些东西,并发现了另一个选项,即PDFBox - 我们可以在Android中使用它作为PDF查看器吗... - user895935
2
你认为为什么ezPDF基于Poppler? - Vanuan
Pressreader由Newspaper Direct开发,也使用了Poppler,效果相当不错,尽管平移有点卡顿。 - Dean Wild

4

最近我在这个领域做了一些研究,尝试了 Android 上的 14 多个库,对一些高分辨率印刷就绪的 PDF 杂志进行了简单的基准测试,并考虑在工作中使用 MuPDF 或 Radaee,因为它们被评为最佳选择。

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

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


似乎所有的MuPDF(派生自VuDroid、apv)、Radaee都不适合在付费应用程序中使用。有没有可以在付费应用程序中使用的PDF库? - manhon
1
我不确定你具体在问什么,但是如果你的问题是有哪些库可以免费用于商业目的,你可以考虑使用PDFBox库。虽然它是Java库,但是可能在某些地方有Android版本(例如,在GitHub上似乎已经开始了一些项目:https://github.com/jeremyvillalobos/android-pdfbox-port)... 还有另一个名为“PDFView”的Java PDF库来自Sun,完全免费。 - Luboš Staráček

0

看看我的 Android PDF 阅读器这里在anddev。 我记得它使用了修改版的PDFBox(不包括编辑相关内容),并且具备了我自己的字体转换器(以更快地将字体提供给 Android 并呈现它们)。

我不再开发 PDF 阅读器,我可以让所有的更改都变成开源(虽然这需要一些工作和时间)。你可以试用一下,看看它对于你的表现如何。注意:阅读器不支持加密和复制保护。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接