Ich habe ein PDF, das von Ghostscript 8.15 erstellt wird. Ich muss dieses pdf von meiner Software verarbeiten, die Schriftartnamen von der pdf-Akte extrahiert und einige Operationen dann durchführt. Aber wenn ich Schriftnamen aus dieser PDF-Datei extrahiere, sind diese Namen nicht so wie sie sein sollten. Zum Beispiel: Der ursprüngliche Name der Schriftart ist 'NOORIN05', aber die PDF-Datei enthält 'TTE25A5F90t00'. Wie kann diese Schriftart Namen zu ursprünglichen Namen dekodieren. Alle Schriftarten sind TTF.Wie kann man originale Fontnamen von PDFs erhalten, die von Ghostscript generiert wurden?
HINWEIS: Warum muss ich die Schriftarten extrahieren. Eigentlich gibt es eine Software mit dem Namen InPage, die in Indien und Pakistan am berühmtesten war, um Dokumente in Urdu Sprache zu schreiben, denn vor der Unicode-Unterstützung in Textverarbeitung war dies die einzige Lösung, um Urdu in Computer einzugeben. Aufgrund der Komplexität der Urdu-Sprache verwendet diese Software 89 Schriftarten mit den Namen NOORIN01 TO NOORIN89. Der Grund für die Verwendung zu vieler Font-Dateien besteht darin, dass alle Urdu-Ligaturen enthalten sind, die mehr als 19 Tausend sind. Da jede Datei nur 255 Ligaturen enthalten kann, haben sie diese Technik vor dem Unicode verwendet. Jetzt kopieren und fügen Sie den Text aus der PDF-Datei, die von dieser Software generiert wird, einen Müll in MS Word. Der Grund, den ich oben 89 Font-Dateien erzählte. Es gab also keine Möglichkeit, Text aus solchen alten PDF-Dateien zu extrahieren. (Seit ein paar Tagen unterstützt diese Software Unicode, aber ich rede von alten Dateien). Also habe ich eine Software in C# entwickelt, um Text aus solchen alten PDF-Dateien zu extrahieren. Der Algorithmus, den ich benutze, erstelle eine Datenbankdatei, die alle Namen von 89 Font-Dateien mit allen aschii-Codes enthält, und in der nächsten Spalte tippte ich Urdu-Unicode-Ligatur in Unicode. Ich verarbeite die PDF-Datei Zeichen für Zeichen mit der Schriftart, passe den Namen der Schriftart aus meiner Datenbankdatei an und hole die Unicode-Ligatur aus der Datenbank und zeige sie dann in einem Textfeld an. Auf diese Weise erhalte ich den Unicode-Text erfolgreich. Meine Software funktionierte in vielen PDF-Dateien einwandfrei. Aber vor ein paar Tagen bekomme ich eine Beschwerde von einer Person, dass Ihre Software es versäumt, Text aus diesem PDF zu extrahieren. Beim Testen stellte ich fest, dass die PDF-Datei nicht die ursprünglichen Schriftnamen enthält. Deshalb kann meine Software den Prozess nicht weiter verarbeiten. Als ich die Eigenschaften dieser PDF-Datei überprüfte, zeigt es den PDF-Generator GPL Ghostscript 8.15. Also suche ich im Internet und studiere die Dokumentation zu den Schriften, konnte aber immer noch keinen Schlüssel zum Entschlüsseln finden und bekomme die originalen Schriftnamen.
Im Allgemeinen ist kein PDF-Prozessor erforderlich, um die Schriftartnamen unverändert zu lassen. Daher können Sie einfach nicht versprechen, dass Sie die Zeichen im Allgemeinen anhand ihres Schriftartnamens richtig erkennen können. Punkt. Wie gesagt, Sie können natürlich mehr tun, um die betreffenden Glyphen zu identifizieren, als nur die Fontnamen zu vergleichen (was schließlich eine Trivialität ist). Z.B. Sie könnten einfach die Anweisungen in den Zeichensatzprogrammen für die Zeichen mit denen vergleichen, die Sie für die betreffenden Zeichen aus anderen Dokumenten kennen. – mkl