Encontrando resolução de imagem em arquivo PDF?

11

Eu tenho um problema em ter alguns usuários criando PDFs muito grandes. Por outro lado, tenho PDF enviado de nossos aparelhos de fax que são realmente pequenos em tamanho e totalmente imprimíveis. Minha pergunta é

  • Existe alguma maneira de encontrar a resolução (DPI) do PDF. Eu pesquiso na internet, não consegui encontrar nenhuma resposta. Verifiquei as propriedades do arquivo, esta informação não foi armazenada lá, pelo menos no meu caso.
  • Qual é a resolução ideal para converter o arquivo de texto em PDF de imagem. 96dpi, 300dpi ou mais?
  • Pergunta divertida. Posso redimensionar um PDF que foi digitalizado com alta resolução em dpi menor?

Sei que algumas respostas podem não estar disponíveis, pois já pesquisei na internet e não encontrei respostas.

Nota: Meu PDF é inteiramente imagens, texto para imagens. Eu também estou familiarizado com o primoPDF (gratuito), algo que você pode experimentar com

    
por hk_ 21.11.2011 / 17:22

6 respostas

12

A resposta de slhck e o comentário de Scruss merecem ser atualizados: pdfimages now (pelo menos desde a versão 0.26.5) lista explicitamente x-ppi e y-ppi . Aqui está um exemplo de saída:

$ pdfimages -list example.pdf 
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    2244  2244  cmyk    4   8  image  no       215  0   301   301  418K 2.1%
   2     1 image     900   600  rgb     3   8  image  no       324  0  1524  1525 35.5K 2.2%

No Debian (Wheezy) e Fedora (23), pdfimages é parte de poppler-utils packages.

    
por 16.10.2016 / 19:08
8

Eu sei que você não quer extrair os dados da imagem, mas esta é provavelmente a única maneira de descobrir a resolução original.

No * nix, se você tiver o identify e Xpdf instalado 1 :

pdfimages -j test.pdf test && for file in $(find . -name "test*.jpg"); do identify "$file"; done

Onde test.pdf é seu PDF de entrada. Os arquivos de saída são gravados em test-000.jpg , test-001.jpg , et cetera. Isso forneceria o tamanho original de todas as imagens contidas desse PDF 2 .

Exemplo de saída para um arquivo PDF que contém apenas uma imagem grande:

./test-000.jpg JPEG 2500x1961 2500x1961+0+0 8-bit DirectClass 1.022MB 0.000u 0:00.000

1) O Windows também, mas o script seria diferente, claro.
2) Observe que as imagens não contêm informações de DPI. Simplesmente falando: isso é apenas algo usado para impressão e as imagens não precisam de uma medida inerente de DPI.

What is the optimum resolution of converting text file into image PDF. 96dpi, 300dpi or more?

Geralmente, tudo o que você deseja imprimir deve ser de 300 dpi ou mais. A maioria das impressoras também lidará com uma resolução maior.

    
por 21.11.2011 / 17:49
3

Por alguma razão, a versão mais recente do pdfimages que eu posso atualizar no meu CentOS é a versão 3.04.

Então, eu não tenho a opção -list como declarado por respostas anteriores. No entanto, a imagem de teste criada a partir de imagens em pdf com base na resposta de slhck contém a resposta desejada!

identify -verbose test-0000.jpg | mais

Image: test-0000.jpg  
Format: JPEG (Joint Photographic Experts Group JFIF format)  
Mime type: image/jpeg  
Class: DirectClass  
Geometry: 6600x5100+0+0  
Resolution: 600x600  
Print size: 11x8.5

Assim, o dpi é mostrado explicitamente na sexta linha usando a opção -verbose no comando de identificação.

Assim, a resposta do slhck pode ser modificada para o seguinte.

pdfimages -j test.pdf teste & & para o arquivo em $ (find. -name "test * .jpg"); identificar -verbose "arquivo $" | awk 'NR == 6'; feito

Em outra nota, tentei executar

identificar -verbose test.pdf

Format: PDF (Portable Document Format)  
Mime type: application/pdf  
Class: DirectClass  
Geometry: 792x612+0+0  
Resolution: 72x72  
Print size: 11x8.5  

Parece que o Imagemagick sempre assume 72dpi e, portanto, as informações impressas aqui parecem estar incorretas.

    
por 25.02.2017 / 17:00
1

Um arquivo PDF não possui uma resolução inerente, cada imagem raster dentro dele (se houver) terá sua própria resolução. Não conheço uma maneira simples de extrair um único número para a resolução média / modal de XObjects de imagem incorporada.

    
por 21.11.2011 / 17:33
1

Isso funcionou com um pdf gerado a partir de um mfp da Kyocera ...

  1. Abra o pdf com o Reader -
  2. Arquivo> Propriedades - guia Descrição - Tamanho da página. Meu exemplo disse 8.5x11.0 in.

  3. Abra o pdf com um editor de texto (bloco de notas), procure por /width e /height

  4. Pegue a altura e a largura e divida-as pela altura e largura da página (em polegadas)

Exemplo:

5100/8.5=600
6600/11.0=600

Meu PDF foi digitalizado com uma resolução de 600x600.

    
por 14.06.2017 / 20:24
0

Para responder ao seu segundo ponto, além da menção @slhck sobre dpi da impressora, 300dpi é também o número mínimo recomendado para o OCR com tamanhos de fonte de 10 + pt.

Além disso, uma moderna tela de laptop de 15 "4K também tem apenas 280PPi, então se você quiser ver um A4 inteiro na tela (paisagem) não há ponto de digitalização maior que ~ 320 dpi, porque qualquer documento maior que que será reduzido. Claro, isso não importa se você pretende aumentar o zoom, então você pode precisar de mais dpi.

Para responder aos seus outros dois pontos, hoje em dia, pelo menos, você pode usar o Acrobat Pro para verificar o DPI e a resolução da imagem, e também pode editá-lo.

    
por 28.07.2017 / 04:46