Wie kann ich SVG-Dateien, die Text enthalten, stapelweise in PDF-Dateien konvertieren (insbesondere unter CentOS 5.3 x86_64)?

5951
Christopher Bottoms

Mögliches Duplizieren:
Wie konvertiere ich eine SVG unter Linux in eine PDF-Datei?

Ich möchte SVG-Dateien programmatisch in PDF-Dateien konvertieren. Die SVG-Dateien enthalten jedoch Text, der in den generierten PDF-Dateien durchsucht werden kann. Außerdem muss es für die x86_64-Architektur unter Red Hat Enterprise Linux 5.3 oder CentOS 5.3 funktionieren. Es wäre schön, wenn es Open Source wäre oder zumindest nicht sehr teuer.

Hier ist was ich probiert habe. Alle, außer Batik, funktionieren gut mit Debian Lenny.

Inkscape
kann mit Autopaketen von http://inkscape.modevia.com/ap installiert werden.Wenn ich es jedoch von der Befehlszeile aus verwende, kann der Text nicht durchsucht werden.

Batik rasterizer [sic]
Wenn SVG-Dateien in PDF-Dateien konvertiert werden, kann der Text nicht mehr durchsucht werden.

svg2pdf
Die Quelle für diese und einige ihrer Abhängigkeiten stehen zum Download zur Verfügung . Ich habe versucht, es unter CentOS zu kompilieren, hatte aber noch keinen Erfolg. Ich habe eine vorkompilierte Version für Debian x86_64 gefunden, aber es funktioniert nicht unter CentOS.

rsvg-convert
Generated PDF kann in CentOS 5.3 nicht durchsucht werden. Vielleicht hilft es, eine neuere Version von cairo zu installieren. Vielen Dank an DaveParillo für die Erwähnung von rsvg-convert (für Superuser).

LÖSUNG (aber vielleicht sind einige der oben genannten
Punkte für den Leser dennoch von Nutzen) princeXML
Es funktioniert problemlos auf CentOS, wenn es vom Quellcode installiert wird. Aus irgendeinem Grund funktioniert es nicht, wenn es von der .rpm installiert wird. Danke Erik Dahlström! (Lösung, die für meinen Fall bei stackoverflow funktioniert hat)

Kreuz auf stackoverflow gepostet

5
Vielen Dank, dass Sie sich die Zeit genommen haben, um zu erwähnen, was wirklich für Sie funktioniert hat. DaveParillo vor 14 Jahren 0

2 Antworten auf die Frage

2
DaveParillo

Die meisten Tools (wie Batik oder Imagemagick) werden Ihre Vektordaten in eine Rasterkarte umwandeln.

Ich würde versuchen, rsvg-convert . Es verwendet cairo als Backend, so dass Sie möglicherweise die gleichen Kompilierungsprobleme wie svg2pdf haben.

2
Kurt Pfeifle

Eine andere (bisher sehr wenig bekannte) Alternative ist GhostPDLs gsvg (unter Windows: gsvg.exe). GhostPDL ist die Schwesteranwendung für Ghostscript (derzeit unter http://svn.ghostscript.com/ghostpdl/ in einem einzigen Repostory zusammengeführt ). GhostPDL ist für die Verarbeitung von SVG, XPS und PCL gedacht, ähnlich wie Ghostscript für die PostScript- und PDF-Verarbeitung. Hier geht:

gsvg.exe ^ -dBATCH ^ -dNOPAUSE ^ -dSAFER ^ -sDEVICE=pdfwrite ^ -sOutputFile=my.pdf ^ [...more options you may want/need...] ^ c:/path/to/my.svg 
Interessant. Ich würde gerne mehr wissen. Das Repository wurde anscheinend nach http://svn.ghostscript.com/ghostscript/trunk/ghostpdl/ verschoben. Ich schaute mich jedoch um und konnte gsvg.exe nicht finden. Christopher Bottoms vor 13 Jahren 0
@ molecules: Sie müssen die .exe-Datei selbst erstellen. Wie Sie bemerkt haben, hat sich der Quellspeicherort geändert. Ich habe erfolgreich einen Trunk mit * MSVC ++ Express 2008 * erstellt, wobei die standardmäßige .vcproj-Datei verwendet wurde, die sich in den Ghostscript-Quellen befindet. Ein Ghostscript 9.00-Release ist in den nächsten Wochen anhängig - ich weiß nicht, ob sie eine Binärdatei von GhostPDL mit einer `gsvg.exe` ausliefern werden. Kurt Pfeifle vor 13 Jahren 0
Neuer Speicherort: git clone http://git.ghostscript.com/ghostpdl.git Quandary vor 8 Jahren 0