Verificar a compactação de imagem usada no documento PDF?

7

É possível descobrir quais algoritmos de compactação foram usados ​​para imagens em um documento PDF?

Shannon Matthews
fonte
Se isso incluir software pago, use o Acrobat Pro , que possui um Inspetor de objetos.
usr2564301

Respostas:

7

Você pode usar pdfimages -list $filenos sistemas Unix / Linux; no Windows, talvez você possa instalar o poppler para obter acesso à ferramenta (consulte https://en.wikipedia.org/wiki/Pdfimages ). Observe que este é um aplicativo de linha de comando, sem interface gráfica com o usuário. Sua saída será semelhante

page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    1240  1753  gray    1   8  image  no         8  0   150   150  301K  14%
   2     1 image    1240  1753  gray    1   8  image  no        22  0   150   150  281K  13%
   3     2 image    1240  1753  gray    1   8  image  no        36  0   150   150  336K  16%

Onde a enccoluna informa o algoritmo de codificação, os possíveis valores são listados na página de manualpdfimages .

azrdev
fonte
11
nota página xpdf web parece ter janelas e binários do Mac
Yorik
Aliás, fiquei confuso porque a versão do pdfimages que eu tinha não continha a opção "-list". Acontece que o projeto foi bifurcada de volta em 2011, assim que você vai querer pdfimages de Poppler, não xpdf Glyph & Cog
cavalgada
5

Tipo de.

Se você abrir um PDF em um editor de texto, encontrará uma linha como esta para cada imagem:

<</Subtype/Image/Length 7986/Filter/FlateDecode/BitsPerComponent 8/ColorSpace 34 0 R/Width 368/Height 110/Type/XObject>>stream
...

Esta imagem usa o filtro FlateDecode, "um filtro comumente usado com base no algoritmo zlib / deflate (também conhecido como gzip, mas não zip)"

<</Subtype/Image/Length 892/Filter/DCTDecode/BitsPerComponent 8/ColorSpace 34 0 R/Width 44/Height 23/Type/XObject>>stream
...

Esta imagem usa o filtro DCTDecode, "um filtro com perdas baseado no padrão JPEG"

As definições de filtro são da página Wikipedia do Portable Document Format , que possui uma lista de todos os filtros suportados.

No entanto, pode ser difícil determinar qual imagem é qual em um editor de texto - os objetos não ocorrem necessariamente em ordem de leitura. Dividir o PDF em páginas únicas pode ajudar aqui.

Acho que o Enfocus Pitstop Pro , um plug-in Acrobat, pode fornecer essas informações (juntamente com dimensões, posição, DPI etc.) em seu inspetor de objetos, mas eu não tenho mais isso e não consigo encontrar nenhuma menção a esse item específico. atributo em seu manual.

e100
fonte
11
O Acrobat também possui uma infinidade de relatórios pré-definidos. Não tenho certeza se eles estão disponíveis na versão gratuita (?)
horatio
Observe que o PNG também usa o algoritmo de compactação DEFLATE (zlib é uma implementação do DEFLATE). Então você pode pensar no primeiro exemplo como sendo como uma imagem PNG em muitos aspectos, tais como quão bem ele irá comprimir.
thomasrutter
@horatio: Eles não são. Além disso, a versão gratuita é chamada "Adobe Reader" e não "Adobe Acrobat Reader" atualmente.
e100
Eu pensei que era Acrobat X ou AcrobatZ ou algo :)
horatio
11
Sempre foi confuso. Atualmente, é o Adobe Reader X, o Adobe Acrobat X, o Adobe Acrobat X Pro. O que realmente me incomoda é quando as pessoas se referem à "Adobe" quando se referem a um único aplicativo.
e100