Для печати отсканированной графики в PDF в настоящее время я использую CutePDF Writer. Согласно pdfimages, в сгенерированные PDF-файлы встраивается:

  • Черно-белые изображения (1 бит) как: сжатые без потерь

  • Изображения в оттенках серого (8 бит) как: сжатые без потерь

  • Истинные цветные изображения (24 бита) как: JPEG

В результате документы в оттенках серого часто больше, чем их цветные аналоги.

Можно ли заставить CutePDF вставлять изображения в градациях серого как изображения JPEG?

В идеале также есть возможность настроить степень сжатия.

Обновить

Следуя предложению @Rik, я отредактировал %programfiles%\Acro Software\CutePDF Writer\PDFWrite.rsp . Мои настройки:

-sDEVICE=pdfwrite
-q
-dAutoRotatePages=/All
-dCompatibilityLevel=1.4
-dNOPAUSE
-dBATCH
-dMonoImageFilter=/FlateEncode
-dEncodeMonoImages=true
-dGrayImageFilter=/DCTEncode
-dEncodeGrayImages=true
-dColorImageFilter=/DCTEncode
-dEncodeColorImages=true

Размер файла моего тестового PDF теперь примерно вдвое меньше, чем раньше, и, согласно Xara Xtreme 5.1, теперь изображения встроены в JPEG (DCTEncode), тогда как до этого они были встроены со сжатием без потерь (FlateEncode). Как ни странно, pdfimages прежнему извлекает их как ppm несмотря на параметр -j .

Я также обновился до последней версии CutePDF Writer и до Ghostscript 9.10.

И, что очень важно, при печати я должен выбрать: печатать как PDF. В противном случае я бы снова получил кодировку без потерь (я не понимаю, почему).

1 ответ1

1

В соответствии с помощью CutePDF вы можете установить параметры в следующем файле:
%Program Files%\Acro Software\CutePDF Writer\PDFWrite.rsp


Это для регулировки общего качества печати:

Как уменьшить размер выходного PDF файла?
Вы можете изменить параметры, используемые в текстовом файле %Program Files%\Acro Software\CutePDF Writer\PDFWrite.rsp . Основные параметры в строке:

-dPDFSETTINGS=configuration

где конфигурация может быть /screen , /printer , /prepress , /default . Использование /Printer может сократить размер вдвое. Вы можете получить больше информации здесь.


Проблема с CutePdf заключается в том, что вы не можете установить эти параметры для сжатия и т.д. В графическом интерфейсе. (например, с помощью PDFCreator вы можете сделать это). Вам нужно установить его в PDFWrite.rsp .

В PDFWrite.rsp вы можете установить все параметры, которые вы бы использовали для Ghostscript (который CutePDF использует для создания PDF). Есть много вариантов сжатия и уменьшения масштаба и т.д. Вы можете найти эти варианты здесь.

Например:

-dGrayImageDownsampleType=/Average 
-dGrayImageResolution=72
-dEncodeGrayImages=true
-dAutoFilterGrayImages=true

Вам необходимо выяснить, какие настройки лучше всего подходят для ваших документов.

Просто для справки: PDFCreator использует следующие стандартные параметры. Может быть, некоторые из этих вариантов лучше подходят, чем то, что дает вам CutePDF (вам нужно попробовать, какие из них): (Или вы можете попробовать PDFCreator для себя, если он лучше работает). PS. Обязательно отмените выбор любого стороннего программного обеспечения во время установки бесплатного программного обеспечения (если оно вам не нужно).

-q
-dNOPAUSE
-dBATCH
-sFONTPATH=C:\Windows\Fonts
-sDEVICE=pdfwrite
-dPDFSETTINGS=/default
-dCompatibilityLevel=1.3
-dProcessColorModel=/DeviceCMYK
-dAutoRotatePages=/PageByPage
-dCompressPages=true
-dEmbedAllFonts=true
-dSubsetFonts=true
-dMaxSubsetPct=100
-dConvertCMYKImagesToRGB=false
-dEncodeColorImages=true
-dAutoFilterColorImages=true
-dEncodeGrayImages=true
-dAutoFilterGrayImages=true
-dEncodeMonoImages=true
-dMonoImageFilter=/CCITTFaxEncode
-dDownsampleMonoImages=false
-dPreserveOverprintSettings=true
-dUCRandBGInfo=/Preserve
-dUseFlateCompression=true
-dParseDSCCommentsForDocInfo=true
-dParseDSCComments=true
-dOPM=0
-dOffOptimizations=0
-dLockDistillerParams=false
-dGrayImageDepth=-1
-dASCII85EncodePages=false
-dDefaultRenderingIntent=/Default
-dTransferFunctionInfo=/Preserve
-dPreserveHalftoneInfo=false
-dDetectBlends=true

Редактировать:

Не следует ли вам также использовать -dAutoFilterGrayImages = false ??

С -dAutoFilterGrayImages = true (по умолчанию) он вернется к тому, что найдет лучше всего.

Я нашел эту записку где-то:

(примечание 1) В настоящее время AutoFilterxxxImages не проверяет изображение для выбора между сжатием JPEG и LZW или Flate: оно всегда использует сжатие Flate. Если вы хотите принудительно сжать JPEG, используйте -dAutoFilterxxxImages = false.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .