如何在MuPDF中实现翻页效果

10
我有两个库,一个是 MuPDF 用于在 Android 上查看 PDF 文件,另一个是 pageCurl 用于实现翻页效果,但它只适用于位图。我不知道如何将两者集成以获得在由 MuPDF 打开的 PDF 文件中的翻页效果。如果有人已经实现了这个或者知道相关链接,请帮忙提供一下。
谢谢。

1
如果您能够包含您所提到的MuPDF和pageCurl库的链接,那将会非常有帮助。 - Supreethks
@Supreethks 感谢您的关注,这是MuPDF的链接:http://www.mupdf.com/,而PageCurl的链接为https://github.com/harism/android_page_curl。 - Ali Imran
@Ali Imran,你解决了这个问题吗? - kyogs
不好意思,我还没有找到这个解决方案 :(. - Ali Imran
这篇文章将会帮助你:https://dev59.com/nXNA5IYBdhLWcg3wgeAc - Suresh Sharma
@SureshSharma,你的链接完全与我的问题无关 :) 顺便说一下,感谢你的关注。 - Ali Imran
1个回答

3
据我所知,没有简单的方法可以完成这个任务。我曾为一家广泛传播的全国性报纸制作了一个实际应用程序:似乎唯一可行的方法是使用位图。他们在 iOS 设备上使用服务器端 PDF,在 Android 设备上使用 JPG 位图。

请记住,在 Android 中使用大型位图很麻烦。这就是为什么 PDF 阅读器会将其分块渲染的原因:如果您在缩放模式下滚动太多,内存中已经加载的高分辨率块将继续被垃圾收集并丢失。无论您选择哪种 PDF 实现(即使是 muPDF),都可以进行测试。

同时显示两个位图(例如封面和后页),分辨率约为 1200x800 的位图会消耗整个应用程序堆内存,导致臭名昭著的 OutOfMemory 异常。每个设备都有固定(且不同)数量的堆内存可供对象在内存中使用,并且还受到最大分配限制的限制。

我的建议是:
为了节省时间,请改变实现方式以使用来自 PDF 的预渲染图像(最好是服务器端,或直接在设备上预渲染),并使用不同分辨率的图像来管理内存受限的设备。

我是一名 Android 爱好者开发者,但我已经等了很长时间才找到一些可以像 iOS 设备一样完美执行任务的全 PDF 组件。祝你好运。


1
我整天都在搜索“PDF翻页效果”,每个人都建议我使用muPDF渲染器。但在Android上实现muPDF本身就非常棘手,即使有100个项目中只有1个使用了muPDF。到目前为止我的搜索结果是,在Android上同时使用muPDF和PageCurl似乎并不可能。 - Passion

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