将文本转换为PDF的问题

时间:2019-10-16 21:05:45

标签: python

我正在使用FPDF将文本转换为PDF。当我写入PDF时,标题看起来与原始文本相去甚远。我想出了使用set_x逐行定位的解决方案。我有以“ Account#”开头,​​以“ -------”结尾的列标题。如何在所有标题保持不变的情况下更改所有标题?

原始文本:https://flic.kr/p/2hw2Zft

PDF:https://flic.kr/p/2hw43hQ

Import FPDF

pdf = FPDF("L", "mm", "A4")
pdf.add_page()
pdf.set_font('arial', style='', size=10.0)

with open('C:\\Users\\bxt058y\\PycharmProjects\\MSIT501\\SUMB_Statement_29396- 
76397.txt', 'r') as file:

lines = file.readlines()
for line in lines:
    pdf.multi_cell(h=5.0, align='L', w=0, txt=line, border=0)
pdf.output('drafttest.pdf', 'F')

header1 = lines[0]
header2 = lines[1]
header3 = lines[2]
header4 = lines[3]
header5_1 = " ".join(lines[4].split()[:4])
print(header5_1)
header5_2 = " ".join(lines[4].split()[4:])
print(header5_2)
header6 = lines[5]
header7 = lines[6]
print(header_find)
header8 = lines[7]
header8_1 = " ".join(lines[8].split()[:4])
header8_2 = " ".join(lines[8].split()[4:])
print(header8_2)
header9_1 = " ".join(lines[9].split()[:5])
header9_2 = " ".join(lines[9].split()[5:])



pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header1.strip(), border=0)
pdf.set_x(124)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header2.strip(), border=0)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header3.strip(), border=0)
pdf.set_x(65)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header4, border=0)
pdf.set_x(45)
pdf.cell(ln=0, h=5.0, align='L', w=0, txt=header5_1, border=0)
pdf.set_x(129)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header5_2, border=0)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header6.strip(), border=0)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header7.strip(), border=0)
pdf.cell(ln=0, h=5.0, align='L', w=0, txt=header8_1, border=0)
pdf.set_x(125)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header8_2, border=0)
pdf.cell(ln=0, h=5.0, align='L', w=0, txt=header9_1, border=0)
pdf.set_x(125)
pdf.cell(ln=1, h=5.0, align='L', w=0, txt=header9_2, border=0)

0 个答案:

没有答案