Показать полную графическую версию : Цветной 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)
}
Цветной 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.
А у меня, к сожалению, при попытке обработки 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 так: »
А "показать подробности проблемы"?
А "показать подробности проблемы"? »
Сигнатура проблемы:
Имя события проблемы: 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".
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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.