【问题标题】:How to programmaticaly construct PDFs with PDF/A format如何以编程方式构建 PDF/A 格式的 PDF
【发布时间】:2013-08-24 05:28:44
【问题描述】:

我需要编写一个 NET 应用程序,该应用程序将从数据库中获取各种数据并构建一个 PDF,由于公司标准,该 PDF 必须是 PDF/A 格式。

到目前为止,我已经看过 PDFSharp 和 iTextSharp

我在 PDFSharp 论坛 http://forum.pdfsharp.net/viewtopic.php?p=1293#p1293 上看到一个话题正在讨论这个话题,他们多年前曾说过他们的待办事项列表中包含 PDF/A 支持,但没有任何结果。

我找不到任何关于使用这些库的 PDF/A 格式的信息。我是否需要在满足 PDF/A 限制的同时构建 PDF?我不知道如何验证文件是 PDF/A 格式...

【问题讨论】:

标签: .net pdf itextsharp pdfsharp pdfa


【解决方案1】:

请参阅 iText 5.3.4 的 release noteschangelog

您可以使用 iTextSharp 创建 PDF/A-1(A 级/B 级)、PDF/A-2 和 PDF/A-3 文件。但是,我们只在 PDF/A-1 的创建过程中检查一致性。如果您创建 PDF/A-2 和 PDF/A-3 文件,作为开发人员,您有责任不引入破坏 PDF/A 一致性的内容。在未来的版本中,iText 会为您检查。

PDF/A-3 with iText 让您了解所需的内容(示例使用 Java,但将它们移植到 C# 应该不成问题)。确保您使用PdfAWriter 类而不是PdfWriter,并确保您拥有最新版本。

请注意,创建 PDF/A Level A 是一项挑战。您必须在代码中设置每个元素的角色(ParagraphAnchor、...)。通常使用 XFA 模板会更容易,用 XFA 数据填充它,然后让 iText 的 XFA Worker 将其展平。

iText 不对现有 PDF/A 文件进行验证。重要的是要知道文档顶部显示的“蓝条”表示该文档是 PDF/A 是不够的。您需要验证文档,例如使用 Adob​​e Acrobat(预检功能)。

【讨论】:

    【解决方案2】:

    我们决定使用官方的 Adob​​e PDF 库,因为我的公司对使用任何免费/开源软件犹豫不决。

    该库具有将 PDF 转换为 PDFA 的简单功能。我已使用 Adob​​e Acrobat Pro 中的预检工具确认输出 PDF 格式为 PDFA,感谢 Bruno Lowagie 提供该信息。

    【讨论】:

      猜你喜欢
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 2010-12-21
      • 2013-05-24
      • 1970-01-01
      相关资源
      最近更新 更多