Gibt es eine Option wkhtmltopdf, um HTML-Text statt Datei zu konvertieren?

8

Ich bin kürzlich auf wkhtmltopdf gestoßen und habe festgestellt, dass es ein hervorragendes Tool für die direkte Konvertierung von HTML in PDF im Browser ist.

Eine typische Verwendung (in Windows) würde gehen:

%Vor%

Meine Frage ist: Gibt es eine Option, <html><head></head><body><h1>This is a header</h1></body></html> anstelle von www.host.com/page_to_print.html zu verwenden?

Danke für jede Hilfe.

    
Ifedi Okonkwo 18.02.2014, 20:16
quelle

4 Antworten

18

Ja und nein.

Es gibt keine native Unterstützung, aber Sie können Inhalte mit der Windows-Eingabeaufforderungs-Pipe in wkhtmltopdf pipen. Probieren Sie diesen Befehl aus:

%Vor%

Das liest sich wie "echo diesen Text, gib es aus (standard outstream) nach wkhtmltopdf stdin (Standard im Stream)". Der Bindestrich - im Befehl wkhtmltopdf bedeutet, dass er seine Eingaben von stdin und nicht von einer Datei erhält.

Sie können HTML auch in eine Datei einbinden, diese Datei an wkhtmltopdf übergeben und diese Datei in einem Skript löschen.

Derzeit sind die besten Quellen für die Dokumentation Ссылка und Ссылка - wenn man sie durchliest, gibt es keine Erwähnung, eine solche HTML-Zeichenkette einzugeben.

    
Nenotlep 19.02.2014, 08:18
quelle
2

Nur eine Korrektur der Antwort von Nenotlep. Wie Jigar bemerkte (in einem Kommentar zu Nenotleps Antwort), ergibt Nenotleps Befehl in Anführungszeichen vor und nach dem eigentlichen Text. Auf meinem System (Windows 10) ist dieser Befehl die richtige Lösung:

%Vor%

Der Befehl echo benötigt keine Anführungszeichen - aber wenn Sie den Text nicht in Anführungszeichen setzen, müssen die Zeichen < und > mit Escapezeichen versehen werden (von ^ ).

Eine andere Möglichkeit zum Ausprobieren ist das Schreiben des Textes in eine temporäre Datei, die - unter Windows - sogar schneller sein kann, wie einige Quellen angeben:

%Vor%

(Dies kann auch in einer Zeile geschrieben werden: Fügen Sie einfach einen & zwischen die beiden Befehle ein.)

    
booFar 02.11.2016 13:41
quelle
2

Mit PowerShell können Sie es so machen:

%Vor%

Stellen Sie nur sicher, dass Sie den Code innerhalb des \bin\ -Verzeichnisses von wkhtmltopdf ausführen, andernfalls müssten Sie der ausführbaren Datei einen vollständigen Pfad angeben.

    
Ifedi Okonkwo 09.03.2017 08:07
quelle
1

Zusätzlich zu der Antwort von pp. Wenn Sie den < > -Zeichen nicht entziehen möchten, können Sie auch Folgendes tun:

%Vor%     
QuiOui 06.03.2017 00:26
quelle

Tags und Links