使用工作站定制对象(WCST)在iSeries上创建PDF出现格式错误求助
IBM i V7R1 原生生成PDF未嵌入Courier字体故障解决思路
最优原生解决方案(无需升级系统、无需第三方工具)
默认*PDF参数调用的是系统自带的隐藏工作站定制对象,你可以通过修改自定义WSCST开启Courier字体嵌入,操作步骤如下:
- 导出系统默认PDF WSCST的源文件
执行命令:RTVWSCST DEVTYPE(*PRTF) WSCST(QSYS/QPDFWT) SRCFILE(你的自定义库/你的源文件库) SRCMBR(MYPDFSRC) - 编辑导出的源成员MYPDFSRC,搜索到Courier字体对应的配置段,将其中
EMBED参数的默认值从*NO修改为*YES - 编译自定义WSCST对象
执行命令:CRTWSCST WSCST(你的自定义库/MYPDFWSCST) SRCFILE(你的自定义库/你的源文件库) SRCMBR(MYPDFSRC) - 后续生成PDF时,将原参数
WSCST(*PDF)替换为WSCST(你的自定义库/MYPDFWSCST)即可,生成的PDF会自动嵌入Courier字体,可通过PDF校验工具验证合规性。
其他备选方案
- 作业字体替换:修改打印作业的默认字体,避免使用Courier字体,改用系统默认会嵌入的非Base14字体,无需修改WSCST配置
- 后处理补嵌入:对已生成的PDF,用本地PDF处理工具批量补嵌入缺失的Courier字体,适合暂时无法调整打印配置的场景
- 版本升级适配:IBM i V7R2及以上版本的系统原生
*PDF参数已支持直接配置Base14字体嵌入选项,无需自定义WSCST,待后续完成硬件升级后可直接使用系统原生配置。
内容的提问来源于stack exchange,提问作者Tony Payne
相关产品推荐
相关产品推荐

