.net - 如何以编程方式构建 PDF/A 格式的 PDF

标签 .net pdf itextsharp pdfsharp pdfa

我需要编写一个 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 格式...

最佳答案

参见 release noteschangelog iText 5.3.4 版本。

您可以使用 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(预检功能)。

关于.net - 如何以编程方式构建 PDF/A 格式的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364258/

相关文章:

.net - 如何添加任务优先级功能

c# - WCF 与 WCF 双工与套接字

c# - 异常 : When to use, 时序,整体使用

c# - 如何将 BitArray 转换为单个 int?

java - 使用java在网络打印机中打印pdf

java - 如何使用 itext 和 java 读取 pdf 并获取表格单元格高度

c# - 如何在 C# 中使用 iTextSharp 将添加的图像带到最前沿

node.js - 如何从Google Drive API导出方法正确地将PDF读入node js缓冲区?

c# - 重新打开时从 azure 下载 PDF 时无法加载

c# - 使用 C# 使用 iTextsharp 突出显示现有 PDF 的文本(颜色)