Qual é a resolução de um arquivo PDF digitalizado?

Qual é a resolução de um arquivo PDF digitalizado?
  1. Digitalizei alguns documentos usando um scanner Canon, com resolução especificada como 300.

    Salvei em um arquivo pdf Depois verifiquei a resolução do arquivo pdf, pelo ImageMagick

    identify -verbose my.pdf
    

    Na saída ele retorna, para cada página diz

    Resolution: 72x72
    

    que não é 300 que especifiquei anteriormente com o scanner. Por que é diferente? Nota: O mesmo problema se eu o salvasse como um arquivo jpg e se eu usasse um Xerox WorkCenter.

  2. Quando uso o Adobe Premium Pro para fazer OCR em meu arquivo PDF, ele me permite especificar para qual resolução o arquivo PDF será reduzido a partir de várias opções (72, 300, 600). Se eu não quiser que o arquivo PDF OCR tenha uma resolução menor que o arquivo PDF original, como posso saber a resolução do arquivo PDF e qual opção de resolução devo escolher para OCR no Adobe Premium Pro?

Obrigado.

Responder1

PDF é um documento gráfico vetorial. Pode ser renderizado em qualquer resolução.

Uma imagem raster incorporada em um documento PDF (como é típico de um documento digitalizado básico) normalmente terá uma resolução (quantos pixels em uma polegada do documento quando impresso em papel). Um desses documentos PDF pode ter várias dessas imagens (se for um documento de várias páginas), possivelmente com diferentes resoluções e orientações.

Não é isso que identify -vrelata o ImageMagick. Esses 72 dpi é a resolução usada para converter o PDF em uma imagem raster, a fim de relatar informações de pixel sobre ele.

Você notará que ele realmente funciona: gs ... -r72x72 ...para isso.

pdfimagespode relatar todas as imagens raster em um documento PDF:

$ pdfimages -list scan.pdf
page   num  type   width height color comp bpc  enc interp  object ID
---------------------------------------------------------------------
   1     0 image    1219  1707  rgb     3   8  jpeg   no         8  0
$ qpdf --show-pages --with-images scan.pdf
page 1: 3 0 R
  images:
    /Im0: 8 0 R, 1219 x 1707
  content:
    4 0 R

Isso fornece o tamanho em pixels, mas não o tamanho (in mmou inch) da caixa em que a imagem seria impressa, portanto você não obterá a resolução disso.

A partir do ID do objeto ( 8 0acima), você pode descobrir a dimensão do contêiner:

$ mutool show scan.pdf grep | grep 'Im0 8 0'
scan.pdf:3: <</Contents 4 0 R/CropBox[0 0 595 842]/MediaBox[0 0 595 842]/Parent 2 0 R/Resources<</XObject<</Im0 8 0 R>>/ProcSet 6 0 R>>/Thumb 11 0 R/Type/Page>>

Então, aqui sabemos que a imagem é renderizada em 595x842 pt (um ponto sendo 1/72 polegada).

Portanto, podemos derivar a resolução xey:

$ echo "$((1219 * 72 / 595))dpi" "$((1707 * 72 / 842))dpi"
147dpi 145dpi

Observe que quando incorporadas como JPG, as imagens podem ter um cabeçalho EXIF ​​que especifica a resolução.

Você pode extrair as imagens para descobrir isso:

$ exiftool -XResolution -YResolution <(qpdf --show-object=8 --raw-stream-data scan.pdf)
X Resolution                    : 72
Y Resolution                    : 72

Aqui eles não combinam.

Você também pode extrair as imagens e pdfimagespassá-las para o seu OCR, para que ele não precise decidir sobre uma resolução antes de se converter em uma imagem raster.

informação relacionada