Webseite zu PDF-Konverter

Ich suche nach einem JavaScript- oder PHP-Plugin/einer Bibliothek, um eine wunderschön gestaltete Website (mit CSS) in eine PDF-Datei zu konvertieren.

Zur weiteren Verdeutlichung muss ich die HTML-CSS-Ausgabe auf der Webseite in eine PDF-Datei konvertieren. Ich habe einige interessante Plugins im Zusammenhang mit JavaScript wie jsPDF gefunden, aber es konvertiert nur HTML in PDF und ignoriert CSS. Was ich nicht will.

Ein paar Punkte:

  • Die generierte PDF-Datei sollte sowohl HTML als auch CSS enthalten.
  • Sollte sowohl auf Mac als auch auf Windows funktionieren.
  • Sollte mit der neuesten Version von Chrome und Firefox funktionieren.

PS: Die Elemente werden dynamisch mit JavaScript hinzugefügt. Stellen Sie sich ein Szenario vor, in dem viele Abschnitte mit unterschiedlichen Stilen vorhanden sind. Der Benutzer kann diese gestalteten Abschnitte hinzufügen oder entfernen und später auf die Schaltfläche „Als PDF erstellen“ klicken.

Nicht das, was Sie wollen, aber die Lösung mit dem geringsten Aufwand, wenn Sie das Druckmenü des Browsers verwenden, um "in PDF zu drucken".
@Mawg Ich kann Benutzern nicht sagen, dass sie diese Schritte manuell ausführen sollen. Suchen Sie also nach einer Lösung über JS oder Php.
Warum dann nicht Google für js pdf screenshot? Das sieht zum Beispiel hilfreich aus ... stackoverflow.com/questions/5621907/… natürlich habe ich hier nur geschürft und nicht verifiziert, dass es sich um PDF und nicht um PNG oder JPEG handelt, weshalb dies ein Kommentar ist, und keine Antwort. Aber Sie erfinden doch bestimmt kein ganz neues Rad?
Es gibt einen ausgezeichneten Artikel unter techumber.com/2015/04/…, der erklärt, wie das geht.
Ich würde denken, dass Sie dies serverseitig nicht tun können, es sei denn, Sie generieren die gesamte Seite, js, css und alles serverseitig (und selbst dann wäre es schrecklich komplex). Da die Seite clientseitig gerendert wird, suchen Sie nach einer clientseitigen Lösung.
Scheuen Sie sich nicht, zweistufige Lösungen in Betracht zu ziehen. Es gibt viele Beispiele, wie man eine Webseite als JPG oder PNG speichert. Der zweite Schritt besteht dann darin, ein PDF-Dokument zu generieren, das dieses Bild enthält.

Antworten (3)

WeasyPrint

Kostenlose (unter einer BSD-Lizenz) und Open-Source- Lösung, die Webentwicklern hilft, PDF-Dokumente zu erstellen. Es wandelt einfache HTML-Seiten (mit CSS, SVG usw.) in das PDF-Format um. Es zielt darauf ab, Webstandards für das Drucken zu unterstützen.

html-pdf(npm)

Sie können das NodeJS- html-pdfnpm-Paket verwenden (siehe GitHub , installieren über: npm install -g html-pdf). Beispiel einer Shell-Befehlszeile:

html-pdf http://example.com/ example.pdf

PhantomJS

Verwenden Sie PhantomJS mit rasterize.js , Beispielbefehlszeile:

phantomjs rasterize.js http://example.com/

wkhtmltopdf

Verwenden Sie wkhtmltopdf(siehe: GitHub -Seite) das Befehlszeilentool, um die Website in die PDF-Seite zu konvertieren.

PhantomJS , ein ausgezeichneter Headless-Browser, der sich hervorragend für Entwicklungsschweinswale eignet, sagt

Da PhantomJS WebKit verwendet, eine echte Layout- und Rendering-Engine, kann es eine Webseite als Screenshot erfassen.

und

Neben dem PNG-Format unterstützt PhantomJS JPEG, GIF und PDF.

Es ist wirklich einfach zu bedienen. Hier ist ein Beispielcode für die Erfassung als .PNG

var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});
Ich habe versucht, softwarerecs.stackexchange.com/questions/35963/… umzuwandeln , aber es zeigt den linken Rand und die Fragen auf der rechten Seite sind nicht vorhanden. Es hat anklickbare Links, also yay!
Wenn es nicht funktioniert, warum "yay" sagen? ich bin verwirrt
weil zumindest die links anklickbar sind. Viele andere Produkte sind es nicht.
An dieser Stelle kann ich nichts anderes empfehlen, aber wenn Sie Ihren Code auf stackoverflow.com posten , sollten Sie dort Hilfe bekommen

Diese Frage stellt Is it possible to capture or print what's displayed in an html canvas as an image or pdf?sich und die Antwort von @lepe, der zu wissen scheint, wovon er spricht, mit 13,6.000 Wiederholungen, die 16 positive Stimmen haben, sagt

Ich würde " wkhtmltopdf " verwenden. Es funktioniert einfach super. Es verwendet die Webkit-Engine (wird in Chrome, Safari usw. verwendet) und ist sehr einfach zu bedienen:

wkhtmltopdf stackoverflow.com/questions/923885/ this_question.pdf

Das ist es!

Versuch es

Die Empfehlung wird von Herrn JavaScript unterstützt , der so klingt, als wüsste er, wovon er spricht.