Android PDF渲染

时间:2011-08-17 02:49:54

标签: java android android-ndk mupdf

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

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

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

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:4)

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

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

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

答案 2 :(得分:0)

查看我的Android版PDF阅读器here at anddev。 我记得它使用了修改过的PDFBox(没有与编辑相关的东西),并且具有我自己的字体转换器(将字体提供给Android并更快地渲染它们)。

我不再开发PDF阅读器了,我可以将所有更改开源(虽然它需要一些工作和时间)。您可以尝试一下,了解它对您的表现如何。注意:阅读器不支持加密和复制保护。