Ich versuche, eine Reihe von HTML-Dateien in PDF-Dateien zu konvertieren. Ich suche nach einer automatisierten Lösung, damit ich nicht jede HTML-Datei einzeln öffnen und in PDF konvertieren muss. In Mac OSX kann convert
das Dienstprogramm verwendet werden, um HTML-Dateien in PDF zu konvertieren. Ich stehe vor zwei Problemen.
convert
Dienstprogramm wendet den CSS-Stil nicht auf generierte PDF-Inhalte an.Hier ist mein AppleScript:
on open input_documents
repeat with this_document in input_documents
if this_document is not document file then
set this_document_path to POSIX path of this_document
do shell script "/System/Library/Printers/Libraries/convert -f " & quoted form of this_document_path & " -o " & quoted form of this_document_path & ".pdf"
end if
end repeat
end open
Ich verwende dieses Skript, um eine .app zu erstellen, und ziehe dann den Dokumentenordner auf die generierte .app-Datei. Beachten Sie, dass alle mit Bildern verknüpften Bilder in einem Unterverzeichnis/Unterordner abgelegt werden. Meine Dokumentenstruktur sieht so aus:
/HTML
/HTML/Images/
/HTML/a.html
/HTML/b.html
Irgendwelche Vorschläge?
Werfen Sie einen Blick auf wkhtmltopdf – ein Befehlszeilenprogramm, das die WebKit-Rendering-Engine verwendet, um PDFs aus HTML zu erstellen. Ich habe festgestellt, dass es ein schöneres Ergebnis erzeugt. Sie sollten keine Probleme haben, es in Ihr aktuelles Skript zu integrieren.
./wkhtmltopdf *.html *.pdf
und es hat super funktioniert, mit einer Ausnahme. Es erzeugte eine "*.pdf"-Datei anstelle von separaten Dateien für jedes HTML. Wissen Sie, ob dieses Dienstprogramm das Generieren separater Dateien unterstützt? Vielen Dank.for f in *.html; do wkhtmltopdf $f "$f.pdf"; done
, um die Dateien in einem Verzeichnis zu durchlaufen.for f in *.html; do ./wkhtmltopdf "$f" "$f.pdf"
funktioniert es wunderbar. Vielen Dank.Haben Sie darüber nachgedacht, ein AppleScript-Skript zu schreiben, um jede HTML-Datei in einem skriptfähigen Webbrowser (wie Safari) zu öffnen und dann den Standard-Druckbefehl des Browsers zu verwenden, um in eine PDF-Datei zu drucken?
Austin
Mussafa
Benutzer588
textutil
Befehl geschaut? Es unterstützt auch HTML.Mussafa