PDF sur Linux: Combinez des sous-ensembles de fonts et remplacez Type 3 par Type 1

J’ai un fichier PDF que je voudrais post-traiter sur Linux. En particulier je voudrais:

  • Remplacez les fonts de type 3 par des fonts de type 1
  • Remplacez plusieurs sous-ensembles de la même police par un seul sous-ensemble (les sous-ensembles résultent de l’inclusion de chiffres dans LaTeX, où chaque chiffre contient une police sous-définie)

Avec Windows, ces deux étapes sont possibles avec Adobe Distiller (ouvrez le fichier de document et imprimez-le dans un nouveau document PDF avec les parameters correspondants).

Sous Linux, je suis capable de sous-définir les fonts avec Ghostscript [1] , mais il ne semble pas pouvoir remplacer (toutes?) Les fonts Type 3 par des fonts Type 1 ou pour combiner plusieurs sous-ensembles de la même police.

Des astuces pour réaliser ces deux tâches avec des outils gratuits?

(Je suis au courant de la réponse à Comment convertir une police de type 3 en police de caractères de type 1 en PDF . Cependant, je ne me soucie pas vraiment de perdre théoriquement des informations sur la police, car cette conversation semble fonctionner correctement dans Distiller).


[1] Avec les arguments:

gs -dPDFA -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH \ -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \ -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 \ -dMaxSubsetPct=100 -dSubsetFonts=true \ -dEmbedAllFonts=true -sOutputFile=/tmp/tmp.pdf -f "$1" 

D’une manière ou d’une autre, je doute de votre affirmation “Avec Windows, ces deux étapes sont possibles avec Adobe Distiller” . Je devrais voir de mes propres yeux que cela fonctionne avant que je puisse y croire. Cela est particulièrement vrai pour “remplacer plusieurs sous-ensembles de la même police par un seul sous-ensemble” . (Mais je ne suis pas en mesure de vérifier ou de falsifier la déclaration moi-même en ce moment… alors je vais juste le prendre pour un fait pour le moment.)

Les fonts de type 3 sont décrites dans une version complète de PostScript. Les fonts de type 1 sont décrites en utilisant un sous-ensemble du langage PostScript.

Les remplacements de fonts incorporées sont une tâche non sortingviale lors du traitement de fichiers PDF. Je ne suis pas familier avec un utilitaire lié à Ghostscript qui pourrait le faire.

callassoftware.com possède un utilitaire de ligne de commande très puissant appelé pdfToolbox CLI 4 . Il est disponible pour Windows, Linux, Mac OS X et Solaris. pdfToolbox4 est capable de réaliser pratiquement tout ce que vous pouvez imaginer dans les tâches de contrôle en amont des fichiers PDF . Cela inclut la désintégration de sous-ensembles de fonts et leur réinsertion avec leurs ensembles complets (faites-le en deux étapes distinctes pour obtenir le résultat souhaité).

C’est à peu près le seul outil auquel je peux penser qui pourrait vous aider. (BTW, une partie de la technologie de contrôle en amont PDF de callas est autorisée par Adobe à poser dans Acrobat 9 Pro comme son propre outil de contrôle en amont …)