Ich nutze die Komponente THtmlViewer für die Ansicht der Hilfe. Funktioniert soweit gut. (https://github.com/BerndGabriel/HtmlViewer)
Auch das Drucken einzelner Seiten (als PDF) geht ebenfalls gut.
In der alten Version "HtmlViewer-11.9" hat das drucken mehrerer HTML Dokumente in eine PDF Datei ebenfalls sehr gut funktioniert. Damit könnte ich die komplette Hilfe in ein PDF drucken.
Der Aufruf dazu:
Code: Alles auswählen
PrintDlg.Execute; // << Select a PDF printer
THtmlViewer.PrintScale := 2.2;
THtmlViewer.OpenPrint; // << start multible printing
For i := 0 To FileList.Count - 1 Do // loop for all HTML documents for printing
Begin
THtmlViewer.LoadFromStream(<Stream>);
THtmlViewer.Print(); // << add a new page and print into this new page(s)
End;
THtmlViewer.ClosePrint; // << start the printing
Ich habe da mal danach geschaut was es sein könnte und gesehen dass die Datei "vwPrint.pas" in diese 2 Dateien "vwPrint.pas" / "HtmlPrinter.pas" aufgeteilt wurde. Jedoch konnte ich nicht finden warum es nicht klappen mag.
Ich vermute mal dass beim multiblen Druck entweder die Seite nicht korrekt gestartet wird oder das Ende des Druckes nicht geht.
Also man startet den Druck, die FOR Schleife läuft durch und das ganze beendet sich ohne Fehlermeldung. Sieht soweit gut aus, nur dass am Ende das dann so aussieht als wäre der Druck abgebrochen worden, es passiert einfach nichts mehr. Beim Einzel Seite Druck erscheint hinterher der PDF-Creator Dialog um die Datei zu speichern.
Ich habe beim GIT Projekt auch mal eine Anfrage gestellt: https://github.com/BerndGabriel/HtmlViewer/issues/342
Ich schreib noch hier, da hier sehr viele gute Leute sind
Vielen Dank für die Hilfe.
VG Markus.