【问题标题】:How to convert multilayered PDF to PNG choosing which layers will be exported in .NET如何将多层 PDF 转换为 PNG 选择将在 .NET 中导出的图层
【发布时间】:2020-04-22 16:20:27
【问题描述】:

我需要能够将多层 PDF 转换为 PNG,但我需要能够设置要导出的图层。

PDF 文件包含许多层,其中大部分是不可见的。有些 API 仅导出可见的图层和其他所有图层。一些 API 让我可以更改图层的可见性,但不是所有的 API 都允许在转换中遵守这一点。

我已经尝试了许多 .Net API,但很少有人允许我这样做,但总是遇到一些问题。我已经在相关公司开了几张票,但不知道他们是否以及何时会修复它。

我一直在寻找一些可以完成这项工作的 API,我将不胜感激。

遵循我已经测试过的 API 和工具:

FreeSpire.PDF:几乎完成了这项工作,但图像正在被转换,主图像周围有一个大的空白透明区域(我还不能解决这个问题)。

Syncfusion.Pdf:这似乎也是一个不错的选择,我可以获取图层,设置它们的可见性,但是当我导出时正在导出所有图层(可见和不可见)。图像质量也很好,周围没有空白区域。

Dynamic.PDF: 似乎又一个不错的,但实际上资源很少,无法获取和使用图层,只能导出不可见的图层。

Apitron PDF Rasterizer:使用简单,但无法访问图层和导出不可见的图层。

Pdf2Png: 只是有一种方法可以转换并且正在导出可见和不可见图层,但文件结果质量很差。我试图改变一些属性,但质量仍然很差。它在后面使用 Ghostscript。

https://ezgif.com/ 不转换不可见层。

https://pdf.io/pt/pdf2png/ 不转换不可见层。

https://www.pdfpro.co/files 不会转换不可见层。

https://image.online-convert.com/ 不转换不可见层。

https://www.zamzar.com/convert/png-to-pdf/ 不转换不可见层。

https://easypdf.com/pt/pdf-em-png 转换不可见层。

https://cloudconvert.com/pdf-to-png 不转换不可见层。

【问题讨论】:

    标签: .net pdf png image-conversion pdf-conversion


    【解决方案1】:

    我工作的公司制作的商业 SDK 可以做到这一点。导出为 PNG 时,您可以随意混合和匹配图层。

    这个示例(转到使用 PDFDraw 类的地方)展示了将每个图层绘制到自己的 PNG 中。

    https://www.pdftron.com/documentation/samples/dotnetcore/cs/PDFLayersTest

    从上面的代码中,您可以看到如何混合和匹配,但如果您需要更多细节,请详细说明(示例 PDF 也会有所帮助)您要导出的确切图层,我可以提供该代码。

    要试用示例并根据需要进行修改,您可以在此处下载 SDK: https://www.pdftron.com/documentation/windows/download/windows/

    有适用于 Windows、macOS 和 Linux 的 Windows .NET Framework SDK 和 .NET Core SDK,您可以从上面的链接下载。在 SDK 下载中查找 Layers 示例。

    下面是一个在线演示,您可以在其中看到交互式切换层。您可以打开任何 PDF。和服务端 SDK 是同一个引擎。

    https://www.pdftron.com/webviewer/demo/pdf-layers

    【讨论】:

    • 非常感谢。这个演示非常好,但我找不到导出为 PNG 的方法(这就是我们想要的)有没有办法做到这一点?
    • 从在线演示中看,这只是为了展示一般的图层支持(使用您自己的 PDF 文件)。您要求我们提供 .NET SDK,我将通过链接更新我的答案。
    • 好的,我明白了。我要看看这个。再次感谢您
    • 我使用了您在此处发布的示例的导出代码,效果很好。我只需要在第一次导出之前调用 ctx.ResetStates(true) 方法,以获得所有图层的图像。再次感谢您。
    猜你喜欢
    • 1970-01-01
    • 2018-04-03
    • 2021-09-09
    • 1970-01-01
    • 2012-12-17
    • 2020-03-17
    • 2015-09-24
    • 2018-09-04
    • 2011-04-19
    相关资源
    最近更新 更多