使用GhostScript生成含彩色透明图的ZUGFeRD文档遇问题及更新反馈
问题:GhostScript生成合规ZUGFeRD文档时的透明图片兼容性问题
初始问题描述
在使用GhostScript生成合规ZUGFeRD文档时遇到以下情况:
- 客户发票中添加的带透明效果的图片或品牌Logo,其透明效果以SMask定义,且要求为DeviceGray,导致无法将文档转换为RGB。
- 执行命令:
gs -dPDFA=3 -sDEVICE=pdfwrite -dNOSAFER -sColorConversionStrategy=RGB -dPDFACompatibilityPolicy=0 -sZUGFeRDXMLFile=path_to_xml -sZUGFeRDProfile=path_to_default_rgb_icc -o output.pdf ./data/zugferd.ps input.pdf - 抛出错误:
Detected SMask which must be in DeviceGray, but we are not converting to DeviceGray, reverting to normal PDF output
- 查阅bug#707450及zugferd.ps文件后,发现
sColorConversionStrategy仅支持设置RGB、CMYK或Gray,因此推测ZUGFeRD合规文档无法使用彩色透明图片,特询问是否有遗漏的解决点。
更新反馈
根据KenS的建议升级至GhostScript最新版本10.04.0后,原错误已消失,但出现新问题:
- 遇到bug#708066中提及的问题,相关修复提交
5d9b000c70f66f5be7bfaed1f16ef4e50d820dc6尚未发布,询问该提交的发布计划。 - 使用verapdf验证文档时出现异常:
Exception: Caught unexpected runtime exception during validation caused by exception: class org.verapdf.cos.COSIndirect cannot be cast to class org.verapdf.cos.COSDictionary (org.verapdf.cos.COSIndirect and org.verapdf.cos.COSDictionary are in unnamed module of loader 'app')
因文档含敏感信息无法分享,暂无法确定是版本问题还是文档本身的问题。
内容的提问来源于stack exchange,提问作者dominic.e
相关产品推荐
相关产品推荐

