Seite 1 von 1

FPDF

Verfasst: Freitag 20. Dezember 2024, 16:52
von forumseeker
Hallo!

es ist warscheinlich nur eine Kleinigkeit, aber ich habe mich schon totgesucht:

Ich will unter ein Bild, dass ich mit .image kopiert habe, einen Text , den ich mit .cell einfügen will, daruntersetzen, also z.B. einen Briefkopf und darunter eine Adresse. Aber der Text erscheint immer oben links.

Was mache ich falsch?

so sieht mein Code aus:

Code: Alles auswählen

pdf.image("einlieferung_oben.png", 10, 20, 0, 85)
          
pdf.cell(30,10, "Name", 1)
pdf.cell(120,10, name, 1, ln=1)

Re: FPDF

Verfasst: Freitag 20. Dezember 2024, 17:08
von Dennis89
Hallo,

`cell` wird an der aktuellen Position erstellt:
https://pyfpdf.readthedocs.io/en/latest ... index.html

Die Positionen können gesetzt werden, für `x` siehe:
https://pyfpdf.readthedocs.io/en/latest ... index.html

Darin sind auch Links zum setzen der `y`-Position, wie auch zur Abfrage der aktuellen Positionen.

Grüße
Dennis

Edit: Besser, hier kannst du `x` und `y` zusammen setzen:
https://pyfpdf.readthedocs.io/en/latest ... index.html

Re: FPDF

Verfasst: Freitag 20. Dezember 2024, 19:37
von forumseeker
Danke, sehe ich mir mal an!

Re: FPDF

Verfasst: Samstag 21. Dezember 2024, 10:23
von noisefloor
Hallo,

FPDF wird scheinbar nicht mehr gepflegt, der letzte Commit ins Repo ist ~7 Jahre alt und die Doku ist an einigen Stellen nicht mehr up-to-date. Wenn's noch funktioniert ist das ja gut, aber zukunftssicher ist das sicher nicht mehr. Also vielleicht perspektivisch mal nach Alternativen schauen. Was FPDF ähnlich ist und IMHO der quasi-Standard unter Python zum Bauen von PDF "from scratch" ist ReportLab.

Gruß, noisefloor

Re: FPDF

Verfasst: Samstag 21. Dezember 2024, 10:32
von forumseeker
Auch Dir danke! Auch das werde ich mir mal durchlesen.

Re: FPDF

Verfasst: Samstag 21. Dezember 2024, 14:35
von geraldfo
WeasyPrint wäre auch eine Alternative.

WeasyPrint konvertiert HTML in PDF; d. h. man muss als Zwischenschritt ein HTML-Dokument erzeugen.

Wem HTML vertraut ist könnte diese Vorgehensweise leichter fallen.