en bref:
Pour savoir s'il est déjà compressé:
strings your.pdf | grep /Filter
Pour ( dé ) compresser un PDF, utilisez QPDF
qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf
explication:
Le mot-clé "Filter" dans un fichier pdf est un indicateur de la méthode de compression utilisée. Certains d'entre eux sont:
CCITT G3 / G4 - utilisé pour les images monochromes
JPEG - un algorithme avec perte utilisé pour les images
JPEG2000 - une alternative plus moderne au JPEG, qui est également utilisé pour compresser les images
Flate - utilisé pour compresser le texte ainsi que les images
JBIG2 - une alternative à Compression CCITT pour les images monochromes
LZW - utilisé pour compresser le texte ainsi que les images mais remplacé par Flate
RLE - utilisé pour les images monochromes
ZIP - utilisé pour les images en niveaux de gris ou en couleur
(copié d' ici ).
Cependant, étant donné la structure complexe des fichiers PDF, la plupart du temps, une partie (ou un "flux") du PDF sera déjà compressé d'une certaine manière (et s'affichera lors de la réception / filtrage) tandis qu'une autre partie ne le sera pas, donc il n'y a pas de réponse OUI / NON à la question de savoir si le PDF est compressé.
une façon de résoudre ce problème serait d'ajouter l' -c
option à grep, qui renvoie le nombre d'occurrences, de sorte que vous pouvez voir relativement bien la compression. par exemple, si renvoie moins de 10, il est assez non compressé.strings
"large
.pdf" | grep -c /Filter
Une autre propriété relative à la taille des PDF est de savoir s'ils ont été optimisés pour un accès rapide, les PDF "optimisés" étant de plus grande taille, pour citer wikipedia :
Les fichiers PDF comportent deux dispositions: non linéaire (non "optimisée") et linéaire ("optimisée"). Les fichiers PDF non linéaires consomment moins d'espace disque que leurs homologues linéaires, bien qu'ils soient plus lents à accéder car des parties des données requises pour assembler les pages du document sont dispersées dans le fichier PDF. Les fichiers PDF linéaires (également appelés fichiers PDF "optimisés" ou "optimisés pour le Web") sont construits de manière à pouvoir être lus dans un plug-in de navigateur Web sans attendre le téléchargement du fichier entier, car ils sont écrits sur le disque dans un mode linéaire (comme dans l'ordre des pages). Les fichiers PDF peuvent être optimisés à l'aide du logiciel Adobe Acrobat ou QPDF.
Vous pouvez vérifier si le PDF est optimisé à l'aide de pdfinfo your.pdf
.
file
. Il doit indiquer si le fichier est compressé ou non.