Ich habe ein PDF-Dokument (nicht verschlüsselt) mit bearbeitbaren Formularfeldern. Die Schriftart für diese Felder ist jedoch fehlerhaft: Es fehlen einige Glyphen. Wenn ich also Text eingebe, werden einige Lücken angezeigt.
Wie kann ich das PDF-Dokument ändern - ich habe keinen Zugriff auf das Quelldokument, mit dem es erstellt wurde -, um anstelle der beschädigten Schriftart eine andere Schriftart zu verwenden ?
Bei der fraglichen Schriftart handelt es sich um die Caliban Regular von Adobe , die im Dokument eingebettet ist. Die Glyphen, die leer angezeigt werden, umfassen "i", "T", "V"; vielleicht andere, die ich nicht entdeckt habe.
Ich habe auch ein anderes ähnliches Dokument mit Caliban, das die oben als fehlerhaft aufgeführten Glyphen korrekt anzeigt. Wenn mir jemand sagen kann, wie man eine Schrift aus einer PDF-Datei nimmt und in eine vorhandene PDF-Datei ersetzt , wäre das eine Lösung.
Ich benutze derzeit:
- Debian GNU + Linux
- Evince (und ich haben es auch mit Okular versucht ) zum Anschauen
- Die Poppler- Bibliothek für das PDF-Rendering
- Emacs (oder ein beliebiger Texteditor) zum Bearbeiten des PDF-Codes
- pdftk und OpenOffice.org installiert, wenn das hilft
Ich würde mich für andere kostenlose PDF-Bearbeitungstools interessieren ( ob zum Nullpreis oder nicht ), wenn sie bei dieser Aufgabe helfen.
Antworten:
Es ist äußerst schwierig, eine in eine PDF-Datei eingebettete Schriftart zu ersetzen . Mir ist keine Redefreiheits- (GPL-lizenzierte) oder Bierfreiheits-Software (gratis) bekannt, die dies möglicherweise tun könnte (indem Sie zuerst die Schrift ausbetten und dann erneut einbetten) eine Ersatzschrift). Ich kenne nur zwei kommerzielle Produkte, die das tun: pdfToolbox4 von callassoftware.com und PitStop von Enfocus (natürlich gibt es auch andere, aber ich kenne sie nicht, und diese beiden sind die Marktführer hier).
Hier ist eine Möglichkeit zum Extrahieren einer eingebetteten Schriftart aus einer PDF-Datei mit Freier Software. Beachten Sie, dass Sie das gesetzlich nur tun dürfen, wenn die Lizenz der Schrift dies nicht verbietet. Im Ghostscript-Quellcode-Repository befindet sich ein PostScript-Programm namens,
extractFonts.ps
das hier Abhilfe schaffen kann:Führen Sie den folgenden Befehl in einer DOS-Box (cmd.exe) aus:
( Beachten Sie, dass das Extrahieren von Zeichensätzen hier nicht das Entfernen der Zeichensätze aus der PDF-Datei bedeutet, sondern das Erstellen von Zeichensatzdateien, die Kopien der in die PDF-Datei eingebetteten Zeichensätze sind.)
Hier ist ein weiterer Baustein, der dazu beitragen kann, das zu erreichen, was Sie wollen. Möglicherweise möchten Sie alle komprimierten Teile / Streams Ihrer PDF dekomprimieren, damit Sie die Datei mit einem einfachen Texteditor einfacher bearbeiten können. (Warnung: Das Bearbeiten von PDF-Dateien ist keine einfache und unkomplizierte Aufgabe. Für die Bearbeitung ist einiges Know-how und einiges Know-how in Bezug auf die internen Funktionen des PDF-Dateiformats erforderlich.)
Bei diesem Trick wird auch ein Dienstprogramm aus dem Ghostscript-Unterverzeichnis Subversion verwendet
toolbin
.Führen Sie den folgenden Befehl in einer DOS-Box (cmd.exe) aus:
Dieser Befehl versucht, alle 'flate'- komprimierten Streams zu dekomprimieren . (Wenn Sie Pech haben, enthält Ihre Datei auch Streams mit anderen Komprimierungsmethoden (z. B. 'zip' ), die von diesem Befehl nicht geändert werden.)
quelle