Преобразуйте PDF в монохром, черно-белый через командную строку

У меня есть файл 65 страниц PDF, который имеет текст темно-серого цвета. (Фактический текст, не изображение/изображение текста.) Печатающий на моем черно-белом принтере, текст становится все расплывчатым, потому что принтер пытается сделать его менее, чем черным. Я могу решить эту проблемную страницу на страницу путем импорта страниц к inkscape, выбора всех путей, нажатия на "Black", который преобразовывает все цвета включая greytones к чистому черному, и экспортирующий назад в PDF.

Существует ли способ сделать эти шаги в inkscape в командной строке (для пакетной обработки)?

Существует ли способ достигнуть того же результата (преобразуйте PDF в черно-белую, 1-разрядную шкалу полутонов) без inkscape?


Править. На Unix существуют подобные вопросы. SE и на суперпользователе, которые используют Ghostscript. Однако они только преобразовывают файлы в шкалу полутонов через опцию -sColorConversionStrategy=Gray. Опция -sColorConversionStrategy=/Mono результаты по ошибке Unrecoverable error: rangecheck in .putdeviceprops. Так как мой файл уже является шкалой полутонов, они не решают мою проблему.

2
задан 13 April 2017 в 15:37

4 ответа

Адаптируясь этот ответ на 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>
0
ответ дан 2 December 2019 в 23:23

Я записал сценарий оболочки для преобразования любого PDF в монохром т.е. в чистого черного и белый. Проверьте его и сообщите мне, сталкиваетесь ли Вы с какой-либо проблемой.

0
ответ дан 2 December 2019 в 23:23

Это то, что сработало для меня в Mint 20.04, чтобы затемнить текст PDF, пытаясь избежать относительно тяжелого продукта Adobe.

Чтобы сделать PDF-файл с серым текстом и сделать его более удобным для чтения:

  1. Преобразуйте PDF-файл в отдельные файлы изображений:

    pdftoppm input_file.pdf output_file -png -rx 300 -ry 300
    

    где -rx 300 -ry 300 — DPI.

  2. Экспортируйте страницы PDF в файлы изображений, а затем обработайте их пакетно.

    Установите XnConvert с помощью пакета .deb или с помощью Flatpak. Добавьте PDF на первой вкладке. Перейдите к ДобавитьКартаЧерные/белые точки. Белые точки должны быть выше, чем Черные точки. Поместите их как 190 и 127 соответственно (настройте оттуда).

    На вкладке вывода используйте следующее:

    • Имя файла: yourfilename
    • Формат: PDF
    • Качество: 99
    • Многостраничный: Преобразовать многостраничный файл в многостраничный файл.
  3. Установите gscan2pdf и откройте приложение. Перетащите выбранный пакет файлов из файлового менеджера на вертикальную полосу слева от приложения gscan2pdf. ФайлСохранить, выберите Понизить выборку до 150 PPI, выберите имя для нового PDF-файла с более черным текстом.


Я подозреваю, что подход Adobe Reader тоже сработает, но вот версия без продукта Adobe. С другой стороны, XnConvert кажется довольно гибким и легким. С другой стороны, я не думаю, что XnConvert имеет открытый исходный код.

1
ответ дан 7 September 2020 в 22:56
convert -colorspace GRAY color.pdf gray.pdf
-1
ответ дан 16 September 2020 в 20:02

Другие вопросы по тегам:

Похожие вопросы: