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 可在此链接下下载

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

相关推荐
代龙涛17 小时前
wordpress块主题
开发语言·后端·php
毕设源码-赖学姐18 小时前
【开题答辩全过程】以 基于java电脑售后服务管理系统设计为例,包含答辩的问题和答案
java·开发语言
柒.梧.18 小时前
Java构造器精讲:从基础特征到权限修饰符
开发语言·python
PingdiGuo_guo18 小时前
C++指针(一)
开发语言·c++
搬砖者(视觉算法工程师)19 小时前
PyApp:一种将 Python 工程打包为可执行文件的简易方法
python
洛的地理研学19 小时前
gma 绘制唐都畿道一府四州
python·gma 教程
模型时代19 小时前
Arista暗示正在开发AI网络管理遥测工具
开发语言·人工智能·php
张3蜂19 小时前
Python变量与命名规范:从入门到精通
开发语言·python
电商API_1800790524719 小时前
京东商品评论API接口封装的心路历程
服务器·开发语言·爬虫·数据分析·php
秦始皇爱找茬19 小时前
Playwright Python Windows 下 headful Chromium 崩溃排查经验分享
python·ui自动化·playwright