FPDF 简介
FPDF 是一个 可用于创建 PDF 格式文件的纯 PHP 类,也就说不需要借助 PDFlib 库。FPDF首部的F代表自由,自由软件的自由。
Python中所用到的FPDF是基于PHP版本的FPDF。
安装
pip install fpdf
样例
列举以下示例,描绘如何通过代码生成PDF文件。
- 添加单行文字
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(40, 10,'Hello, World!')
pdf.output('tutorial_01.pdf', 'F')
- 添加标题、脚注以及照片
from fpdf import FPDF
class PDF(FPDF):
def header(self):
# Logo
self.image('logo_fb.jpg', 10, 8, 33)
# Arial bold 15
self.set_font('Arial', 'B', 15)
# Move to the right
self.cell(80)
# Title
self.cell(30, 10, 'Title', 1, 0, 'C')
# Line break
self.ln(20)
# Page footer
def footer(self):
# Position at 1.5 cm from bottom
self.set_y(-15)
# Arial italic 8
self.set_font('Arial', 'I', 8)
# Page number
self.cell(0, 10, 'Page ' + str(self.page_no()) + '/{nb}', 0, 0, 'C')
# Instantiation of inherited class
pdf = PDF()
pdf.alias_nb_pages()
pdf.add_page()
pdf.set_font('Times', '', 12)
for i in range(1, 41):
pdf.cell(0, 10, 'Printing line number ' + str(i), 0, 1)
pdf.output('tutorial_02.pdf', 'F')
3. 中文支持
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.add_font('kaiti','',"C:\\Windows\\Fonts\\stkaiti.ttf",True)
# 注意:也可将 stkai.ttf 放在与本脚本的同一文件夹内
# pdf.add_font('kaiti','',"stkaiti.ttf",True)
pdf.set_font('kaiti','',16)
pdf.cell(40, 10, "你好,世界!")
pdf.output("tutorial_05.pdf")