Этот скрипт работал для меня, рендерив шрифты в 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 ответ1

0

На самом деле это ответ на вопрос в Stackoverflow:

устройство называется ps2write эти дни.

Изменение pswrite для ps2write устраняет проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .