Войти

Показать полную графическую версию : Цветной PDF -> ч/б PDF (Ghostscript, Imagemagick, etc.)


DJ Mogarych
07-07-2020, 13:49
Не знаю, правильно ли я запостил сюда, но вопрос всё равно связан со скриптами.

Кто-нибудь имел дело с Ghostscript? Как в современной его версии сделать из цветного PDF чёрно-белый? Прошу обратить внимание - не оттенки серого, а именно ч/б (1-bit).
В старых версиях это делалось сначала конвертацией в Postscript, затем в PDF:

# -> black and white
# PDF -> PS mono
& "$GhostScript" -q -o "$bwFilePS" `
-sDEVICE=psmono `
-f "$inputFile"
# PS mono -> PDF mono
& "$GhostScript" -q -o "$bwFile" `
-sDEVICE=pdfwrite `
-c '/osetrgbcolor {/setrgbcolor} bind def /setrgbcolor {pop [0 0 0] osetrgbcolor} def' `
-f "$bwFilePS"

Но в новых версиях девайс psmono убрали, и как теперь делать ч/б, непонятно. К тому же, через psmono получается растр, а это не сказать чтобы очень хорошо выглядит.

Есть ещё Imagemagick, но под Windows входящий в его состав convert.exe не вопринимает русских имён файлов, как это лечить - непонятно. Консоль в UTF8 переключал - не помогло.

В принципе, свет клином на Ghostscript не сошёлся, подойдут любые предложения по программам конвертации/сжатию PDF, только нужно, чтобы они были бесплатными и умели управляться из командной строки.

Foreigner
07-07-2020, 16:44
convert.exe не вопринимает русских имён файлов »

Может переименовать туда-сюда? Или если convert понимает 8.3:


$SName = New-Object -ComObject Scripting.FileSystemObject
Get-ChildItem -File | Foreach-Object {

convert --что-то-там $($SName.getfile($_.fullname).ShortName)
}

Iska
07-07-2020, 22:39
Цветной PDF -> ч/б PDF »
DJ Mogarych, ФИС «ГИА и приёма» ;)?

Есть ещё Imagemagick, но под Windows входящий в его состав convert.exe не вопринимает русских имён файлов, как это лечить - непонятно. »
В свежих версиях нет convert.exe. С какими именами в кириллице проблемы?

magick.exe "Мама мыла раму.jpg" -type bilevel "Мама мыла раму 2.jpg"

DJ Mogarych
08-07-2020, 14:01
С какими именами в кириллице проблемы? »
Оказалось, что это я стормозил, проблем нет, а ImageMagick всё равно использует GhostScript при работе с PDF, поэтому GhostScript/bin надо добавлять в %PATH%, тогда всё ОК.
Я почему-то думал раньше, что ImageMagick самостоятельно работает с PDF.

Задачу решил, теперь бухгалтерия прекратит свою чудовищную практику "сжатия" файлов путём распечатывания и повторного сканирования.
Я когда узнал про это, чуть в обморок не упал. А им нормально.

Очень хороший и компактный ч/б делается так:
# black&white
& "$imageMagick" -density 150 "$inputFile" -monochrome -compress Group4 "$bwFile"

Если качества мало, увеличивайте -density.

Iska
09-07-2020, 02:21
А у меня, к сожалению, при попытке обработки pdf так:
https://i.imgur.com/PXldM1T.png
:(.

теперь бухгалтерия прекратит свою чудовищную практику "сжатия" файлов путём распечатывания и повторного сканирования.
Я когда узнал про это, чуть в обморок не упал. А им нормально. »
:).

Dreamer_UFA
09-07-2020, 07:24
Спасибо !
Вот решение которое я искал. По долгу службы отправляю множество докумнетов подписанных в ИФНС.
Требования - чб тифф, 1бит и размер не более 20 Мб. Иногда попадаются такие многостраничники .... ужс.

Онлайн конвертеры не все справляются

DJ Mogarych
09-07-2020, 09:00
Да, сжатие group4 - это прямо клад для монохромных PDF.

при попытке обработки pdf так: »
А "показать подробности проблемы"?

Iska
09-07-2020, 13:40
А "показать подробности проблемы"? »
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: magick.exe
Версия приложения: 7.0.3.10
Отметка времени приложения: 584cffd0
Имя модуля с ошибкой: MSVCR120.dll
Версия модуля с ошибкой: 12.0.21005.1
Отметка времени модуля с ошибкой: 524f83ff
Код исключения: 40000015
Смещение исключения: 0000000000074a46
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 6b50
Дополнительные сведения 2: 6b50e8a41bbf2c2410764d4013b721bb
Дополнительные сведения 3: 0e1f
Дополнительные сведения 4: 0e1f2434ca6d75c360ef1970687b753d

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt

DJ Mogarych
09-07-2020, 16:46
Попробуйте для magick.exe поставить другой режим совместимости, типа "Windows Vista".

Iska
09-07-2020, 17:30
DJ Mogarych, Вы какие ImageMagick (версия, разрядность, сборка статическая/динамическая, глубина обработки цвета) и GhostScript (версия, разрядность) пользуете?

DJ Mogarych
12-07-2020, 21:19
ImageMagick 7.0.10-23 Q16 x64
Ghostscript 9.52 x64




© OSzone.net 2001-2012