em resumo:
Para saber se já está compactado:
strings your.pdf | grep /Filter
Para (des) 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 - usado para imagens monocromáticas
JPEG - um algoritmo com perdas usado para imagens
JPEG2000 - uma alternativa mais moderna ao JPEG, que também é usada para compactar imagens
Flate - usada para compactar texto e imagens
JBIG2 - uma alternativa para Compactação CCITT para imagens monocromáticas
LZW - usada para compactar texto e imagens, mas sendo substituída pelo Flate
RLE - usada para imagens monocromáticas
ZIP - usada para imagens em escala de cinza ou coloridas
(copiado daqui ).
No entanto, dada a estrutura complexa de arquivos do PDF, na maioria das vezes, parte (ou "fluxo") do PDF já será compactada de alguma forma (e será exibida ao grepping / Filter) enquanto outra parte não será, portanto não há resposta SIM / NÃO para a pergunta se o PDF está compactado.
Uma maneira de superar isso seria adicionar a -c
opção ao grep, que retorna o número de ocorrências, para que você possa ver relativamente quão bem está compactado. por exemplo, se retornar menos de 10, será bastante não compactado.strings
"large
.pdf" | grep -c /Filter
Outra propriedade relacionada ao tamanho em PDFs é se eles foram otimizados para acesso rápido, com PDFs "otimizados" sendo de tamanho maior, para citar a wikipedia :
Existem dois layouts para os arquivos PDF - não lineares (não "otimizados") e lineares ("otimizados"). Arquivos PDF não lineares consomem menos espaço em disco que seus equivalentes lineares, embora tenham um acesso mais lento, porque partes dos dados necessários para montar as páginas do documento estão espalhadas pelo arquivo PDF. Os arquivos PDF lineares (também chamados de arquivos PDF "otimizados" ou "otimizados para a Web") são construídos de maneira a permitir que sejam lidos em um plug-in de navegador da Web sem aguardar o download do arquivo inteiro, pois eles são gravados no disco em um moda linear (como na ordem das páginas). Os arquivos PDF podem ser otimizados usando o software Adobe Acrobat ou QPDF.
Você pode verificar se o PDF está otimizado usando pdfinfo your.pdf
.
file
. Deve mostrar se o arquivo está compactado ou não.