【发布时间】:2021-06-13 21:20:39
【问题描述】:
首先我在这里阅读了Creating a ZUGFeRD pdf 的文档,以获得符合 Zugferd PDF/A-3 pdf 的文档:
- 创建了一个自定义 .ps,您可以在此处查看它 PDFA_def.ps,如 Zugferd 文档中所述,并使用此颜色配置文件 sRGB.icc。
- 我想将此 pdf 发票(示例)RE.__2021_0002.pdf 转换为符合 PDF/A-3 的格式
- 为了将此示例发票转换为符合 Zugferd PDF/A-3 标准,我使用了 ghostscript
gs -dBATCH -dNOSAFER --permit-file-read=${PWD} -sDEVICE=pdfwrite -dPDFA=3 -sColorConversionStrategy=RGB -sPDFACompatibilityPolicy=1 -sZUGFeRDXMLFile=${PWD}/factur-x.xml -sOutputICCProfile=${PWD}/sRGB.icc -sOutputFile=${PWD}/RE.__2021_0002_pdf3a.pdf ${PWD}/PDFA_def.ps ${PWD}/RE.__2021_0002.pdf中的此命令 - 我使用veraPDF 检查生成的 pdf 文件是否符合 PDF/A-3,但它表明它不符合 PDF/A-3
然后我在 python 中使用 facturx 库来生成包含内嵌factur-x.xml的RE.__2021_0002_factur-x_embedded.pdf发票,然后我使用ghostscript中的这个命令将其转换为符合PDF/A-3的gs -dPDFA=3 -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=RE.__2021_0002_factur-x_embedded_pdf3a.pdf RE.__2021_0002_factur-x_embedded.pdf
但不幸的是,生成的 pdf 不符合 PDF/A-3 并且在此命令之后它还丢失了嵌入的 factur-x.xml。
我在 StackOverflow 中检查了有关此主题的大部分问题,例如 here,并尝试了命令并阅读了 cmets,但它也不起作用。
更新: 生成的 pdf 与 PDF/A-3a 和 PDF/A-3b 都不兼容。
我需要知道如何正确使 pdf 发票符合 PDF/A-3 标准?
谢谢。
【问题讨论】:
-
您已使用 Vera PDF 针对 PDF/A-3a 验证了 Ghostscript 生成的 PDF 文件。 Ghostscript 将不会生成“a”变体文件,只会生成“b”。因此,您需要对照 PDF/A-3b 进行验证。我无法评论 factur-x 库。
-
@KenS 感谢您的回复,它既不符合 PDF/A-3a 也不符合 PDF/A-3b
-
你的命令行有一些问题;你已经指定了 -dNOSAFER 和 --permit-file-read,你不需要两者,我建议你不要使用 -dNOSAFER。您说您使用了-sPDFACompatibilityPolicy=1,但这会产生错误,因为它应该是-d 而不是-s。您的 pdfa_def.ps 文件显然没有给出它应该提供的 srgb.icc 的完全限定路径。您使用的是什么版本的 Ghostscript?我会先从 PDF/A3b 文件开始,然后担心 zugferd。如果我解决了上述问题,我会得到一个由 VeraPDF 验证的有效 PDF/A-3b 文件。
-
哦,你也不应该指定 -sOutputICCProfile。使用 d:/temp 中的 srgb.icc,修改 pdfa_def.ps 以包含 srgb.icc 的路径和我的命令行:-sDEVICE=pdfwrite -o out.pdf -dPDFA=3 --permit-file-read=d: /temp/ -sColorConversionStrategy=RGB -dPDFACompatibilityPolicy=1 pdfa_def.ps "RE.__2021_0002 (1).pdf" 我得到一个有效文件。
-
@KenS 谢谢你,我想在你得到一个有效文件后问你,该文件是否包含内嵌的 factur-x.xml 文件?
标签: python ghostscript pdfa zugferd