相关疑难解决方法(0)

将PDF转换为PDF / A3或PDF / A-1转换为PDF / A-3

我正在测试iTextSharp以生成ZUGFeRD文件。我的第一步是从现有的PDF / A-3文件生成ZUGFeRD符合文件。通过使用PDFACopy并创建必要的PDFFileSpecification,此操作成功完成。

下一步将是从现有的PDF或PDF / A-1文件生成PDF / A-3文件,这是困难的部分。

首先,当我尝试将PDFACopy与常规PDF(不是PDF / A)结合使用时,会出现一个错误,指出PDFACopy仅可用于符合PDF / A的文件。我的第一个问题是,如何使用iTextSharp从PDF获取PDF / A-3-conform文件?

为了缩小差距,我决定使用ghostscript将PDF转换为PDF / A-1文件(请参阅如何使用ghostscript将PDF转换为PDF / A或PDF / X?)。这样成功了,我再次尝试。然后出现错误“ PDF / A版本不同”。被扔了。看来我无法从现有的PDF / A-1复制到新的PDF / A-3。如何从现有PDF(/ A-1)创建此PDF / A-3?那有可能吗?

这是我的代码:

XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(XML);
        byte[] xmlBytes = Encoding.Default.GetBytes(xmlDoc.OuterXml);

        Document doc = new Document();
        PdfReader src_reader = new PdfReader(pdfPath);    

        FileStream fs = new FileStream(DEST, FileMode.Create, FileAccess.ReadWrite);

        PdfACopy aCopy = new PdfACopy(doc, fs, PdfAConformanceLevel.ZUGFeRD);

        doc.AddLanguage("de-DE");
        doc.AddTitle("title");
        doc.SetPageSize(src_reader.GetPageSizeWithRotation(1));

        aCopy.SetTagged();
        aCopy.UserProperties = true; …
Run Code Online (Sandbox Code Playgroud)

c# pdf itext pdfa zugferd

3
推荐指数
1
解决办法
5742
查看次数

Ghostscript 不会生成带有在 DOCINFO 中检测到的 UTF16BE 文本字符串的 PDF/A - 尽管 PDFACompatibilityPolicy 另有说明

我正在尝试使用以下命令行将普通 PDF 文件转换为 PDF/A:

gs -dPDFA -dBATCH -dNOPAUSE -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)

但是,我收到消息

GPL Ghostscript 9.26: UTF16BE text string detected in DOCINFO cannot be represented in XMP for PDF/A1, reverting to normal PDF output
Run Code Online (Sandbox Code Playgroud)

gs 恢复为普通 PDF。显然,该消息源于gs 的这个代码片段,但我们在那里读到该消息仅在pdev->PDFACompatibilityPolicy == 0. 我的理解是-sPDFACompatibilityPolicy=1命令行中的参数旨在防止这种情况。

问:为什么 gs 表现得好像所需的策略是 0 而不是 1?还有另一种方法可以将策略设置为 1 吗?

此外,正如它让我感到好奇:

问:有没有办法查看导致原始问题的奇怪 DOCINFO 类型或首先预防它?使用 Acrobat Reader,我看不到文件中的任何“可疑”内容。如果有帮助: input.pdf 是在 Word 的 Window 上生成的(我什至尝试使用 UseISO19005-1 设置,该设置应该生成 PDF/A,但无论如何都会出现问题)。

pdf pdf-generation ghostscript

3
推荐指数
2
解决办法
2126
查看次数

标签 统计

pdf ×2

c# ×1

ghostscript ×1

itext ×1

pdf-generation ×1

pdfa ×1

zugferd ×1