Generowanie PDF z treścią

0

Witam, piszę ten post z prośbą o pomoc!

Muszę napisać prosty mały program.

Treść brzmi mniej więcej tak : "mamy plik excela w którym są 3 kolumny (imię, nazwisko, płeć K/M). Program ma wczytać dane z excela i stworzyć pliki .pdf o nazwach " imię_nazwisko.pdf" każdej osoby wczytanej z excela. W każdym pliku ma być dodatkowo treść zaproszenia "zapraszam Panią lub Pana (w zależności od płci) na imprezę okolicznościową".

Poniżej mój kod. Pdfy się generują ale nie ma w nich zadnej treści :(

import pandas as pd
import os
import sys
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics, ttfonts

pathname = os.path.dirname(sys.argv[0])

file_location = f'{pathname}/lista.xlsx'
data = pd.read_excel(file_location)

pdfmetrics.registerFont(ttfonts.TTFont('Arial', 'arial.ttf'))

LEN = len(data)

for i in range(LEN):
c = canvas.Canvas(f"{data['IMIĘ'][i]}_{data['NAZWISKO'][i]}.pdf", pagesize='A4')

prefix = 'Panią' if data["PŁEĆ"][i] == 'K' else 'Pana'
formula = f"Zapraszam {prefix} na imprezę okolicznościową"
c.setFont('Arial', 17)
c.drawString(2000, 4000, formula)
c.save()
0

c.drawString(2000, 4000, formula)
Trochę duże te wartości.

from reportlab.lib.pagesizes import A4
print(A4)
# wynik: (595.2755905511812, 841.8897637795277)
0
Delor napisał(a):

c.drawString(2000, 4000, formula)
Trochę duże te wartości.

from reportlab.lib.pagesizes import A4
print(A4)
# wynik: (595.2755905511812, 841.8897637795277)

faktycznie zmniejszenie wartości rozwiązuje problem. Szacuneczek :)
Dzięki! pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1