La visualisation ou l’impression de documents PDF sur GNU/Linux n’est pas toujours aussi triviale qu’on pourrait le penser. Il arrive que des documents PDF soient très mal rendus à l’écran (pages blanches ou rendues partiellement). Plus fréquemment, le rendu est correct à l’écran, mais un problème similaire survient à l’impression. La source de nos ennuis semble être l’existence de plusieurs calques qui, pour des raisons que j’ignore, sont plus ou moins bien gérés par les outils tels qu’evince. Les rares fois où j’ai pu en discuter avec les auteurs des documents PDF, ceux-ci n’avaient même pas conscience d’avoir créé des calques.

Pour remédier à ce problème, il est possible de fusionner les calques, autrement dit « d’aplatir le document PDF ». Une commande efficace (traitant le problème sans dégrader la qualité) que j’ai trouvée sur le net et qui fonctionne en 2023 s’appuie sur GhostScript (commande gs) :

$ gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite -dPreserveAnnots=false -sOutputFile=output.pdf input.pdf

On trouve sur le net d’autres commandes :

  • Certaines exploitent elles aussi gs, mais avec une liste de paramètres bien plus longue : celles-ci ne fonctionnent plus avec les versions récentes de gs dont l’interface CLI a été revue en profondeur fin 2016.
  • D’autres mettent en œuvre pdftk ou pdf2ps : des utilisateurs signalent que les transformations réalisées par ces commandes dégradent fortement le rendu. Je n’ai pas pris le temps de le vérifier par moi-même.