Remplacer une police dans un document PDF

13

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:

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.

gros nez
la source
Quel logiciel de visualisation ou d'édition de PDF utilisez-vous? Quelle police utilise-t-on dans les champs du formulaire? Et cette police est-elle intégrée après avoir enregistré le formulaire PDF sous un nom de fichier différent?
Kurt Pfeifle
Merci pour le commentaire, j'ai développé la description pour répondre à vos questions.
bignose
Encore une question: pouvez-vous nommer les glyphes (à peu près signifiant: formes de lettres) que vous souhaitez mettre dans les champs du formulaire et qui n'apparaissent que comme des lacunes?
Kurt Pfeifle
Est-ce que votre police Caliban ressemble à ceci: linotype.com/de/202/caliban-schriftfamilie.html ou plutôt comme ceci: fontspace.com/george-williams/caliban
Kurt Pfeifle
1
@bignose avez-vous trouvé une solution à cela?
Jubei

Réponses:

5

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.psqui peut vous aider ici:

  1. Installez Ghostscript. Utilisez la dernière version, 8.71.
  2. Téléchargez le fichier http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
  3. Vous voudrez peut-être lire les commentaires contenus dans le fichier téléchargé.
  4. Exécutez la commande suivante dans une zone DOS (cmd.exe):

    gswin32c.exe ^
        -q ^
        -dNODISPLAY ^
        C:/path/to/extractFonts.ps ^
        -c "(c:/path/to/your-pdf-file.pdf) extractFonts quit"
    
  5. Prenez bonne note de tout avertissement ou message d'erreur que la commande peut cracher.
  6. Les polices extraites avec succès seront désormais stockées dans votre répertoire actuel sous le même nom que dans le PDF.

(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 toolbinsous-répertoire Subversion de Ghostscript .

  1. Téléchargez le fichier http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
  2. Vous voudrez peut-être lire les commentaires dans le fichier téléchargé.
  3. Exécutez la commande suivante dans une zone DOS (cmd.exe):

    gswin32c.exe ^
         -- ^
         c:/path/to/pdfinflt.ps ^
         c:/path/to/your-pdf-file.pdf ^
         c:/path/to/your-pdf-file-decompressed.pdf
    

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.)

Kurt Pfeifle
la source