Инвертировать цвета в целом PDF (конвертирование)

Как создать pdf с инвертированными цветами оригинального?

(Подобно инвертированию всего экрана с помощью xcalib -i -a )

Предпочтительно: не потерять гиперссылки. Но это не требование. Было бы неплохо, если бы изображения также инвертировались.

Некоторое время назад я смог найти способ инвертировать файлы postscript (хотя для некоторых файлов это не удалось, я думаю, те, которые каким-то образом переопределяют это изменение).

Добавление {1 exch sub} settransfer в качестве первой команды в файле приведет к инвертированию цветов документа (включая растровые изображения).

Для преобразования PDF → pdftops вы можете использовать pdftops из libpoppler ( libpoppler , ghostscript pdf2ps генерирует субоптимальные результаты). К сожалению, это не будет сохраняться при создании PDF-файла из файла с отступами, отменяемого в настоящее время.

Обратите внимание, что некоторые зрители в формате PDF имеют возможность инвертировать цвета, такие как xpdf (который не инвертирует растровые изображения) и evince (который инвертирует все, по-видимому, независимо от формата (PDF, postscript, djvu, …)

Я сфальсифицировал скрипт Ruby (используя Inkscape и ImageMagick как подпрограммы) pdfinvert . Это происходит следующим образом:

  1. Разделите PDF на отдельные страницы.
  2. Преобразование каждой страницы в SVG.
  3. Инвертировать цвета¹ в SVG; встроенные изображения PNG позаботились.
  4. Переконвертируйте каждую страницу в PNG.
  5. Соедините страницы для окончательного результата.

Он был разработан для чертежей, но он может работать во многих других случаях (кажется, нужны некоторые расширения для работы с неокрашенными фонами).


  1. Вы также можете указать таблицу замены цветов.
  2. Этот подход, вероятно, распространяется на JPG или любой другой формат, с которым может convert ImageMagick.