Вопрос или проблема
Мне нужно инвертировать все цвета PDF-документа (фон, текст, графика и изображения). Я хочу, чтобы это было постоянным в файле, так что инвертированные опции просмотра, которые предлагают некоторые просмотрщики, не помогут.
Растрирование документа и использование программного обеспечения для обработки изображений также не являются вариантом.
Я где-то читал, что это можно сделать с помощью плагина Enfocus PitStop для Acrobat. Однако я не увидел соответствующей команды нигде. Я что-то упустил?
Затем я читал, что плагин ARTS PDF Crackerjack для Acrobat предлагает негативную печать, поэтому я тоже попробовал это. Опция присутствует, но просто не работает.
Я очень долго искал способ сделать это. Это кажется достаточно распространенной задачей, но я просто не могу понять, как это сделать.
Может быть, есть какие-нибудь виртуальные драйверы принтера или что-то подобное, которые поддерживают негативную печать?
Может кто-то помочь?
Я собрал вместе скрипт на Ruby (используя Inkscape и ImageMagick в качестве подпрограмм) pdfinvert. Он выполняет следующие шаги:
- Разделить PDF на отдельные страницы.
- Конвертировать каждую страницу в SVG.
- Инвертировать цвета¹ в SVG; встроенные PNG-изображения обрабатываются².
- Переконвертировать каждую страницу обратно в PDF.
- Объединить страницы для получения окончательного результата.
Он был разработан для рисунков, но может работать и во многих других случаях (кажется, он требует некоторых расширений для работы с бесцветными фонами).
На данный момент это, вероятно, будет работать только на GNU/Linux (и, возможно, других Unix-подобных системах) из-за того, как вызываются сторонние инструменты, но вы можете адаптировать то, что не работает, для Windows.
- Вы также можете указать таблицу замены цветов.
- Подход, вероятно, распространяется на JPG или любой другой формат, с которым может работать
convert
от ImageMagick.
Вы пробовали:
Правка, Настройки, Доступность, затем установите флажок, который говорит о замене цветов.
Правильный ответ сегодня – это безусловно тот кросс-платформенный (включая Android) редактор PDF из командной строки, который имеет эту опцию – Artifex MuPDF.
mutool draw -I -o out.pdf in.pdf
ОДНАКО, он не всегда достигает такой функциональности из-за сложности структуры цвета PDF. Так что здесь вид тоже инвертирован.
Инверсия цветов в браузере JS, таком как DC, Chrome или Firefox, проще, так как они являются просмотрщиками, но либо все цвета инвертированы, включая изображения, либо, если изображения являются “плавающими”, только их фоны.
Инверсия цвета “Легко” во многих случаях, как простые внутренние сдвиги PDF в RGB/CMYK.
Но результаты редко считаются корректными, так как, когда все цвета инвертированы, обычные изображения также отрицательны. Здесь мы видим то же черное инвертирование, но изображения становятся СИНИМИ, инвертированными в КОРИЧНЕВЫЙ.
Таким образом, чтобы контролировать все аспекты PDF, его нужно редактировать по частям, так что тело инвертируется по цветам, но части, накладывающиеся на страницу, изменяются постепенно.
На основе скрипта @Raphael я сделал python-скрипт для инвертирования входного PDF (включая изображения, пути, текст, фон) с использованием nix flake, чтобы зависимостям было (меньше) проблем в будущем.
Но это не идеально, он зависит от inkscape, если шрифты не найдены, он конвертирует их в пути, у меня были случаи, когда изображения пропадали, и все гиперссылки исчезали.
Для конвертации PDF в SVG для их манипуляции есть и другие инструменты, такие как mupdf, которые, по моему опыту, оказались почти такими же хорошими, как inkscape, но в некоторых ситуациях терпят неудачу, или jpdf2html5, но inkscape, кажется, является одним из лучших, и, глядя на слово “pdf” в их трекере проблем, мы можем понять, насколько это может быть ненадежно. Существует также pdf2svg, но он растеризует все.
Лучший вариант, вероятно, все еще онлайн-сайты, такие как: Инвертируйте цвета в PDF, включая фон, текст и изображения
Я смог сделать это так:
скачайте PDF24 creator;
откройте свой .pdf и сохраните его как .png или .jpg;
откройте вновь созданное изображение, измените его по своему усмотрению (например, инвертируйте цвета) и сохраните;
откройте и объедините* файлы в pdf24 и сохраните их как .pdf 🙂
*плохая часть:
нужно делать страницу за страницей 🙁
хороший компромисс, чтобы сэкономить драгоценные чернила
Ответ или решение
Инверсия цветов в PDF-документе может представлять собой сложную задачу, особенно если нужно, чтобы изменения сохранялись непосредственно в файле, а не только отображались в специальных просмотрщиках. В данной статье мы рассмотрим несколько методов, как можно эффективно инвертировать цвета в PDF, включая использование программных решений и командных инструментов.
1. Использование Enfocus PitStop Pro
Enfocus PitStop Pro является профессиональным плагином для Adobe Acrobat, предназначенным для обработки PDF-файлов. Тем не менее, его возможности могут быть ограничены, когда речь идет о полной инверсии цветов. Если вы не нашли конкретной команды для инверсии цветовой схемы, стоит проверить, активированы ли все функции плагина, так как иногда их нужно вручную включить или обновить до самой последней версии.
2. Альтернативные плагины
ARTS PDF Crackerjack также предоставляет функции для негативной печати, однако пользователи сообщают о проблемах с реализацией этой функции. Если вы хотите обойти эти ограничения, может быть полезно протестировать другие плагины, такие как PDF-XChange Editor, которые предлагают более обширные инструменты редактирования.
3. Использование виртуальных принтеров
Одним из эффективных решений является использование виртуальных принтеров. Программы вроде CutePDF или PDFCreator могут помочь, если у вас есть возможность настроить параметры печати для инверсии цветов. Обратите внимание на качество получаемого результата, так как некоторые принтеры могут не поддерживать инверсию цветов должным образом.
4. Скрипты и командные инструменты
Если программные решения не подходят, можно воспользоваться скриптами и инструментами командной строки. Например, Artifex MuPDF предоставляет возможность инвертировать цвета с помощью команды:
mutool draw -I -o output.pdf input.pdf
Однако, стоит учесть, что сложная структура PDF может вызывать несоответствия в результате, и не все элементы будут обработаны корректно.
5. Персонализированные скрипты
Как одна из альтернатив, можно использовать создание пользовательских скриптов на Ruby или Python. Например, скрипт pdfinvert
, разработанный с использованием Inkscape и ImageMagick, предлагает процесс, при котором PDF разбивается на страницы, каждая страница конвертируется в SVG, а затем инвертируются цвета. Этот метод требует знаний программирования и может представлять сложности с зависимостями на различных операционных системах:
- Разделить PDF на отдельные страницы.
- Конвертировать каждую страницу в SVG.
- Инвертировать цвета в SVG, включая встроенные изображения.
- Конвертировать каждую страницу обратно в PDF.
- Объединить страницы в финальный документ PDF.
Заключение
Инверсия цветов в PDF-документе может потребовать применения различных подходов в зависимости от индивидуальных требований и обстоятельств. Если вам нужен интуитивно понятный способ сделать это с помощью существующих программ, стоит попробовать различные плагины для Adobe Acrobat или виртуальные принтеры. Если же вам интересны программные решения, разработка пользовательских скриптов может стать наиболее гибким вариантом. Для устойчивого результата рекомендовано тестировать разные методы и выбирать тот, который обеспечивает лучшую совместимость и качество выходного документа.