in breve:
Per sapere se è già compresso:
strings your.pdf | grep /Filter
Per (annullare) la compressione di un PDF, utilizzare QPDF
qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf
spiegazione:
La parola chiave "Filtro" all'interno di un file pdf è un indicatore del metodo di compressione utilizzato. Alcuni di loro sono:
CCITT G3 / G4 - utilizzato per le immagini monocromatiche
JPEG - un algoritmo con perdita di dati che viene utilizzato per le immagini
JPEG2000 - un'alternativa più moderna a JPEG, che viene anche utilizzata per comprimere le immagini
Flate - utilizzata per comprimere sia il testo che le immagini
JBIG2 - un'alternativa a Compressione CCITT per immagini monocromatiche
LZW - utilizzata per la compressione di testo e immagini ma sostituita da Flate
RLE - utilizzata per immagini monocromatiche
ZIP - utilizzata per immagini in scala di grigi o a colori
(copiato da qui ).
Tuttavia, data la complessa struttura del file PDF, la maggior parte delle volte una parte (o "stream") del PDF verrà già compressa in qualche modo (e verrà visualizzata quando si esegue il grepping / filtro) mentre un'altra parte non lo sarà, quindi non esiste una risposta SÌ / NO alla domanda se il PDF è compresso.
un modo per ovviare a questo sarebbe aggiungere l' -c
opzione a grep, che restituisce il numero di occorrenze, in modo da poter vedere relativamente quanto è compresso. per esempio, se restituisce meno di 10 è piuttosto non compresso.strings
"large
.pdf" | grep -c /Filter
Un'altra proprietà relativa alle dimensioni nei PDF è se sono stati ottimizzati per un accesso rapido, con PDF "ottimizzati" di dimensioni maggiori, per citare da Wikipedia :
Esistono due layout per i file PDF: non lineare (non "ottimizzato") e lineare ("ottimizzato"). I file PDF non lineari consumano meno spazio su disco rispetto alle loro controparti lineari, sebbene abbiano un accesso più lento poiché parti dei dati necessari per assemblare le pagine del documento sono sparse in tutto il file PDF. I file PDF lineari (detti anche file PDF "ottimizzati" o "ottimizzati per il Web") sono costruiti in modo da consentire la lettura in un plug-in del browser Web senza attendere il download dell'intero file, poiché sono scritti su disco in un moda lineare (come in ordine di pagina). I file PDF possono essere ottimizzati utilizzando il software Adobe Acrobat o QPDF.
Puoi controllare se il PDF è ottimizzato usando pdfinfo your.pdf
.
file
. Dovrebbe mostrare se il file è compresso o meno.