Python FPDF 渲染问题

Python FPDF rendering issue

我正在寻找有关以下代码的帮助。当我 运行 "title.py" 时,我在 PDF 上得到了预期的结果。但是,当我将 class 导入 main.py 时,我得到一个空白的 PDF 页面。我不确定我做错了什么。任何帮助将不胜感激。

title.py:

from fpdf import FPDF


class TitlePage(FPDF):
    def __init__(self):
        super().__init__()
        self.price_book_title()

    def price_book_title(self):
        self.add_page()
        self.set_font('arial', 'B', 18)
        self.set_text_color(r=11, g=74, b=122)
        title = 'TEST PDF NAME'
        title_w = self.get_string_width(title)
        self.set_xy(x=((self.w - title_w) / 2), y=(self.h / 5))
        self.cell(title_w, txt=title, align='C')


temp = TitlePage()
temp.price_book_title()

temp.output('Title Page Test.pdf')

main.py

from fpdf import FPDF
from title import TitlePage

pdf = FPDF()
title_page = TitlePage()

title_page.price_book_title()

pdf.output('TEST.pdf')

我快速浏览了 PyFPDF 文档 here,发现了一个与您的类似的片段 - 我认为您应该按如下方式更改 main.py 文件:

from title import TitlePage

title_page = TitlePage()
title_page.price_book_title()
title_page.output('TEST.pdf')

就像在文档片段中一样,您的 class 扩展了 FPDF class,因此您应该可以调用 上面的 output 方法 - 你得到空白页的原因是你保存的是用 pdf = FPDF() 创建的空文档,而不是用 [=12= 创建的 class ].