Je viens d'apprendre que les fichiers PDF peuvent être compressés pour réduire la taille de leur disque.
- Je me demandais comment savoir si un fichier PDF avait déjà été compressé?
- Quelles applications / commandes peuvent être utilisées pour compresser ou décompresser un fichier PDF?
Mon environnement est Linux Ubuntu 10.10.
Certaines tentatives ne donnent pas de résultats satisfaisants:
Voici les résultats de l'essai
pdftk
:$ pdftk 3.pdf output 5.pdf uncompress $ pdftk 3.pdf output 3comp.pdf compress $ ls -l 3.pdf 3comp.pdf 5.pdf -rwxrwx--- 1 root plugdev 8652269 2011-07-30 12:27 3comp.pdf -rwxrwx--- 1 root plugdev 8652319 2011-07-29 22:15 3.pdf -rwxrwx--- 1 root plugdev 16829828 2011-07-30 12:27 5.pdf
Les propriétés des fichiers montrent que tous ne sont pas optimisés.
Résultats de la conversion en ps puis de nouveau en pdf:
$ pdf2ps 3.pdf 3.ps $ ps2pdf 3.ps 3c.pdf $ ls -l 3.pdf 3.ps 3c.pdf -rwxrwx--- 1 root plugdev 8808946 2011-07-30 13:14 3c.pdf -rwxrwx--- 1 root plugdev 8652319 2011-07-29 22:15 3.pdf -rwxrwx--- 1 root plugdev 122375966 2011-07-30 13:14 3.ps
file
. Il doit indiquer si le fichier est compressé ou non.$file 3.pdf
est3.pdf: PDF document, version 1.4
Réponses:
en bref:
Pour savoir s'il est déjà compressé:
strings your.pdf | grep /Filter
Pour ( dé ) compresser un PDF, utilisez QPDF
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:
(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 :
Vous pouvez vérifier si le PDF est optimisé à l'aide de
pdfinfo your.pdf
.la source
qpdf
etpdftk
font plus ou moins la même chose en ce qui concerne la compression, maisqpdf
peuvent également optimiser (et bien d'autres choses).pdftk est un outil pour effectuer certaines opérations sur les fichiers PDF, comme la compression / décompression:
la source
pdfinfo file.pdf
vous indique si un PDF est optimisé . Cependant, je ne sais pas si cela signifie compressé ou non.J'ai trouvé la méthode de compression dans le fichier pdf. Ouvrez le PDF avec l'éditeur de texte. Exécutez un CCITT de recherche ou de recherche s'il n'est pas trouvé, entrez JPEG, puis Flate, puis JBIG2, puis LZW, puis RLE, puis ZIP.
Ça a l'air pire que ça! Très facile à trouver la méthode de compression du flux de données.
la source
Vérifiez simplement ses propriétés; il dira si le fichier est compressé ou non.
la source