这个脚本曾经对我有用,它将 PDF 中的字体渲染为字形路径,这样在 Inkscape 中编辑文件时它们不会出现残缺:
#!/bin/sh
if [ "x$1" = "x" -o "x$2" = "x" ]; then
echo Usage: `basename "$0"` "<input.pdf>" "<output.pdf>" >&2
exit 1
fi
gs -sDEVICE=pswrite -dNOCACHE -sOutputFile=- -q -dbatch \
-dNOPAUSE -dQUIET "$1" -c quit | ps2pdf - "$2"
但是现在,在新电脑(Debian Stretch)上运行时会出现错误:
$ pdf-fonts-to-outlines in.pdf out.pdf
./base/gsicc_manage.c:1148: gsicc_open_search(): Could not find default_gray.icc
| ./base/gsicc_manage.c:1789: gsicc_set_device_profile(): cannot find device profile
Error: /undefined in Unknown
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1999 1 3 %oparray_pop 1998 1 3 %oparray_pop 1982 1 3 %oparray_pop 1868 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1209/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)--
Current allocation mode is local
GPL Ghostscript 9.20: Unrecoverable error, exit code 1
我该如何解决这个问题?(在这种情况下,输入的 PDF 有颜色。我不想转换任何颜色空间等。)