Beispielprojekt pdf mit Libharu
-
- Beiträge: 129
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Beispielprojekt pdf mit Libharu
Hallo an Alle,
hier ein kleines Beispielprojekt für die Erstellung von PDF-Dateien zur Laufzeit mit Libharu.DLL.
Ich habe auch eine Klasse dafür erstellt, vielleicht kann es jemand gebrauchen.
Vbxler
hier ein kleines Beispielprojekt für die Erstellung von PDF-Dateien zur Laufzeit mit Libharu.DLL.
Ich habe auch eine Klasse dafür erstellt, vielleicht kann es jemand gebrauchen.
Vbxler
- Dateianhänge
-
Libharu_Beispiel.7z
- (1.05 MiB) 193-mal heruntergeladen
Vbxler
-------------------------
-------------------------
-
- Beiträge: 214
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Beispielprojekt pdf mit Libharu
Danke für das Beispiel. Es funktioniert wunderbar.
Leider habe ich auf der LIBHARU-Seite nirgendwo ein Beispiel dafür gefunden,
wie ich ein transparentes PNG auf einen farbigen Hintergrund platzieren kann.
Immer geht mir dabei die Transparenz verloren.
Hat jemand ein CodeSchnipsel für mich?
Leider habe ich auf der LIBHARU-Seite nirgendwo ein Beispiel dafür gefunden,
wie ich ein transparentes PNG auf einen farbigen Hintergrund platzieren kann.
Immer geht mir dabei die Transparenz verloren.
Hat jemand ein CodeSchnipsel für mich?
-
- Beiträge: 129
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Re: Beispielprojekt pdf mit Libharu
Die von mir eingestetzte DLL ist nicht die aktuellste Fassung.
Es gibt die Funktion HPDF_Page_ExecuteXObject, die das vielleicht könnte, ist aber hier nicht enthalten:
http://libharu.sourceforge.net/graphics.html#Images_
Leider habe ich es nicht geschafft, eine aktuelle Version der DLL kriegen,
die man mit Pascal verwenden kann. Vielleicht hat jemand eine aktueller Version als 2.0.8.0
Es gibt die Funktion HPDF_Page_ExecuteXObject, die das vielleicht könnte, ist aber hier nicht enthalten:
http://libharu.sourceforge.net/graphics.html#Images_
Leider habe ich es nicht geschafft, eine aktuelle Version der DLL kriegen,
die man mit Pascal verwenden kann. Vielleicht hat jemand eine aktueller Version als 2.0.8.0
Vbxler
-------------------------
-------------------------
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Beispielprojekt pdf mit Libharu
Mit PowerPDF kann man das ganze ohne Plattformabhängiger dll, bringt das vorgehen mit der Lib Vorteile ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 214
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Beispielprojekt pdf mit Libharu
@Christian: Bist Du sicher, dass PowerPDF transparente PNGs transparent darstellen kann?
-
- Beiträge: 214
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Beispielprojekt pdf mit Libharu
@vbxler:
Anbei ein kleines HelloWorld-Programm, welches die fehlerhafte PNG-Transparenz beweist.
Anbei ein kleines HelloWorld-Programm, welches die fehlerhafte PNG-Transparenz beweist.
- Dateianhänge
-
HelloWorld.zip
- HelloWorld-Programm
- (1.74 MiB) 157-mal heruntergeladen
Re: Beispielprojekt pdf mit Libharu
Habs mir eben mal angesehen. Mit einer zusätzlichen Zeile funktioniert die Ausblendung des schwarzen Hintergrunds (oder der Farben, gemäß der übergebenen Bereichen) eine echte Transparenz (additiv) wird scheinbar nicht unterstützt:siehe: http://libharu.sourceforge.net/image_handling.html
Bsp anbei:
Code: Alles auswählen
function THaruPdf.DrawImage(iPage: Integer; sImage: String; DrawData: HPDF_Draw_Data; lBildType: Integer): Integer;
...
HPDF_Page_DrawImage (m_hPage[iPage], hImage, DrawData.pos.xStart - DrawData.pos.yEnde, DrawData.pos.yStart - DrawData.pos.xEnde, DrawData.pos.yEnde, DrawData.pos.xEnde);
HPDF_Image_SetColorMask (hImage, 0, 0, 0, 0, 0, 0); //hier
Bsp anbei:
- Dateianhänge
-
TestPDF.zip
- (1.12 MiB) 140-mal heruntergeladen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;