You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ghostscript生成ZUGFeRD发票时XML未附加问题咨询

Ghostscript生成ZUGFeRD发票未附加XML的排查方案

一、命令参数的明显错误修正

  • 补全输出路径盘符:你的命令中输出路径为/users/public/gszugferd/zugausgabe.pdf,Windows系统下需指定盘符(如C:/users/public/gszugferd/zugausgabe.pdf),否则Ghostscript可能因路径识别异常,跳过XML嵌入逻辑。
  • 确认依赖文件版本匹配:确保zugferd.ps与当前使用的Ghostscript版本一致,旧版本的zugferd.ps可能不支持ZUGFeRD 2.1规范,导致XML嵌入失效。

二、XML文件的硬性要求

  • 严格符合ZUGFeRD 2.1 BASIC规范:XML必须包含正确的命名空间(如urn:zugferd:namespecification:2.1)、完整的发票结构,格式错误的XML会被Ghostscript自动跳过嵌入,可通过本地ZUGFeRD验证工具检查合规性。
  • 路径与权限确认:确保C:/users/public/gszugferd/ZUGFeRD-invoice.xml路径正确、文件存在,且运行MS Access的用户拥有该文件的读取权限。

三、PDF/A-3参数补全

生成符合ZUGFeRD要求的PDF/A-3,需补充关键参数:

  • 添加-dPDFACompatibilityPolicy=1:强制PDF/A合规性检查,避免因PDF/A转换不完整导致XML无法嵌入。
  • 核对-sZUGFeRDVersion=2p1与-sZUGFeRDConformanceLevel=BASIC:确保XML的实际合规级别与参数完全匹配,XML必须是BASIC级结构。

四、修正后的命令示例

str = "gswin64c " & _
" -dNOSAFER " & _
" -sDEVICE=pdfwrite " & _
" -dPDFA=3 " & _
" -dPDFACompatibilityPolicy=1 " & _
" -sColorConversionStrategy=RGB " & _
" -sZUGFeRDXMLFile=C:/users/public/gszugferd/ZUGFeRD-invoice.xml " & _
" -sZUGFeRDProfile=C:/users/public/gszugferd/srgb.icc " & _
" -sZUGFeRDVersion=2p1 " & _
" -sZUGFeRDConformanceLevel=BASIC " & _
" -o C:/users/public/gszugferd/zugausgabe.pdf " & _
" /users/public/gszugferd/zugferd.ps " & _
" /users/public/gszugferd/R4688.pdf "

五、验证步骤

  • 用Adobe Acrobat等阅读器打开生成的PDF,查看文档附件确认XML是否存在;
  • 运行命令时添加-dDEBUG参数,查看Ghostscript输出日志,排查XML读取或嵌入环节的错误提示。

内容的提问来源于stack exchange,提问作者PeBr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:22:43