0

我正在构建一个类来生成自动 pdf 报告。(使用 FPDF)在我的课堂上,到目前为止我已经定义了两个函数。一个呈现第一页(正面),一个呈现第二页(page_two)。这两个函数产生了我想要的。但是当我尝试在函数中将两者结合起来时,第二页会变成白色。

我不明白为什么。任何帮助将非常感激。

from fpdf import FPDF

class MY_PDF(FPDF):
    
    def _init_(self, **kwargs):
        super(MY_PDF, self)-__init__(**kwargs)
        
        pdf.add_font('Arial', '', r"c:\WINDOWS\Fonts\ARIAL.ttf", uni=True)
        pdf.add_font('Arial_Bold', '', r"c:\WINDOWS\Fonts\ARIALBD.ttf", uni=True)
        pdf.add_font('Georgia', '', r"c:\WINDOWS\Fonts\GEORGIA.ttf", uni=True)
        pdf.add_font('Calibri', '', r"c:\WINDOWS\Fonts\CALIBRI.ttf", uni=True)
        
        # A4.
        WIDTH = 210
        HEIGHT = 297
    
    
    def front(self, title, second_title):

        self.set_fill_color(0,0,90) 
        self.rect(0.5, 50, WIDTH-1, 75, 'F')
        self.set_fill_color(149,194,61) 
        pdf.rect(14, 12, 5, 280, 'F')

        self.set_font('Arial', 'B', 38)
        self.set_text_color(255, 255, 255)
        self.cell(15)
        self.cell(150, 135, txt=f'{title}')

        self.ln(10)
        self.set_font('Arial', '', 28)
        self.set_text_color(255, 255, 255)
        self.cell(15)
        self.cell(150, 150, txt=f'{second_title}')

        #self.image('logga.png', 25, 12, 50)
        self.ln()   
        
    def page_two(self, name, date, nr):
        
        self.set_font('Arial', '', 9)
        self.ln(250)
        self.cell(20)
        self.cell(0, 0, txt="©", align='L', ln=0)
        self.cell(-160)
        self.cell(0, 0, txt='Company name', align='L', ln=2)
        self.ln(4)
        self.cell(30)
        self.cell(0, 0, txt=f'Author: {name}', align='L',  ln=2)
        self.ln(4)
        self.cell(30)
        self.cell(0, 0, txt=f'Date: {date}', align='L', ln=2)
        self.ln(4)
        self.cell(30)
        self.cell(0, 0, txt=f'Number: {nr}', align='L',  ln=2)
        self.ln()   
        
    
    def join(self, title, second_title, name, date, nr):
        self.add_page()
        self.front(title, second_title)
        self.add_page()
        self.page_two(name, date, nr)
        
pdf= MY_PDF()

pdf.join('TITLE!', 'some other title', 'Name Name', '2021-11-30', '21262')
pdf.output('output.pdf')       
        

4

0 回答 0