python:reportlab 生成pdf:基本用法。

1.首先,打开cmd,安装reportlab

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple reportlab #从清华镜像安装更快

然后就可以使用其基本用法。

复制代码
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def generate_pdf(filename):
    c = canvas.Canvas(filename, pagesize=letter)
    c.drawString(100, 750, "Hello, World!")
    c.save()
    print(f"PDF 文件 {filename} 已成功生成!")

if __name__ == "__main__":
    generate_pdf("D:/reportlab/hello_world.pdf")
   

#但上面的代码有一个问题,就是不能识别中文。

#接下来进行改正

复制代码
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics

def generate_pdf(filename):
    # 添加中文字体
    pdfmetrics.registerFont(TTFont('SimSun', 'D:/reportlab/simsun/simsun.ttf'))
 # 这里的 'simsun.ttf' 是中文字体文件名,需提前下载并放置在正确的路径下

    c = canvas.Canvas(filename, pagesize=letter)
    c.setFont('SimSun', 12)  # 设置字体为中文字体,大小为12
    c.drawString(100, 750, "你好,世界!")  # 中文字符
    c.save()
    print(f"PDF 文件 {filename} 已成功生成!")

if __name__ == "__main__":
    generate_pdf("D:/reportlab/hello_world1111111111.pdf")

#这个需要下载宋体文件,并保存在固定的路径中。Simsun - Free Fonts 可在此链接下下载

保存在特定路径下,解压缩即可。

相关推荐
new code Boy几秒前
前端核心基础汇总
开发语言·javascript·原型模式
ou.cs5 分钟前
C# params 关键字详解:从入门到精通(保姆级教程)
开发语言·c#·.net
請你喝杯Java12 分钟前
Python 后端开发:从虚拟环境、pip、requirements.txt 到项目启动
开发语言·python·pip
YFLICKERH13 分钟前
【Python-Web后端开发框架】Flask | Django | FastAPI | Tornado 选型与 使用 | 特性
前端·python·flask
2401_8319207418 分钟前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
也曾看到过繁星22 分钟前
初识c++
开发语言·c++
2401_8747325333 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
飞Link34 分钟前
具身智能中 Wrapper 架构的深度解构与 Python 实战
开发语言·python·架构
2401_8426236538 分钟前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python
叫我一声阿雷吧1 小时前
JS 入门通关手册(21):原型链:JS 继承的底层原理
开发语言·javascript·前端面试·原型链·js继承·js进阶·js面向对象