У меня есть файл 65 страниц PDF, который имеет текст темно-серого цвета. (Фактический текст, не изображение/изображение текста.) Печатающий на моем черно-белом принтере, текст становится все расплывчатым, потому что принтер пытается сделать его менее, чем черным. Я могу решить эту проблемную страницу на страницу путем импорта страниц к inkscape, выбора всех путей, нажатия на "Black", который преобразовывает все цвета включая greytones к чистому черному, и экспортирующий назад в PDF.
Существует ли способ сделать эти шаги в inkscape в командной строке (для пакетной обработки)?
Существует ли способ достигнуть того же результата (преобразуйте PDF в черно-белую, 1-разрядную шкалу полутонов) без inkscape?
Править. На Unix существуют подобные вопросы. SE и на суперпользователе, которые используют Ghostscript. Однако они только преобразовывают файлы в шкалу полутонов через опцию -sColorConversionStrategy=Gray
. Опция -sColorConversionStrategy=/Mono
результаты по ошибке Unrecoverable error: rangecheck in .putdeviceprops
. Так как мой файл уже является шкалой полутонов, они не решают мою проблему.
Адаптируясь этот ответ на SuperUser, это может быть достигнуто путем преобразования PDF в PostScript и спину с помощью переопределенного setrgbcolor
команда:
gs -o <output-file.pdf> -sDEVICE=pdfwrite \
-c "/osetrgbcolor {/setrgbcolor} bind def /setrgbcolor {pop [0 0 0] osetrgbcolor} def" \
-f <input-file.ps>
Я записал сценарий оболочки для преобразования любого PDF в монохром т.е. в чистого черного и белый. Проверьте его и сообщите мне, сталкиваетесь ли Вы с какой-либо проблемой.
Это то, что сработало для меня в Mint 20.04, чтобы затемнить текст PDF, пытаясь избежать относительно тяжелого продукта Adobe.
Чтобы сделать PDF-файл с серым текстом и сделать его более удобным для чтения:
Преобразуйте PDF-файл в отдельные файлы изображений:
pdftoppm input_file.pdf output_file -png -rx 300 -ry 300
где -rx 300 -ry 300
— DPI.
Экспортируйте страницы PDF в файлы изображений, а затем обработайте их пакетно.
Установите XnConvert с помощью пакета .deb или с помощью Flatpak. Добавьте PDF на первой вкладке. Перейдите к Добавить → Карта → Черные/белые точки. Белые точки должны быть выше, чем Черные точки. Поместите их как 190 и 127 соответственно (настройте оттуда).
На вкладке вывода используйте следующее:
Установите gscan2pdf
и откройте приложение. Перетащите выбранный пакет файлов из файлового менеджера на вертикальную полосу слева от приложения gscan2pdf
. Файл → Сохранить, выберите Понизить выборку до 150 PPI, выберите имя для нового PDF-файла с более черным текстом.
Я подозреваю, что подход Adobe Reader тоже сработает, но вот версия без продукта Adobe. С другой стороны, XnConvert кажется довольно гибким и легким. С другой стороны, я не думаю, что XnConvert имеет открытый исходный код.
convert -colorspace GRAY color.pdf gray.pdf