HTML zu PDF - Rudelabfertigung

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
18.471
Moin!

Etwas unpräzise formuliert lautet die Aufgabe alle HTMLs eine Website in PDF zu wandeln. Dabei wäre es egal ob gleich eine fertige Gesamt-PDF rauskommt oder ich noch alle einzelnen mit z.B. PDF24 verketten müsste.

Das Konvertieren muss als Batch-Job, als Schleife ablaufen. Alle einzeln in eine Tool zu laden und einzeln die Konvertierung anzustoßen ist genau das was vermieden werden muss.

Jede HTML soll eine eigene Seite ergeben.
Und schon meldet sich die Falle. Ein genereller blinder Ablauf wäre schon mal eine Hilfe, aber ein automatischer Zoom (negativer Zoom) der eine Datei auf eine Druckseite (quer, übrigens, wie unser Bildschirm) wäre wunderbar.

Websites und Tools die das konvertieren gibts zu Hauf, aber das hieße jede HTML einzeln anzufassen. SODA zum Bleistift kann zwar en bloc öffnen, aber dann haben ich zig Tabs und nichts ist mit Auswerfen auf Knopfdruck.

Wenns etwa AutoIt werden soll, das als tumbe Schleife jede Datei an den den Browser gibt, druckt, schließt - wie ginge die Manipulation des Druckdialogs ein Auf-Seite-Einpassen im Querformat zu erreichen?

Der Witz ist klar, die Seite muss mit CSS und JS natürlich geparst sein bevor sie ausgeworfen wird.

CN8
 
Mit Acrobat geht das: alle Dateien markieren -> Rechtsklick: In Acrobat zusammenführen

Auf die Schnelle getestet werden auch verlinkte CSS-Dateien korrekt verwurstet.
 
@Hayda Ministral
Ich denke, ich könnte dann auch mit einem Chrome-mit-Kopf leben. Effektiv muss ich ja nur Browser mit Seite starten und dann nach Voreinstellungen Knöpfe drücken.

@Caspian DeConwy
So viel wollte ich eigentlich nicht ausgeben… :heilig:
(Ich habe das eben noch mal mit SODA versucht. Miserabel. Parsing stimmt nicht und ich darf jede Seite einzeln Drucken und speichen bzw. beim Beenden Speichen bestätigen. Da brauch ich keine Tool mehr…)

CN8
 
Kann dir ebenfalls Chrome empfehlen. Mit den passenden Parametern gestartet, spuckt es einfach eine PDF der übergebenen URL aus.
 
Dieses Kommandozeilentool sieht nach dem ersten Test sogar mehr als gut aus. Da sollte womöglich sogar pures Batch ausreichen :)
CN8
 
Leider…
…ist das Tool auf den 2. Blick für das was es hergeben muss nicht geeignet.

Ziel ist es eine Reihe von Weltsprachen abzuarbeiten. Typisch Westliches wie äöü oder åæø geht, aber maskiertes Kyrillisch (Перейт&#1080 = Ререйти) z.B. kann nicht umgesetzt werden. Chinesisch und Japanisch will ich gar nicht erst testen.
Aufgefallen ist es bei einem Symbol das analog maskiert wurde.

Gibt es weitere Vorschläge? Chrome fernzusteuern (AutoIt) wäre vielleicht möglich, aber mir so ganz lieb auch nicht. Ich nehme auch eine Suite - aber die muss halt 1-Klick-Rudelabfertigung können.

CN8
 
Wenn's nur einmal sein muss, vielleicht die Acrobat-Testversion nehmen?
 
Warum denn Chrome fernsteuern? Du kannst der Binary einfach ein paar Parameter übergeben und es spuckt die PDF aus, ganz ohne Fenster.
 
@Caspian DeConwy
Wo denskt du hin, einmal :D Das Problem werde ich länger an der Backe haben ;)

