merge - 使用 ITextSharp 合并两个 PDF-a 文档

标签 merge itextsharp pdfa

希望有人能看到我的代码中的缺陷,以便使用 ITextSharp 合并到 PDF-a 文档。目前它提示缺少 PDF-a 需要的元数据。

Document document = new Document();
MemoryStream ms = new MemoryStream();
using (PdfACopy pdfaCopy = new PdfACopy(document, ms, PdfAConformanceLevel.PDF_A_1A))
{
    document.Open();
    using (PdfReader reader = new PdfReader("Doc1.pdf"))
    {
        pdfaCopy.AddDocument(reader);
    }
    using (PdfReader reader = new PdfReader("doc2.pdf"))
    {
        pdfaCopy.AddDocument(reader);
    }
}

收到的确切错误是

未处理的异常:iTextSharp.text.pdf.PdfAConformanceException:符合 PDF/A 标准的文件的文档目录字典应包含 元数据键

我希望“文档目录字典”也能被复制,但我猜想“new Document()”会创建一个空的不合格文档或其他东西。

谢谢!希望你能帮忙

沃特

最佳答案

你需要添加这一行:

copy.CreateXmpMetadata();

这将创建一些默认的 XMP 元数据。当然:如果您想创建自己的 XMP 文件,其中包含有关您要合并的文档的信息,您还可以使用:

copy.XmpMetadata = myMetaData;

其中 myMetaData 是包含正确 XMP 流的字节数组。

我希望您了解 iText 无法自动创建正确的元数据。提供元数据是需要人类关注的事情。

关于merge - 使用 ITextSharp 合并两个 PDF-a 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25055080/

相关文章:

pdf - iTextSharp 4.1.6和5.x版本之间的区别

image - PDF/A 内页眉中的 iText 页码

python - 如何合并多个数据框

c# - 代码未在我的 PDF 中绘制水平线

c# - 使用ITextSharp从两个分隔线之间的PDF中提取文本

java - 我无法在 pdf 中嵌入颜色空间以创建 Pdf/A

pdf - 如何使用ghostscript将PDF转换为PDF/A或PDF/X?

Python - 如何计算两个字典的相等部分?

python - 如何合并两个表并从 Python 中每个单元格中的先前值计数中划分数字实例?

regex - 合并与另一个文件中的正则表达式匹配的行