Linux утилита командной строки для удаления цветов в файле PDF? - PullRequest
1 голос
/ 06 октября 2010

Я ищу утилиту / скрипт командной строки linux, способную удалять цвета в PDF.Вывод утилиты должен быть таким же PDF, но в оттенках серого.

Кто-нибудь знает, как это сделать?

Спасибо

1 Ответ

6 голосов
/ 10 октября 2010

Вы можете использовать Ghostscript:

gswin32c ^
  -o grayscale.pdf ^
  -sDEVICE=pdfwrite ^
  -sColorConversionStrategy=Gray ^
  -sProcessColorModel=DeviceGray ^
  -dCompatibilityLevel=1.4 ^
   c:/path/to/input.pdf 

(пример для Windows; в Linux используйте gs вместо gswin32c.exe и \ в качестве знака продолжения строки вместо ^).


Обновление

Если преобразование цветов не работает должным образом, и если вы видите сообщение типа "Невозможно преобразовать цветовое пространство в серый, возвращение стратегии в LeaveColorUnchanged" затем ...

  1. ваш Ghostscript, вероятно, является более новым выпуском из серии 9.x версий и
  2. ваш исходный PDF, вероятно, использует встроенный ICC цветовой профиль

В этом случае добавьте -dOverrideICC в командную строку и посмотрите, изменит ли он желаемый результат.


Кроме того, оригинальный ответ содержал опечатку:

  • используется -sProcessColorModel=/DeviceGray (дополнительный символ косой черты)
  • вместо -sProcessColorModel=DeviceGray (без косой черты))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...