J'ai un document PDF (non crypté) avec des champs de formulaire modifiables. Cependant, la police de ces champs est cassée: il manque des glyphes, donc quand j'entre du texte, des lacunes apparaissent.
Comment puis-je modifier le document PDF - je n'ai pas accès au document source utilisé pour le créer - pour remplacer une police différente à la place de la police cassée ?
La police en question est Caliban Regular d' Adobe , que je peux voir intégrée dans le document. Les glyphes qui s'affichent en blanc incluent «i», «T», «V»; peut-être d'autres que je n'ai pas découverts.
J'ai aussi un autre document similaire en utilisant Caliban, qui fait écran , y compris correctement les glyphes répertoriés ci - dessus cassés. Si quelqu'un peut me dire comment prendre une police d'un PDF et la remplacer par un PDF existant , ce serait une solution.
J'utilise actuellement:
- Debian GNU + Linux
- Evince (et j'ai aussi essayé Okular ) pour le visionner
- La bibliothèque Poppler pour le rendu PDF
- Emacs (ou n'importe quel éditeur de texte) pour éditer le code PDF
- pdftk et OpenOffice.org installés, si cela aide
Je serais intéressé par d'autres outils d'édition PDF gratuits ( qu'ils soient à prix zéro ou non ), s'ils peuvent m'aider dans cette tâche.
Réponses:
Il est extrêmement difficile de remplacer une police incorporée dans un PDF. Je ne connais aucun logiciel de libre-parole (sous licence GPL) ou de libre-en-bière (gratuit) qui pourrait probablement faire cela (en désenchantant d'abord la police, puis en ré-intégrant une police de remplacement). Je ne connais que deux produits commerciaux qui font cela: pdfToolbox4 de callassoftware.com et PitStop d' Enfocus (bien sûr, il y en a sûrement d'autres, mais je ne les connais pas, et ces deux sont les leaders du marché ici).
Voici un moyen d'extraire une police incorporée d'un PDF à l'aide d'un logiciel libre. Sachez que vous n'êtes légalement autorisé à le faire que si la licence de la police ne l'interdit pas. Dans le référentiel de code source de Ghostscript réside un utilitaire de programme PostScript nommé
extractFonts.ps
qui peut vous aider ici:Exécutez la commande suivante dans une zone DOS (cmd.exe):
(Sachez que l' extraction de polices ici ne signifie pas la suppression des polices du PDF, mais la création de fichiers de polices qui sont des copies de celles intégrées au PDF.)
Voici un autre élément constitutif qui peut contribuer à réaliser ce que vous voulez. Vous voudrez peut-être décompresser toutes les parties / flux compressés de votre PDF, afin que vous puissiez éditer plus facilement le fichier avec un simple éditeur de texte. (Attention: l'édition de PDF n'est pas une tâche simple et directe --- vos efforts d'édition nécessiteront un savoir-faire assez important et une intelligence des formats de fichier PDF internes.)
Cette astuce utilise également un utilitaire du
toolbin
sous-répertoire Subversion de Ghostscript .Exécutez la commande suivante dans une zone DOS (cmd.exe):
Cette commande essaiera de décompresser tous les flux compressés «flate» . (Si vous n'avez pas de chance, votre fichier contiendra également des flux utilisant d'autres méthodes de compression (comme 'zip' ) qui resteront inchangés par cette commande.)
la source