当前位置: 首页 > news >正文

python创建pdf文件

目录

一:使用reportlab库

二:使用使pdf库


在Python中生成PDF文件可以使用多种库,其中最常用的是reportlab和fpdf。以下是使用这两个库生成PDF文件的示例代码:

一:使用reportlab库


1:写入文字信息
from reportlab.pdfgen import canvas  
  
# 创建一个PDF文件  
pdf = canvas.Canvas("example.pdf")  
  
# 在PDF文件中添加文本  
pdf.drawString(100, 750, "Hello, World!")  
  
# 保存PDF文件  
pdf.save()

2:写入图片信息


from reportlab.lib.pagesizes import letter  
from reportlab.lib.units import inch  
from reportlab.pdfgen import canvas  
from reportlab.platypus import Image  
  
# 创建一个PDF文件并设置页面大小  
pdf = canvas.Canvas("example.pdf", pagesize=letter)  
  
# 加载图像文件  
image_path = "path/to/your/image.jpg"  # 替换为您的图像文件的路径  
image = Image(image_path)  
  
# 计算图像的尺寸并将其插入到PDF中  
image.drawOn(pdf, 0, 0, scale=1, angle=0)  
  
# 保存PDF文件  
pdf.save()

3:创建新页面

from reportlab.pdfgen import canvas  
  
# 创建一个PDF文件  
pdf = canvas.Canvas("example.pdf")  
  
# 添加一页  
pdf.showPage()  
  
# 保存PDF文件  
pdf.save()

4:设置标题

from reportlab.lib.pagesizes import letter  
from reportlab.lib.units import inch  
from reportlab.pdfgen import canvas  
from reportlab.platypus import Paragraph, Spacer, PageBreak, getSampleStyleSheet  
  
# 创建一个PDF文件并设置页面大小  
pdf = canvas.Canvas("example.pdf", pagesize=letter)  
  
# 创建一个段落对象并设置标题内容  
title = "我的标题"  # 替换为你想要的标题内容  
paragraph = Paragraph(title, style=styles["Heading1"])  # 使用Heading1样式,你可以根据需要选择其他样式  
  
# 将段落对象添加到故事对象中  
story = [paragraph]  
  
# 在PDF中添加故事对象,并添加一个页面分隔符  
pdf.addFromList(story, pagebreakbefore=True)  # 在添加故事对象之前先添加一个页面分隔符  
  
# 保存PDF文件  
pdf.save()

二:使用使pdf库

1:写入文字信息


from fpdf import FPDF  
  
# 创建一个PDF对象  
pdf = FPDF()  
  
# 添加一页  
pdf.add_page()  
  
# 在PDF中添加文本  
pdf.set_font("Arial", size=12)  
pdf.cell(200, 10, txt="Hello, World!", ln=True)  
  
# 保存PDF文件  
pdf.output("example.pdf")

2:写入图片信息

from fpdf import FPDF  
  
# 创建一个PDF对象  
pdf = FPDF()  
  
# 添加一页  
pdf.add_page()  
  
# 加载图像文件  
image_path = "path/to/your/image.jpg"  # 替换为您的图像文件的路径  
pdf.image(image_path, x=0, y=0, w=500, h=600)  # 设置图像的位置和大小  
  
# 保存PDF文件  
pdf.output("example.pdf")

3:创建新页面

from fpdf import FPDF  
  
# 创建一个PDF对象  
pdf = FPDF()  
  
# 添加一页  
pdf.add_page()  

# 保存PDF文件  
pdf.output("example.pdf")

4:设置标题

from fpdf import FPDF  
  
# 创建一个PDF对象  
pdf = FPDF()  
  
# 添加一页  
pdf.add_page()  
  
# 设置标题  
pdf.set_font("Arial", size=14)  # 设置字体和字号  
pdf.cell(0, 10, txt="标题", ln=True, align='C')  # 添加标题,居中对齐  
  
# 保存PDF文件  
pdf.output("example.pdf")

http://www.lryc.cn/news/297376.html

相关文章:

  • ubuntu开机报错/dev/nume0n1p2:clean
  • openstack(T版)公有云--Dashboard服务
  • Vue ElementUI中el-table表格嵌套样式问题
  • ssm+vue的校园一卡通密钥管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
  • docker进阶 问题1
  • 【OpenVINO™】在 MacOS 上使用 OpenVINO™ C# API 部署 Yolov5 (下篇)
  • 使用CHATGPT进行论文写作的缺点和风险
  • 【Android-Gradle】多模块开发中,定义额外属性(全局变量),穿梭在不同的Gradle文件中(kotlin脚本版)
  • React18原理: Fiber架构下的单线程CPU调度策略
  • 个人搜集的gstreamer学习链接
  • Blazor Wasm Gitee 码云登录
  • Android 自定义BaseActivity
  • 基于鲲鹏服务器的LNMP配置
  • MIT-Missing Semester_Topic 6:Version Control (Git) 练习题
  • OpenHarmony轻量级内核-LiteOS-M
  • TCP 传输控制协议——详细
  • ArcGIS学习(六)地理数据库
  • 保研机试算法训练个人记录笔记(四)——哈希算法
  • ChatGPT实战100例 - (14) 打造AI编程助手 Code Copilot
  • 表单标记(html)
  • Linux文件和目录管理
  • 【go】gorm\xorm\ent事务处理
  • 【数据分享】1929-2023年全球站点的逐月平均风速(Shp\Excel\免费获取)
  • IP地址详解
  • Python爬虫http基本原理#2
  • Web Services 服务 是不是过时了?创建 Web Services 服务实例
  • redis单线程还快的原因
  • 【flutter】报错 cmdline-tools component is missing
  • 以用户为中心,酷开科技荣获“消费者服务之星”
  • Days 27 ElfBoard 板 AltiumDesigner 相同电路快速布局布线