iphtml zu PDF
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
iphtml zu PDF
Hallo,
gibt es eine Möglichkeit (Unit, Package) Inhalt IpHtml-Panel eine PDF-Datei zu erzeugen?
Für Info wäre ich Dankbar.
Gruß
gibt es eine Möglichkeit (Unit, Package) Inhalt IpHtml-Panel eine PDF-Datei zu erzeugen?
Für Info wäre ich Dankbar.
Gruß
Re: iphtml zu PDF
HTML kann man auch ohne GUI in PDF umwandeln.
z.B. https://wkhtmltopdf.org/
z.B. https://wkhtmltopdf.org/
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: iphtml zu PDF
Danke, aber verstehe ich nicht so ganz.
So wie es aussieht, wird die Übersetzung Online gemacht.
Leider steht kein Netz zur Verfügung.
Ich brauche eine Offline Variante aus LZ heraus.
So wie es aussieht, wird die Übersetzung Online gemacht.
Leider steht kein Netz zur Verfügung.
Ich brauche eine Offline Variante aus LZ heraus.
Re: iphtml zu PDF
Wie kommst du denn da drauf?hbr hat geschrieben: Do 29. Dez 2022, 20:18 So wie es aussieht, wird die Übersetzung Online gemacht.
Code: Alles auswählen
wkhtmltopdf ./test.html ./test.pdf
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: iphtml zu PDF
Sag ich doch, ich verstehe es nicht.
Wie bindet man das ein? Auf git ist das in C und nicht in Delphi.
Wie bindet man das ein? Auf git ist das in C und nicht in Delphi.
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: iphtml zu PDF
Man bindet das nicht ein, man benutzt es. Es ist eine eigene (Kommandozeilen-)Applikation. Du wirst für Pascal nichts ähnliches finden.
So gesehen muss man auf deine erste Frage antworten:
NEIN es ist nichts bekannt, wie man eine direkte Umwandlung machen kann in Pascal, schon gar keine Unit oder Komponenten.
Es geht nur mit einem Workaround über ein externes Programm, so wie es Theo gezeigt hat. Ein erster Punkt zum Nachlesen ist hier https://wiki.freepascal.org/Executing_E ... rograms/de (Die Englische Version ist besser). Die Frage ist nur, auf welcher Plattform brauchst du das, weil das von Theo sieht sehr nach Linux Version aus. Edit: Es gibt scheinbar auch Versionen für Windows.
So gesehen muss man auf deine erste Frage antworten:
NEIN es ist nichts bekannt, wie man eine direkte Umwandlung machen kann in Pascal, schon gar keine Unit oder Komponenten.
Es geht nur mit einem Workaround über ein externes Programm, so wie es Theo gezeigt hat. Ein erster Punkt zum Nachlesen ist hier https://wiki.freepascal.org/Executing_E ... rograms/de (Die Englische Version ist besser). Die Frage ist nur, auf welcher Plattform brauchst du das, weil das von Theo sieht sehr nach Linux Version aus. Edit: Es gibt scheinbar auch Versionen für Windows.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: iphtml zu PDF
Das gibt es doch für viele Systeme https://wkhtmltopdf.org/downloads.html
Bei OpenSUSE auch schon im Repo dabei.
Wenn man lustig ist, kann man auch mit h2pas den pdf.h übersetzen und dann die DLL direkt ansprechen.
Bei OpenSUSE auch schon im Repo dabei.
Wenn man lustig ist, kann man auch mit h2pas den pdf.h übersetzen und dann die DLL direkt ansprechen.
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: iphtml zu PDF
Danke mag ja sein das man das umbauen kann, ich nicht!
Deswegen war meine Uhrsprungs Frage ja auch ob es da eine Unit für Lazarus gibt.
Deswegen war meine Uhrsprungs Frage ja auch ob es da eine Unit für Lazarus gibt.
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: iphtml zu PDF
Danke, @af0815
Das ist doch eine Ansage wo mit man leben kann.
Ist nur zu hoffen, dass es irgendwann ein Package für Lazarus geben wird.
Gruß
Das ist doch eine Ansage wo mit man leben kann.
Ist nur zu hoffen, dass es irgendwann ein Package für Lazarus geben wird.
Gruß
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: iphtml zu PDF
Moin!
Ich habe letztes Jahr eine Unit gemacht, in der wkhtmltopdf als DLL (Windows) bei Bedarf dynamisch geladen wird.
Es funktionierte scheinbar und ich war zunächst sehr glücklich - bis ich ein HTML mit einem Bild (img-Tag) an die DLL übergeben habe.
Egal ob das Bild lokal vorlag oder im Web, egal welches Protokoll (file: oder https: oder relativ ohne Protokoll-Angabe) oder sogar mittels img-Data, die DLL stürzte immer ab, ich glaube mit "Fließkomma-Division durch 0".
Ich habe gefühlt Tage damit verbracht eine Lösung zu finden, aber erfolglos.
Die letzte wkhtmltopdf-Version ist von Mitte 2020 und scheint nicht weiter gepflegt zu werden.
Falls jemand die DLL eingebunden hat und keine Probleme mit img hat, bitte melden.
Grüße, Jörg
Ich habe letztes Jahr eine Unit gemacht, in der wkhtmltopdf als DLL (Windows) bei Bedarf dynamisch geladen wird.
Es funktionierte scheinbar und ich war zunächst sehr glücklich - bis ich ein HTML mit einem Bild (img-Tag) an die DLL übergeben habe.
Egal ob das Bild lokal vorlag oder im Web, egal welches Protokoll (file: oder https: oder relativ ohne Protokoll-Angabe) oder sogar mittels img-Data, die DLL stürzte immer ab, ich glaube mit "Fließkomma-Division durch 0".
Ich habe gefühlt Tage damit verbracht eine Lösung zu finden, aber erfolglos.
Die letzte wkhtmltopdf-Version ist von Mitte 2020 und scheint nicht weiter gepflegt zu werden.
Falls jemand die DLL eingebunden hat und keine Probleme mit img hat, bitte melden.
Grüße, Jörg
Re: iphtml zu PDF
Nur eine Idee: Hast du mal so probiert?Jorg3000 hat geschrieben: Fr 30. Dez 2022, 05:48 Falls jemand die DLL eingebunden hat und keine Probleme mit img hat, bitte melden.
Code: Alles auswählen
uses Math;
//...
begin
SetExceptionMask(GetExceptionMask + [exOverflow,exZeroDivide,exInvalidOp]);
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: iphtml zu PDF
Das ist leider ein beliebtes Problem bei C-Libs. Irgendwie sind dort einige Entwickler der Meinung eine Division durch 0 muss nicht verhindert werden - man deaktiviert dann lieber die entsprechende Exception. Ist mir auch gerade untergekommen bei einer Lib.theo hat geschrieben: Fr 30. Dez 2022, 09:36 Nur eine Idee: Hast du mal so probiert?Code: Alles auswählen
uses Math; //... begin SetExceptionMask(GetExceptionMask + [exOverflow,exZeroDivide,exInvalidOp]);
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: iphtml zu PDF
Ja, muss ich aber aus meinen alten Units rauskopieren und nochmal testen.theo hat geschrieben: Fr 30. Dez 2022, 09:36Hast du die Header Übersetzung (und ein Beispielprog.) noch?
Komme zeitlich erst morgen dazu.
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: iphtml zu PDF
Hi!
Hier nun mein Beispiel-Projekt zur wkHtmlToPDF DLL für Windows (ich hab's nur mit 64 Bit getestet).
Die benötigte Datei "wkhtmltox.dll" muss man sich von https://wkhtmltopdf.org/downloads.html runterladen und in den Ordner des Beispiel-Projekts kopieren.
Mittels Button1 wird eine mitgelieferte HTML-Datei ohne ein enthaltenes Bild genommen und als PDF gespeichert. Funktioniert!
Bei Button2 das Gleiche, aber mit einem img-Tag im HTML. Das nippelt ab.
Bin gespannt, ob ich einfach nur ein Brett vorm Kopp habe - und würde mich freuen, wenn es nur eine Kleinigkeit wäre, es doch noch mit Bildern zum Laufen zu bringen.
Grüße, Jörg
Hier nun mein Beispiel-Projekt zur wkHtmlToPDF DLL für Windows (ich hab's nur mit 64 Bit getestet).
Die benötigte Datei "wkhtmltox.dll" muss man sich von https://wkhtmltopdf.org/downloads.html runterladen und in den Ordner des Beispiel-Projekts kopieren.
Mittels Button1 wird eine mitgelieferte HTML-Datei ohne ein enthaltenes Bild genommen und als PDF gespeichert. Funktioniert!
Bei Button2 das Gleiche, aber mit einem img-Tag im HTML. Das nippelt ab.
Bin gespannt, ob ich einfach nur ein Brett vorm Kopp habe - und würde mich freuen, wenn es nur eine Kleinigkeit wäre, es doch noch mit Bildern zum Laufen zu bringen.
Grüße, Jörg
- Dateianhänge
-
laz-wkHtmlToX.zip
- (177.25 KiB) 63-mal heruntergeladen
-
- Beiträge: 954
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: iphtml zu PDF
Das liegt aber auch daran, dass es kein gezieltes Konzept zur Ausnahmebehandlung in C gibt. In POSIX gibt es Signale und in Windows gibt es SEH, aber es gibt nichts standardisiertes. Und wenn man Signale in einer Bibliothek behandelt, dann muss man auch aufpassen, damit man nicht eventuell der Anwendung die Signalbehandlung abknappst. Deswegen schalten C Bibliotheken dies ab (bzw. gar nicht erst ein) während (Object) Pascal da ein standardisiertes Konzept dafür hat.m.fuchs hat geschrieben: Fr 30. Dez 2022, 09:47Das ist leider ein beliebtes Problem bei C-Libs. Irgendwie sind dort einige Entwickler der Meinung eine Division durch 0 muss nicht verhindert werden - man deaktiviert dann lieber die entsprechende Exception. Ist mir auch gerade untergekommen bei einer Lib.theo hat geschrieben: Fr 30. Dez 2022, 09:36 Nur eine Idee: Hast du mal so probiert?Code: Alles auswählen
uses Math; //... begin SetExceptionMask(GetExceptionMask + [exOverflow,exZeroDivide,exInvalidOp]);
FPC Compiler Entwickler