Einbetten von SVG in PDF (Exportieren von SVG in PDF mit JS)
Ausgangspunkt: ich habe keinen server bereitstellen zu können, die nichts aber statische Dateien. Und ich habe ein SVG-element (dynamisch erzeugt) in meinem <body>
dass ich exportieren möchten, um ein Vektor-format, vorzugsweise PDF oder SVG.
Schaute ich mir die Nutzung der bereits vorhandenen lib jsPDF zusammen mit downloadify. Es hat gut funktioniert. Leider funktioniert das nicht SVG-Unterstützung, nur text.
Ich gelesen habe, über das PDF-format die Möglichkeiten zum einbetten von SVG-Bildern, und es scheint wurde aktiviert, da der Acrobat Reader 5 (zusammen mit dem ImageViewer-plugin). Aber es funktioniert nicht. Ich habe versucht mit 3 verschiedenen PDF-Readern ohne Erfolg.
Bedeutet dies, dass die PDFs gesunken SVG einbetten Unterstützung? Ich habe nicht gefunden was auf diese.
Habe ich zwei Fragen: können diese gelöst werden? Und wenn ja, was sind die Spezifikationen für die Einbettung von SVG innerhalb einer PDF-Datei? Mit dieser info kann ich bauen, dass die Unterstützung in jsPDF mich.
Den browser-Unterstützung Anforderungen sind Safari, Chrome und Firefox. Die Versionen, die unterstützt SVG.
InformationsquelleAutor der Frage Simeon | 2011-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für alle, die sich für eine JS-Lösung: PDFKit scheint die beste Lösung zu generieren, die PDF-Datei aus JS in diesen Tagen, und es unterstützt alle SVG-geometrie-primitive (einschließlich der Interpretation
path
geometrie strings) aus der box. Alle, die benötigt wird, um die render vorhandenen SVG-Inhalte wäre ein DOM-walker, verfolgt von CSS-styling und Erbschaften, wenn Sie nicht benötigen komplexe Dinge wie Symbole etc.War ich nicht erfolgreich mit dem skizzenhaften SVG-Unterstützung des jsPDF/svgToPdf combo erwähnt in der anderen Antwort, und der source-code von diesen beiden nicht sehr gut-gestaltete und komplett zu mir.
InformationsquelleAutor der Antwort Flo Ledermann
Werde ich die Antwort auf meine eigene Frage. Ich landete mit DocRaptordie aufgerufen werden kann, client-side JavaScript. Diese technisch löst mein problem, auch wenn es ein non-free-Lösung. Wenn ich die Antwort könnte ein server-side-Lösung, die ich verwenden könnte, wkhtmltopdf als vorgeschlagen von Mic.
InformationsquelleAutor der Antwort Simeon
jsPDF hat ein plugin für die: svgToPdf:
https://github.com/ahwolf/jsPDF/blob/master/jspdf.plugin.svgToPdf.js
Ich habe es nicht ausprobiert, aber dies könnte ermöglichen, verwerfen die Verwendung von externen API und/oder setzen zu müssen, die auf einem server-side-Lösung.
InformationsquelleAutor der Antwort stackex
Haben Sie versucht, die WKHTMLTOPDF? Es ist ein kostenloses tool basiert auf webkit.
Wir schrieben ein kleines tutorial hier.
Auf einem Mac mit Safari oder Chrome, können Sie speichern eine HTML-Seite mit eingebetteten SVG zu PDF-Datei.
Da diese Browser verwenden WKHTMLTOPDF intern, kann dies für Sie arbeiten.
InformationsquelleAutor der Antwort Mic
EVO HTML zu PDF Converter hat support für die Konvertierung von SVG in HTML eingebettete PDF-Dokument. Sie können sehen, ein Beispiel für diese Funktion hier : http://www.evopdf.com/demo/HTML_to_PDF/HTML5_Features/SVG_to_PDF.aspx . Der Beispielcode für dieses ist:
InformationsquelleAutor der Antwort EvoPdf