我正在尝试将 PDF 文件转换为符合 PDF/A-3 格式,并向其附加 XML 文件,以便它符合 ZUGFeRD 标准。我正在使用 Ghostscript
zugferd.ps
的程序,但它一直抛出此错误。
Unrecoverable error: rangecheck in .putdeviceprops
我正在关注 Ghostscript 的 官方指南。
这是我正在运行的 GS 命令:
gs --permit-file-read=/Users/myname/Documents/einvoicing/ -sPDFACompatibilityPolicy=1 \
-sDEVICE=pdfwrite -dPDFA=3 -sColorConversionStrategy=RGB \
-sZUGFeRDXMLFile=/Users/myname/Documents/einvoicing/invoice.xml \
-sZUGFeRDProfile=/Users/myname/Documents/einvoicing/AdobeRGB1998.icc \
-sZUGFeRDVersion=2p1 -sZUGFeRDConformanceLevel=BASIC \
-o /Users/myname/Documents/einvoicing/zugferd.pdf \
/Users/myname/Documents/einvoicing/zugferd.ps /Users/myname/Documents/einvoicing/simple_pdf.pdf
注意我没有使用反斜杠(“\”)运行它,它只是为了可读性而放在这里。
另外值得注意的是,我在这个目录中有
AdobeRGB199.icc
和 zugferd.ps
。
我也尝试过不使用
-sPDFACompatibilityPolicy=1
标志,然后成功了,但是当我通过 Vera 验证器运行它时,它是无效的。
如果您需要更多信息,请告诉我。
最新 GS 10.04.0 和 ZUFerD 附件似乎存在问题,而之前的 10.03.1 中不存在。
已添加 PostScript 的附加控件,并且假定的覆盖被声明为
gs --permit-devices=* --permit-file-read=...............
,但这不会以与先前命令相同的方式添加 XML。
对于 Windows 用户来说,应该有更完整的工作示例。
gs[win##c].exe --permit-devices=* ^
--permit-file-read=C:/Users/myname/Documents/einvoicing/ ^
-sDEVICE=pdfwrite -dPDFA=3 -dPDFACompatibilityPolicy=2 ^
-sColorConversionStrategy=RGB ^
-sZUGFeRDXMLFile=C:\Users\myname\Documents\einvoicing\invoice.xml ^
-sZUGFeRDProfile=C:\Users\myname\Documents\einvoicing\srgb.icc ^
-o C:\Users\myname\Documents\einvoicing\zugferd.pdf ^
C:\Users\myname\Documents\einvoicing\zugferd.ps ^
C:\Users\myname\Documents\einvoicing\simple_pdf.pdf