你如何告诉ghostscript使用"后备"字体,如果找不到字体?
执行此Ghostscript命令时:
gs -q -dNOPAUSE -dBATCH -sDEVICE = pdfwrite -sOutputFile = / output.pdf /input_pdf_with_missing_font.pdf
我收到此错误:
错误:/ undefined在findresource操作数堆栈中: - dict:9/18(L) - C2_0 1 --dict:6/6(L) - --dict:6/6(L) - ArialUnicodeMS --dict:11/12(ro)(G) - --nostringval-- CIDFontObject --dict:8/8(L) - --dict:8/8(L) - Adobe-Identity Execution stack:%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2%stopped_push --nostringval-- --nostringval-- --nostringval-- false 1%stopped_push 1862 1 3%oparray_pop 1861 1 3%oparray_pop 1845 1 3%oparray_pop --nostringval---nostringval-- 2 1 3 --nntringval--%for_pos_int_continue --nostringval---nostringval---nostringval---nostringval--%array_continue --nostringval-- false 1%stopped_push --nostringval--%loop_continue --nostringval---nostringval---nostringval---nostringval---nostringval---nostringval--%array_continue - nostringval---nostringval---nostringval---nostringval---nostringval--%loop_continue字典堆栈: - dc:1149/1684(ro)(G) - --dict:1/20 (G) - --dict:75/200(L) - --dict:75/200(L) - - dict: 106/127(ro)(G) - --dict:286/300(ro)(G) - --dict:22/25(L) - - dict:4/6(L) - --dict:26/40(L) - 当前分配模式是本地上一个操作系统错误:2 GPL Ghostscript 8.70:不可恢复的错误,退出代码1
答案 0 :(得分:0)
您需要更新版本的Ghostscript(如果您说明正在使用的版本,它会对这些问题有帮助。)
您似乎使用版本8.70,现在已超过7年,当前版本为9.20。当前版本附带默认的CIDFont(您的PDF文件无法嵌入CIDFont,而不是嵌入字体)。
您必须查看Ghostscript 8.70附带的文档,了解如何定义替代资源(请参阅Ghostscript安装文件夹,然后查看' doc'子文件夹),我不记得是否当前的方法适用于这样一个古老的版本。但是,也可以找到有关CIDFont替换的当前版本文档here
答案 1 :(得分:0)
我接受了@KenS的建议,并将Ghostscript安装到了9.20(我想保留其他遗留项目的旧版本)
以下是步骤(我遵循这些instructions):
找到GS的源包:https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
运行以下命令:
cd /tmp wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/ghostscript-9.20.tar.gz tar xzf ghostscript-9.20.tar.gz cd ghostscript-9.20 ./configure --prefix=/usr/bin/gs9 make sudo make install
并运行新版本:
/usr/bin/gs9/bin/gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/some/target/file.pdf /some/source/file.php
没有更多的字体问题!!