em resumo:
Para saber se já está comprimido:
strings your.pdf | grep /Filter
Para (un) compactar um PDF, use QPDF
qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf
explicação:
A palavra-chave "Filtro" dentro de um arquivo pdf é um indicador do método de compactação usado. Alguns deles são:
CCITT G3/G4 – used for monochrome images
JPEG – a lossy algorithm that is used for images
JPEG2000 – a more modern alternative to JPEG, which is also used for compressing images
Flate – used for compressing text as well as images
JBIG2 – an alternative to CCITT compression for monochrome images
LZW – used for compressing text as well as images but getting replaced by Flate
RLE – used for monochrome images
ZIP – used for grayscale or color images
(copiado de aqui ).
No entanto, dada a complexa estrutura de arquivos PDF, na maioria das vezes alguma parte (ou "stream") do PDF será compactada de alguma forma (e aparecerá quando grepping / Filter) enquanto outra parte não será Portanto, não há resposta SIM / NÃO à pergunta sobre se o PDF está compactado.
Uma maneira de superar isso seria adicionar a opção -c
ao grep, que retorna o número de ocorrências, assim você pode ver relativamente quão bem ela é compactada. por exemplo, se strings
"large
.pdf" | grep -c /Filter
retornar menos de 10, ela é bastante não compactada.
Outra propriedade relacionada ao tamanho em PDFs é se eles foram otimizados para acesso rápido, com os PDFs "otimizados" sendo maiores em tamanho, para citar wikipedia :
There are two layouts to the PDF files—non-linear (not "optimized") and linear ("optimized"). Non-linear PDF files consume less disk space than their linear counterparts, though they are slower to access because portions of the data required to assemble pages of the document are scattered throughout the PDF file. Linear PDF files (also called "optimized" or "web optimized" PDF files) are constructed in a manner that enables them to be read in a Web browser plugin without waiting for the entire file to download, since they are written to disk in a linear (as in page order) fashion. PDF files may be optimized using Adobe Acrobat software or QPDF.
Você pode verificar se o PDF está otimizado usando pdfinfo your.pdf
.