Angemessene automatische Konvertierung von HTML in PDF (in einer UNIX / Linux-Umgebung) [geschlossen]


16

Gibt es eine Möglichkeit, unter Linux PDF-Dokumente automatisch aus HTML-Dateien zu generieren, bei denen das PDF eine angemessene Ähnlichkeit mit der Eingabedatei aufweist?

Ein Befehlszeilentool - im Gegensatz zu einer interaktiven Benutzeroberfläche - ist der Schlüssel.

Ich habe es htmldocnatürlich mit einigen verwandten Cousins versucht . Aber diese Werkzeuge sind hoffnungslos steinzeitlich; htmldocunterstützt kein CSS. Heutzutage werden Sie nicht mehr viele HTML-Dokumente finden, die zumindest nicht über ein gewisses CSS-Design verfügen . Ich interessiere mich nicht wirklich für dumme Effekte oder kleinere Verzierungen, aber das Problem ist, dass CSS heutzutage der Kern der meisten Layouts ist. Nicht mehr viele Leute verwenden 6 Schichten verschachtelter Tabellen. Wenn das Konvertierungstool überhaupt kein Verständnis für CSS hat, geht es nicht nur darum, dass "das Dokument nicht ganz richtig aussieht". Es ist wahrscheinlich, dass es den Mindeststandard für die Benutzerfreundlichkeit überhaupt nicht erfüllt.

Einige Leute haben mir vorgeschlagen, die Gecko-Rendering-Engine zu verwenden, um Bilder zu generieren, die in PDFs konvertiert werden können, aber ich habe keine Ahnung, wie man das machen würde, geschweige denn leicht.

Ich habe kein Problem damit zu glauben, dass es gute kommerzielle Tools gibt, die dies tun, aber ich suche wirklich nach einem Open-Source-Paket, wenn möglich, da das Unternehmen selbst ein Open-Source-Paket ist und sich nicht auszahlt.

Danke im Voraus!

Antworten:


7

Hast du wkhtmltopdf gesehen ? Ich kann nicht sagen, wie gut es persönlich funktioniert, aber es scheint genau das zu sein, was Sie brauchen. Das einzige Problem kann sein, dass bei dieser und allen anderen "Browser-Automatisierungs" -Lösungen das Druck-Stylesheet und nicht das Bildschirm-Stylesheet übernommen wird, sodass das PDF möglicherweise nicht genau das ist, was Sie auf dem Bildschirm sehen.


Was ist ein Druck-Stylesheet? Ich muss mit den neuesten und besten neuen Dingen aus dem CSS-Universum nicht auf dem Laufenden sein.
Alex Balashov

Es ist nichts Neues, es wurde für die meisten Websites erst dann praktisch, wenn sie für das Layout statt für Tabellen auf CSS umgestiegen sind. Eine Einführung finden Sie unter alistapart.com/articles/goingtoprint oder webcredible.co.uk/user-friendly-resources/css/… .
Robertc

2

Probieren Sie chm2pdf mit python-beautifulsoup aus.


2

XHTML2PDF ist ein Python-Toolset, das sowohl Befehlszeilenskripte als auch eine Python-Bibliothek enthält (falls Sie dies in etwas Größeres einbetten möchten, ohne das Skript auszublenden ). Es unterstützt HTML / XHTML und CSS mit zusätzlichen herstellerspezifischen CSS-Stilen Formatierte Ausgabe optimieren (z. B. Seitenzahlen, Absatzfluss usw.)

Ich habe es nur ein bisschen benutzt, um ein paar HTML-Dokumente stapelweise zu verarbeiten, aber es hat gut funktioniert, und sein Funktionsumfang scheint mir umfassend zu sein. Das Handbuch ist auf der Demoseite ausgeblendet, ist jedoch selbst ein gutes Beispiel für die Konvertierung von einem HTML-Dokument in ein PDF.

Ich hatte ein paar nette Links zu "Vorher" - und "Nachher" -Beispielen, aber ich habe gerade mein Konto erstellt, und anscheinend haben nur Spammer mehr als einen Link in ihren ersten Beitrag eingefügt :-p


1

Ich wollte ein paar PNGs aus HTML-Seiten über die Befehlszeile generieren. Irgendwo habe ich dieses Ruby-Skript gefunden , das Mozembed verwendet, um einen Screenshot zu generieren. Sie können die Skalierungslinie entfernen, wenn Sie nicht möchten, dass sie skaliert wird.

Das einzige Problem, das ich sehe, ist, dass die Seite tatsächlich für einen Moment auf dem Bildschirm angezeigt wird ...


Hm ja Der letzte Teil scheint ein bisschen mörderisch zu sein. Dies muss in ein rein serverseitiges Backend eingebunden werden. Kein Displaykopf oder so. Wie kann man das erreichen?
Alex Balashov

0

versuchen Sie dompdf es funktioniert gut von der Kommandozeile aus und durch seine Beispiele funktioniert es mit jeder Art von HTML


0

PrinceXML. Kann gut mit CSS umgehen. Linux-, Windows- und Mac OS X-Versionen verfügbar. AFAICS, das ist auch die Technologie, die hinter der PDF-Ausgabe von Google Docs steckt. Aber beachten Sie: Dies ist Payware.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.