Следующий код должен создать PDF с использованием FPDF:
font_size = 8
pdf = FPDF(unit = 'mm')
pdf.set_font("Arial", "", font_size)
full_w, full_h = 150, 70
txt = "Text"
txt_w = pdf.get_string_width(txt)
txt_h = font_size * 0.352778 # convert pt to mm
pdf.add_page('P', format=(full_w, full_h))
pdf.set_xy(0, 50)
pdf.cell(txt_w, txt_h, txt, align='R', border = 1)
pdf.output(fname)
Как ни странно, это приводит к следующему PDF:
Есть две проблемы:
Я размещаю текст на расстоянии 50 мм от верха на листе высотой 70 мм. Так почему же он появляется не на 50 мм, а на второй странице?
Также кажется, что txt_w
и txt_h
не рассчитаны правильно, чтобы точно получить геометрический размер строки. Как я могу получить это более точно?