Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Цветной PDF -> ч/б PDF (Ghostscript, Imagemagick, etc.) (http://forum.oszone.net/showthread.php?t=345761)

DJ Mogarych 07-07-2020 13:49 2927559

Цветной PDF -> ч/б PDF (Ghostscript, Imagemagick, etc.)
 
Не знаю, правильно ли я запостил сюда, но вопрос всё равно связан со скриптами.

Кто-нибудь имел дело с 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 2927578

Цитата:

Цитата DJ Mogarych
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 2927607

Цитата:

Цитата DJ Mogarych
Цветной PDF -> ч/б PDF »

DJ Mogarych, ФИС «ГИА и приёма» ;)?


Цитата:

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

В свежих версиях нет convert.exe. С какими именами в кириллице проблемы?

Код:

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

DJ Mogarych 08-07-2020 14:01 2927659

Цитата:

Цитата Iska
С какими именами в кириллице проблемы? »

Оказалось, что это я стормозил, проблем нет, а 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 2927721

А у меня, к сожалению, при попытке обработки pdf так:
Скрытый текст

:(.


Цитата:

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

:).

Dreamer_UFA 09-07-2020 07:24 2927734

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

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

DJ Mogarych 09-07-2020 09:00 2927741

Да, сжатие group4 - это прямо клад для монохромных PDF.

Цитата:

Цитата Iska
при попытке обработки pdf так: »

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

Iska 09-07-2020 13:40 2927762

Цитата:

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

Скрытый текст
Код:

Сигнатура проблемы:
  Имя события проблемы:        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 2927793

Попробуйте для magick.exe поставить другой режим совместимости, типа "Windows Vista".

Iska 09-07-2020 17:30 2927802

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

DJ Mogarych 12-07-2020 21:19 2928025

ImageMagick 7.0.10-23 Q16 x64
Ghostscript 9.52 x64


Время: 11:36.

Время: 11:36.
© OSzone.net 2001-