如何将 PDF 文件页面呈现为图像?

Posted

技术标签:

【中文标题】如何将 PDF 文件页面呈现为图像?【英文标题】:How can I render PDF file pages as images? 【发布时间】:2010-03-25 15:42:20 【问题描述】:

我需要能够将 PDF 文件转换为图像(每页一张图像),以便像 Google Docs 那样显示在网页上。这适用于内部 Intranet 应用程序,其中要求在 Web 上提供 PDF 文件,但具有跟踪滚动的能力,这是我能想到的唯一方法。

问题是我找不到好的方法来即时转换 PDF 文件。

【问题讨论】:

好 = 一个 .net 组件,它可以做到这一点并允许我 .Save 图像...没有打印驱动程序或类似的东西 .NET 的文档模型是围绕微软的狂妄自大建立的,旨在用 XPS 扼杀 PDF。所以你在没有第三方工具的情况下做这件事的机会很小。 【参考方案1】:

试试GhostScript。它是开源的,可以作为命令行进程或直接通过 DLL 运行。在过去的 2 年里,我在生产应用程序中使用了它,而且问题很少。

要了解如何直接使用 dll 导出图像,请参阅this codeproject article。

【讨论】:

我非常希望能够逃脱,而不必在单独的过程中运行某些东西。 其实看起来你可以直接调用dll,但是由于某种原因我无法获得非常高质量的图像:( 它一定是某种 DPI 标志。我实际上并不知道您可以直接调用 dll。感谢您的提示! 只需要提高 ResolutionXY,现在我就有了高质量的图像......效果很好:) 是否可以使用 GhostScript 库获取 PDF 中的页数?【参考方案2】:

我们在这里使用ABCpdf 将PDF 转换为图像。

注意:它不是免费的

【讨论】:

【参考方案3】:

您可以使用 ImageMagik,它是免费的,并且可以进行这种转换。

http://www.imagemagick.org

【讨论】:

ImageMagick 需要 GhostScript 进行转换。【参考方案4】:

尝试使用Tall Components 中的 PDF 组件转换为图像。

您需要进一步研究这些内容以跟踪更改等,并且可能需要转换为文本。

【讨论】:

【参考方案5】:

PeaPDF

我创建了一个用于渲染 PDF 的免费开源项目 - https://github.com/elicym/peapdf/。

鬼脚本

您也可以使用Ghostscript,但它的许可证是 AGPL,如果您使用它,您可能需要分发您的代码。见https://www.ghostscript.com/license.html,尤其是部分:

归根结底,如果您分发我们的软件,或向通过计算机网络远程与其交互的用户提供软件的功能,您必须共享您的源代码。

【讨论】:

以上是关于如何将 PDF 文件页面呈现为图像?的主要内容,如果未能解决你的问题,请参考以下文章

ABBYY FineReader PDF 15如何将页面保存为图像

怎么用ABBYY将PDF转换为JPEG图像

怎么用ABBYY将PDF转换为JPEG图像

ImageMagick:将图像转换为 A4 页面大小的 PDF,图像适合页面

在图像文件中查找一行

WeasyPrint HTML to PDF 未在 TEST VM 环境中呈现图像 - Django