Warum wird mein Text beim Konvertieren von PDF in SVG durcheinander gebracht?

Ich versuche, ein PDF in ein Vektorbild zu konvertieren, damit ich es online anzeigen kann. Wenn ich es in SVG konvertiere, werden die Schriftart-Glyphen nicht richtig konvertiert. Wenn ich in SWF konvertiere, ist es perfekt, aber ich würde lieber SVG verwenden.

SVG-Rendering ( Download-Link ):

Screenshot des SVG-Renderings
Klicken Sie auf das Bild für volle Größe

PDF-Rendering ( Download-Link ):

Screenshot der PDF-Wiedergabe
Klicken Sie auf das Bild für volle Größe

Was ist los? Ist SWF SVG überlegen oder liegt das an einem schlechten Konverter?

Dies liegt an mehreren eingebetteten Untergruppen von Schriftarten im PDF. Sie können die Vektoren nicht extrahieren, da sie voller eingebetteter Teilmengen sind. Das Beste, was Sie tun können, ist, es in eine Vektor-App zu parsen, dann den Typ zu korrigieren und als SVG zu speichern.
Hier gibt es eine ähnliche Frage: PDF in Illustrator einbetten

Antworten (1)

Warum das passiert:

Das PDF bettet Ihre Schriftart ein, das SVG nicht. Wenn ich versuche, das PDF in Illustrator zu öffnen, schreit es mich wegen all der Schriftarten an, die ich nicht installiert habe:

The font CMBX10 is missing.  Affected text will be displayed using a substitute font.
The font CMEX10 is missing.  Affected text will be displayed using a substitute font.
The font CMMI10 is missing.  Affected text will be displayed using a substitute font.
The font CMMI8 is missing.  Affected text will be displayed using a substitute font.
The font CMR10 is missing.  Affected text will be displayed using a substitute font.
The font CMR8 is missing.  Affected text will be displayed using a substitute font.
The font CMSY10 is missing.  Affected text will be displayed using a substitute font.
The font CMSY8 is missing.  Affected text will be displayed using a substitute font.
The font CMTI10 is missing.  Affected text will be displayed using a substitute font.
The font MSBM10 is missing.  Affected text will be displayed using a substitute font.

Ihre SVG-Datei weist den Rendering-Agenten einfach an, die passende Schriftart zu verwenden, und in diesem Fall sieht Ihre gerenderte Ausgabe miserabel aus.

So können Sie es beheben:

Option 1: Betten Sie alle diese Schriftarten in das SVG ein

Anstatt zu erklären, wie das geht, sehen Sie sich einfach die Antwort auf diese Frage an: Wie bette ich Google Webfonts in ein SVG ein?

Option 2: Skizzieren Sie den gesamten Text

Angenommen, Sie verwenden Inkscape (da der SVG-Quellcode es mir gesagt hat), müssen Sie meiner Meinung nach nur die Textobjekte auswählen und dann PfadObjekt zu Pfad verwenden

Dadurch wird die Dateigröße erheblich größer. Davor würde ich Variante 1 ausprobieren. Außerdem kann der Text nicht mehr bearbeitet werden.