Make CutePDF incorpora imagens em tons de cinza como JPEG?

0

Para imprimir gráficos digitalizados em PDF, atualmente uso o CutePDF Writer . De acordo com pdfimages , nos PDFs gerados ele incorpora:

  • Imagens em preto e branco (1 bit) como: compactado sem perdas

  • Imagens em escala de cinza (8 bits) como: compactadas sem perdas

  • Imagens em cores reais (24 bits) como: JPEG

O resultado é que os documentos em escala de cinza geralmente são maiores do que suas contrapartes coloridas.

É possível fazer o CutePDF incorporar imagens em tons de cinza como imagens JPEG?

Idealmente, também há uma opção para configurar a taxa de compactação.

Atualizar

Seguindo a sugestão do @Rik, editei %programfiles%\Acro Software\CutePDF Writer\PDFWrite.rsp . Minhas configurações:

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

O tamanho do arquivo do meu PDF de teste agora é cerca de metade comparado com o anterior, e de acordo com o Xara Xtreme 5.1 , as imagens agora estão incorporadas em um JPEG (DCTEncode), enquanto antes elas eram incorporadas com a compactação sem perdas (FlateEncode). Estranhamente, pdfimages ainda os extrai como ppm apesar da opção -j .

Também atualizei para o mais recente CutePDF Writer e para o Ghostscript 9.10 .

E, muito importante, ao imprimir, eu tenho que selecionar: imprimir como PDF Caso contrário, eu obteria novamente a codificação sem perdas (não entendo por que).

    
por feklee 21.10.2013 / 14:14

1 resposta

1

De acordo com a ajuda do CutePDF, você pode definir as opções no seguinte arquivo:
%Program Files%\Acro Software\CutePDF Writer\PDFWrite.rsp

Isso é para ajustar a qualidade geral de impressão:

Como reduzir o tamanho do arquivo PDF de saída?
Você pode alterar os parâmetros usados em um arquivo de texto %Program Files%\Acro Software\CutePDF Writer\PDFWrite.rsp . Os parâmetros chave estão na linha:

-dPDFSETTINGS=configuration

em que a configuração pode ser /screen , /printer , /prepress , /default . Usar /Printer pode reduzir o tamanho pela metade. Você pode obter mais informações aqui.

O problema com o CutePdf é que você não pode definir essas opções para compactação etc em uma GUI. (por exemplo, com PDFCreator você pode fazer isso) Você precisa configurá-lo em PDFWrite.rsp .

No PDFWrite.rsp , você pode definir todas as opções para Ghostscript (que o CutePDF usa para criar o PDF). Há muito de opções para compressão e downscaling etc. Você pode encontrar as opções aqui .

Por exemplo:

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

Você precisa descobrir quais são as melhores configurações para seus documentos.

Apenas para sua referência: o PDFCreator usa as seguintes opções padrão. Talvez algumas dessas opções sejam mais adequadas do que o CutePDF oferece (você precisa tentar quais): (Ou você pode tentar PDFCreator para si mesmo se fizer um trabalho melhor). PS. Sempre certifique-se de desmarcar qualquer software de terceiros durante a instalação do software livre (se você não quiser) .

-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

Editar :

Você também não deve usar -dAutoFilterGrayImages = false ??

Com -dAutoFilterGrayImages = true (padrão), ele retornará ao que encontrar melhor.

Eu encontrei esta nota em algum lugar:

(note 1) Currently, AutoFilterxxxImages doesn't examine the image to decide between JPEG and LZW or Flate compression: it always uses Flate compression. If you want to force JPEG compression, use -dAutoFilterxxxImages=false.

    
por 21.10.2013 / 14:44