GhostScript:将 PDF 字体渲染为字形 - 因“无法找到 default_gray.icc”而中止

GhostScript:将 PDF 字体渲染为字形 - 因“无法找到 default_gray.icc”而中止

这个脚本曾经对我有用,它将 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 有颜色。我不想转换任何颜色空间等。)

答案1

这实际上是在一个问题中回答的堆栈溢出

ps2write该设备现在被称为。

更改pswrite可修复ps2write该问题。

相关内容