如何修复PDF中CIDSet不完整问题(PDF/A3b转换场景)
PDF转PDF/A3b时CIDSet不完整的问题解决求助
我正在尝试将普通PDF转换为PDF/A3b格式,原PDF未嵌入字体,因此使用以下GhostScript命令嵌入字体:
gs -o output.pdf -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -dEmbedAllFonts=true -dSubsetFonts=true -dCompressFonts=true input.pdf
执行命令后,PDF中的多数字体都成功嵌入,但已预先嵌入的Albany WT J字体除外。完成字体嵌入后,我用自定义脚本将文件转换为PDF/A3b,却遇到合规性检测报错:Albany WT J字体的CIDSet不完整。
根据PDF/A3b规范,CIDSet是可选项,但如果存在则必须完整。具体错误信息如下:
- Adobe预检工具:
cidset in subset font is incomplete (font contains glyphs that are not listed) - veraPDF:
If the FontDescriptor dictionary of an embedded CID font contains a CIDSet stream, then it shall identify all CIDs which are present in the font program, regardless of whether a CID in the font is referenced or used by the PDF or not.
我确认这个问题是可以修复的,因为部分在线工具能成功完成转换,推测解决思路是移除该字体的CIDSet,或者重新嵌入带有完整CIDSet的字体。
现寻求基于以下工具/技术栈的解决方案,相关线索也欢迎提供:
- GhostScript
- PDFlib
- Node.js PDF库
- 其他编程语言实现方案
内容的提问来源于stack exchange,提问作者derikS4M1
相关产品推荐
相关产品推荐

