Après avoir parcouru la documentation officielle indigeste et en anglais du format des PDF j'ai édité le document avec notepad++ en vue hexa ou non et franchement je ne voyais rien de particulier, le marqueur de fin de fichier %%EOF était bien en fin de fichier ce qui excluait la concaténation sauvage d'une grosse masse de bits en fin de fichier.

J'ai alors recherché des éditeurs PDF, voir même un outils pour nettoyer mon PDF, c'est là que j'ai découvert une fonctionnalité qui m'était totalement inconnue, ... à savoir ... les pièces jointes ... dans un PDF !!! Et c'était l'explication de cette taille gigantesque, il y avait plusieurs autres PDF en pièces jointes dans mon document d'origine.

Maintenant que je connaissais le problème plus précisément, la solution serait facile à trouver, non ? Et bien NON ! Je n'ai pas trouvé le moindre petit outils qui enlève les pièces jointes d'un PDF et le sauve sans toucher le reste, aucun, nada ! Et pourtant j'ai cherché dans les environnements Windows et Linux, des éditeurs, et des outils.

En fait ce n'est pas tout à fait exact, quand je dis que je n'ai rien trouvé, car je cherchais une solution open-source et hors ligne. Il y a donc un certain nombre de possibilité, voir même avec des versions limitées dans le temps, mais cela ne me conviens pas.

Je suis donc retourné dans la documentation du format et j'ai bien compris qu'il me fallait juste identifier les objets contenant les pièces jointes ainsi que leur liste et d'autres bricoles. Surtout qu'il y a une sorte d'index en fin de fichier à mettre à jour ce qui fait que l'on ne peut pas détruire les objets à l'arrache. C'est peut-être pas si compliqué, mais bon ça me gonfle assez de passer trop de temps la-dessus.

J'ai donc trouvé la solution suivante (sous windows, pas vérifié sous linux):

  • j'ouvre le document PDF avec Foxit Reader
    • je supprime les pièces jointes, c'est le seul qui le permet
    • je sauve sous le même nom

à ce stade là mon fichier a toujours la même taille, c'est amusant ;-)

  • j'ouvre ce document avec Nitro Reader
    • puis je sauve sous un nouveau nom (et oui si je ne le modifie pas, l'écrasement de l'original est impossible)

et comme avant la sauvegarde il purge le PDF des objets inutiles je récupère enfin un document PDF avec une taille normale

Ouf !

Si vous aviez un petit outil open source (voir freeware) qui ferait la même chose je suis preneur :-)

Merci a+ ;-)

upDate du 13/06/2016 : Il semblerait que maintenant avec Foxit reader en faisant un "save as" après mise à la poubelle des pièces jointes, le pdf obtenu ne contienne plus les dites pièces jointes ... ;-)