@Bagbag
Dann nenne mir mal die Parameter. Ich habe sie mir angetan, was denn überhaupt an »Hilfe« zur Verfügung stand. und einen Schalter für richtige Zeichen gibt es nicht.
Wohlgemerkt - die Maskierung wird erkannt und in das (eine )Zeichen( das dahinter steckt) umgewandelt, die zugehörige Glyphe aber nicht ausgeworfen.
Nebenher - mehr als Quellfile und Zielfel anzugeben hätte es gar nicht bedurft ;)

@Hayda Ministral & Sparta8
Die Liste erschlägt einen. --print-to-pdf sieht sogar sehr nett aus (aber ich traue so was nicht), fehlt nur wie ich «Save a pdf file of the loaded page.» da eine page loade und sicher bin die richtige zu erwischen.
--new-window war eigentlich mein Ansatz, HTML mitgeben, Strg+P plus Enter abfeuern, Alt+F4 und die nächste Seite nach selber Manier (Drucker ist voreingestellt). So ein Spielchen habe ich schon mit AutoIt gebastelt. Wenn aber nur { »Chrrome« Datei.HTM --print-to-pdf } genügt, wo landet die PDF? Praktisches Problem wäre schon wenn die im Quellordner landen täten, dann muss ich da mühsam alles zusammenklauben, auch nicht wirklich hilfreich.

Weitere Ideen? Das Kernproblem ist ja eben die Rudelabfertigung.

CN8
 
Zuletzt bearbeitet:
cumulonimbus8 schrieb:
Ziel ist es eine Reihe von Weltsprachen abzuarbeiten. Typisch Westliches wie äöü oder åæø geht, aber maskiertes Kyrillisch (Перейт&#1080 = Ререйти) z.B. kann nicht umgesetzt werden. Chinesisch und Japanisch will ich gar nicht erst testen.
Aufgefallen ist es bei einem Symbol das analog maskiert wurde.
Ich weiß nicht was du getestet hast, aber bei mir funktioniert das.

HTML:
<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
    <meta charset="UTF-8" />
</head>

<body>
    <p>&#1055;&#1077;&#1088;&#1077;&#1081;&#1090;&#1080 = Ререйти</p>
</body>
</html>
Mit wkhtmltopdf test.html test.pdf kommt dieses PDF raus.

Gruß
BlackMark
 

Anhänge

  • test.pdf
    6,9 KB · Aufrufe: 670
Tja - und es nützt halt doch nichts. ;)

Gut, der pure maskierte Text wird korrekt geparst, aber an mindestens dieser Stelle »rummst« es…
<INPUT Type="submit" id="Button007" Value="BOND &#10914;">
…die &#10914; sind in diesem Codeteil offenbar nicht erreichbar.

Das alles kommt aus einer Maschine und wird mit Tricks in etwas Passables gewandelt. Auch der Button durchläuft den Programmcode (XL VBA) und (OK, das ist ein Doppelpfeil ⪢ und nur optisches Gimmick), doch auch das muss eben nach Vorgaben umgesetzt werden. Ein bisschen schummeln kann man mit » was als reale Glyphe durchgeht. Aber optimal ist es nicht.

Ich habe da offensichtlich blind und vollautomatisch »den Punkt getroffen« (bin ich gut drin) und das Tool schlechter gemacht als es ist

Dann werde ich mal damit leben und die gute Nachricht weitergeben.

CN8
 
cumulonimbus8 schrieb:
Die Liste erschlägt einen. --print-to-pdf sieht sogar sehr nett aus (aber ich traue so was nicht), fehlt nur wie ich «Save a pdf file of the loaded page.» da eine page loade und sicher bin die richtige zu erwischen.
Man kann den Speicherort übergeben und die URL.
Code:
chrome --headless --print-to-pdf="{{path and file name}}.pdf" https://google.com
 
OK, danke.
Ich hoffe nicht, dann doch diesen Weg gehen zu müssen. Aber der Value des INPUT scheint sich als sehr zäh zu erweisen.
Auf Grund anderer Dinge muss ich hier erst mal pausieren. Der Dussel der das Sonderzeichen da als Optik eingeflochten hatte war übrigens ich selbst. So kanns einem ergehen…

CN8
 
Zurück
Oben