Antworten:
Ich habe gerade eine Bibliothek namens jsPDF geschrieben , die PDFs nur mit Javascript generiert. Es ist noch sehr jung und ich werde bald Funktionen und Fehlerbehebungen hinzufügen. Außerdem gibt es einige Ideen für Problemumgehungen in Browsern, die keine Daten-URIs unterstützen. Es ist unter einer liberalen MIT-Lizenz lizenziert.
Ich bin auf diese Frage gestoßen, bevor ich anfing sie zu schreiben und dachte, ich würde zurückkommen und dich wissen lassen :)
Generieren Sie PDFs in Javascript
Beispiel Erstellen Sie eine PDF-Datei "Hello World".
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
Eine weitere erwähnenswerte Javascript-Bibliothek ist pdfmake .
Die Browserunterstützung scheint nicht so stark zu sein wie jsPDF, und es scheint auch keine Option für Formen zu geben. Die Optionen zum Formatieren von Text sind jedoch weiter fortgeschritten als die derzeit in jsPDF verfügbaren Optionen.
Ich pflege PDFKit , das auch pdfmake unterstützt (hier bereits erwähnt). Es funktioniert sowohl im Knoten als auch im Browser und unterstützt eine Reihe von Dingen, die andere Bibliotheken nicht tun:
Unter http://pdfkit.org/ finden Sie ein vollständiges Tutorial, um selbst zu sehen, was PDFKit kann. Ein Beispiel dafür, welche Arten von Dokumenten erstellt werden können, finden Sie in den Dokumenten als PDF, das mit PDFKit selbst aus einigen Markdown-Dateien generiert wurde: http://pdfkit.org/docs/guide.pdf .
Sie können es auch interaktiv im Browser hier ausprobieren: http://pdfkit.org/demo/browser.html .
Ein weiteres interessantes Projekt ist texlive.js .
Sie können damit (La) TeX in PDF im Browser kompilieren.
Sie können diesen kostenlosen Dienst nutzen, indem Sie einen Link hinzufügen, der PDF von einer beliebigen URL erstellt (z. B. http://www.phys.org ):
Selbst wenn Sie die PDF-Datei im Arbeitsspeicher in JavaScript generieren könnten, hätten Sie immer noch die Frage, wie diese Daten an den Benutzer übertragen werden sollen. Für JavaScript ist es schwierig, nur eine Datei an den Benutzer zu senden.
Um die Datei an den Benutzer weiterzuleiten, sollten Sie einen Server senden, damit der Browser den Dialog zum Speichern aufruft.
Trotzdem ist es nicht allzu schwer, PDFs zu generieren. Lesen Sie einfach die Spezifikation.