Export von SVG-Elemente in PDF?
Habe ich eine Visualisierung generiert d3 (eine javascript-Bibliothek zur Visualisierung ähnlich Protovis oder Raphael, die zieht Sachen mit SVG-Elemente). Die vis ist interaktiv, so dass der Benutzer interagieren können, und Bearbeiten Sie es. Sobald der Benutzer ist zufrieden mit seiner/Ihrer Visualisierung, möchte ich die Benutzer können exportieren Sie die Visualisierung als PDF-Datei. Ich habe versucht, mehrere HTML zu PDF-Bibliotheken, und Sie arbeiten auch nicht mit SVG-Elemente.
Es ist okay, wenn das die Lösung ist entweder die client-Seite oder server-Seite. Ich bin mit der PHP-server-Seite, aber Python-oder Java-Implementierungen könnten auch funktionieren.
Browser-Unterstützung: im Idealfall würde das unterstützen alle modernen Browser, aber minimal, ich würde gerne zur Unterstützung der neuesten Versionen von Firefox und webkit-Browsern.
InformationsquelleAutor der Frage raviparikh | 2012-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich kenne keine starke PDF-Bibliotheken auf client-Seite.
Eine schnelle Möglichkeit wäre die Entsendung der svg-Inhalt an einen server, und verwenden Sie so etwas wie batik für java zu drehen, svg, pdf und senden Sie die Antwort an den client wieder.
Hier ist eine Verwandte ALSO für die Konvertierung.
InformationsquelleAutor der Antwort Nicolas Modrzyk
Gibt es auch wkhtml2pdf, die machen kann etwas webkit kann als PDF-Datei. Wenn Sie möchten, machen eine Kombination von SVG und HTML, oder wollen es haben einige JavaScript ausführen, bevor die PDF-snapshot genommen wird, es ist toll.
InformationsquelleAutor der Antwort peteorpeter
PhantomJS kann auch Rastern url/html-zu-PDF-Datei. Gleiche backend (QTWebKit) mit wkhtml2pdf.
InformationsquelleAutor der Antwort dawnsong
Habe ich nicht probiert d3, aber ich die Wirkung erreicht, die Sie suchen, wie dies in Python ist3.6:
Reportlab ist eine open-source-pdf-Bibliothek und svglib ist eine Bibliothek, die ist in der Lage, konvertieren Sie svg zu reportlab Zeichnungen. Rendern von SVGs direkt aus der xml wird nicht unterstützt out of the box, das ist der Grund, warum ich die SvgRenderer.
InformationsquelleAutor der Antwort Sander Vanhove