问题标签 [pdf-rendering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
244 浏览

android - 修复旧 Android 版本的 PDFium 崩溃或包含自己的库

我有一个使用该标准PdfRenderer呈现 PDF 的 Android 应用程序。到目前为止它工作得很好,我设法摆脱了应用程序中的大部分错误。

我不知道如何摆脱的唯一错误是:

它发生在几种变体中(不仅是 FPDF_CloseDocument),并且在每日会话中产生高达 4% 的崩溃。在各种设备上从 5 到 8 的 Android 版本上都会遇到此问题。

经过一番搜索,该PDFium库(基于该库PdfRenderer)似乎在早期版本中有一些错误。这就是问题在 Android 9 和 10 上没有出现的原因。

所以我的实际任务是摆脱 11 次 SIGSEGV 崩溃

在这里,我有以下想法:

  1. 在我的应用程序中包含最新版本的 PDFium。目前 libpdfium.so 包含在 Android 操作系统中。我可以将最终更正的库包含到我的应用程序中并使用它吗?在哪里可以找到 libpdfium.so 以及如何在应用程序中使用它?

  2. 使用替代的 PDF 渲染器。我需要以所需的缩放和分辨率呈现 PDF 页面的一部分,并且我需要一个非常宽松的许可证,例如 MIT 或 Apache,所以我不需要开源我的项目。我没有找到任何合适的,例如MuPDF需要开源整个项目,PSPDFKit是完全专有的。

摆脱 11 次 SIGSEGV 崩溃有什么更好的方法?

0 投票
0 回答
9 浏览

macos - 缩小高分辨率渲染的 pdf 页面 VS 以较低分辨率渲染

我需要以一组不同的分辨率呈现 PDF 文档的几页。

由于页面的复杂性,渲染非常耗费 CPU 和时间。

由于执行时间很重要,我想通过以最高分辨率渲染每个页面来加快速度,然后通过缩小它们来生成较低分辨率的页面。

这两个程序生成的 lo-res 页面有区别吗?

与相同分辨率渲染的图像相比,较低分辨率的下采样图像如何出现/“看起来”?

我在macOS上,所以我使用 OS 的库来进行 PDF 渲染和图像下采样。

请不要责怪自己没有做过测试。我只是想也许有人已经这样做了。如果不是,我将编写测试并回答我自己的问题。