如果在将文本保存为PDF时出现截断的情况,可能是因为文本内容超出了PDF页面的可见区域。您可以尝试使用以下代码示例来解决这个问题:
from fpdf import FPDF
class PDF(FPDF):
def header(self):
# 设置字体和字体大小
self.set_font('Arial', 'B', 12)
# 输出页眉
self.cell(0, 10, 'Page Header', 0, 1, 'C')
def footer(self):
# 设置字体和字体大小
self.set_font('Arial', 'I', 8)
# 输出页脚
self.cell(0, 10, 'Page Footer', 0, 0, 'C')
def chapter_title(self, title):
# 设置字体和字体大小
self.set_font('Arial', 'B', 14)
# 输出章节标题
self.cell(0, 10, title, 0, 1, 'L')
# 添加换行
self.ln(10)
def chapter_body(self, body):
# 设置字体和字体大小
self.set_font('Arial', '', 12)
# 输出章节内容
self.multi_cell(0, 10, body)
# 添加换行
self.ln(10)
# 创建PDF对象
pdf = PDF()
# 添加一页
pdf.add_page()
# 添加章节标题和内容
pdf.chapter_title('Chapter 1')
pdf.chapter_body('This is the content of chapter 1.')
# 保存PDF文件
pdf.output('output.pdf')
在这个示例中,我们通过继承 FPDF
类创建了一个自定义的 PDF
类。在 header
方法中设置了页眉,在 footer
方法中设置了页脚。在 chapter_title
方法中输出章节标题,在 chapter_body
方法中输出章节内容。通过使用 multi_cell
方法代替 cell
方法,可以自动换行输出文本内容。
您可以根据实际情况修改字体、字体大小和文本内容,以适应您的需求。最后,通过调用 output
方法将生成的PDF保存为文件。