Gute SVG-renderer für Linux?
Entwickle ich einige Skripte zum generieren von SVG-Dateien und ich Frage mich, was gute SVG-Renderern existieren für Linux. Ich weiß, Firefox/Chrome bieten, SVG-Unterstützung (und ich habe das Gefühl, dass Chrome ist schneller beim Rendern), aber vielleicht gibt es andere standalone-SVG-Renderer, die mir fehlt. Ich bin mir dessen bewusst, pySVG Existenz.
Durch die gut genug, ich meine zur Deckung der SVG-1.1-Spezifikation, so viel wie möglich. Der Grund, warum ich lieber eine eigenständige Bibliothek ist, dass mein workflow ist schneller, als ich nicht F5 zu drücken, jedes mal.
- "gut" ist Recht subjektiv, ich würde vorschlagen, die Aktualisierung der Frage unter Angabe Ihrer Anforderungen, welche svg-features, die Sie benötigen, wie Sie benötigen, die Bibliothek zu benutzen, etc.
- Meinst du ein screen renderer, oder ein PDF/bitmap-renderer? Jede Programmiersprache Vorlieben?
- Ja, ein screen renderer zu erstellen, die typische raster-Bilder aus einem standard-SVG-definition. Bezüglich der Sprache, ich bin mit python generieren der SVG, aber ich bin nicht an bestimmte Sprache für den SVG Teil.
- SVG-to-PNG ist theoretisch sehr gut, weil es verwendet die gleichen renderer wie Chrome, aber ich kann nicht ankommen es zu wirken.
Du musst angemeldet sein, um einen Kommentar abzugeben.
SVG 1.1 exportiert durch das Remis.io-tool ist zu "modern" für eine richtige Darstellung von der aktuellen Batik, Kairo, qiv, oder sogar FireFox: es scheint, dass keiner von Ihnen unterstützen die <foreignObject> - element. Allerdings WebKit nicht machen es richtig, so zu konvertieren, SVG, um qualitativ hochwertige Bilder, die ich den "wkhtmlto..." - Werkzeuge von http://wkhtmltopdf.org.
wkhtmltoimage
erzeugt die Ausgabe am Bildschirm-Auflösung und seiner--zoom
switch skaliert Linien und text unterschiedlich resultierende Beschneidung (obwohl die öffnung die gleiche SVG in Chrom und Zoomen korrekt durchgeführt). Anstatt also, ich bin mitwkhtmltopdf
zu generieren, die ein Zwischenprodukt pdf-Datei dann Rendern, als ein Bild mit hoher Auflösung mit ghostscript:EDIT: ein Nachteil, den Umweg über eine Seite Beschreibung-Format der image-Datei erzeugt unter Umständen sehr große Grenzen. Sie können Experimentieren mit Papier-Größen und-layouts, um dieses zu minimieren oder nur mit auto-Ernte Sie ab, z.B. mit ImageMagick:
EDIT: FireFox 49.0.2 (Nov 2016) jetzt macht das zeichnen.io SVG korrekt. Noch nicht getestet Kairo oder Batik. Probe ziehen.io-Datei
<foreignObject>
element, dann ist es nicht Batik verantwortlich zu machen. Sie sollten nur erwarten, dass HTML gerendert werden, in einem Motor, ist speziell für HTML, wie ein browser. Kairo ist nicht eine SVG-renderer, also ich weiß nicht, warum Sie aufgenommen haben, dass entweder.Apache Batik ist eine sehr gute Sammlung von Bibliotheken/Programme mit Unterstützung für einen sehr großen Teil der SVG-Spezifikation. Es beinhaltet eine stand-alone-viewer/editor und eine Kommandozeile rasterizer können SVGs umwandeln in eine raster-image-Formate.
Können Sie versuchen die command-line-app
qiv
mit der-m -T
flags.Qt-SVG-es ist nur 2 Klicks entfernt, wenn Sie die Installation von Qt 4.7 und wählen Sie die lokal installierte Beispiel-Projekt svgviewer. Bauen und ausführen, erhalten Sie eine animierte viewport:
Empfehle ich WebkitGtk. Dies ist der renderer, der verwendet wird, um Energie Safari, Chrome, und viele andere Browser. Es unterstützt das Rendern von SVG-Grafiken im HTML-Format.
Nur
apt-get install libwebkitgt-3.0-0
. Sie können versuchen, es durch ausführen/usr/lib/webkitgtk-3.0-0/libexec/GtkLauncher
.Können Sie dann verwenden, was auch immer Sprache/Bindungen, die Sie wie ein GUI zu bauen um den SVG-renderer, einschließlich Python Gtk bindings: http://www.aclevername.com/articles/python-webgui/
Hier ist ein weiterer guter Artikel über den Aufbau von desktop-UIs mit Webkit und pygtk Bindungen: http://arstechnica.com/information-technology/2009/07/how-to-build-a-desktop-wysiwyg-editor-with-webkit-and-html-5/
/usr/lib/webkitgtk-3.0-0/libexec/GtkLauncher
kommt? Ich habelibwebkitgtk-3.0-0
installiert, aber es gibt keine solche Sache mit ihm.