Python 操作PDF图片 – 添加、替换、删除PDF中的图片

PDF文件中的图片可以丰富文档内容,提升用户的阅读体验。除了在PDF中添加图片外,有时也需要替换或删除其中的图片,以改进视觉效果或更新信息。文本将提供以下三个示例,介绍如何使用Python 操作PDF文件中的图片:

目录

[1. 使用 Python 在PDF中添加图片](#1. 使用 Python 在PDF中添加图片)

[2.使用 Python 替换PDF中的图片](#2.使用 Python 替换PDF中的图片)

[3. 使用 Python 删除PDF中的图片](#3. 使用 Python 删除PDF中的图片)


首先,我们需要安装一个名为Spire.PDF for Python 的Python库,它可以用于处理PDF文件。可以使用pip来安装该库:

pip install Spire.PDF

1. 使用Python在PDF中添加图片

Spire.PDF for Python库提供了 PdfPageBase.Canvas.DrawImage() 方法,可用于在PDF页面的指定坐标处绘制加载的图片。实现代码如下:

python 复制代码
from spire.pdf.common import *
from spire.pdf import *

# 创建PdfDocument对象
pdf = PdfDocument()

# 添加一页
page = pdf.Pages.Add()

# 加载一张图片
image = PdfImage.FromFile("图片1.jpeg")

# 指定图片尺寸
width = image.Width * 0.70
height = image.Height * 0.70

# 指定图片所在的XY坐标
x = 60.0
y = 30.0

# 将图片绘制在页面指定位置
page.Canvas.DrawImage(image, x, y, width, height)

# 保存PDF文件
pdf.SaveToFile("PDF添加图片.pdf", FileFormat.PDF)

生成文件:

2.使用Python替换PDF中的图片

要用新图片替换PDF中的图片,可以使用 PdfPageBase.ReplaceImage() 方法。实现代码如下:

python 复制代码
from spire.pdf.common import *
from spire.pdf import *

# 加载PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("PDF添加图片.pdf")

# 获取第一页
page = pdf.Pages[0]

# 加载一张图片
image = PdfImage.FromFile("图片2.png")

# 获取页面中的图片信息
imageInfo = page.ImagesInfo

# 用加载的新图片替换页面中第一张图片
page.ReplaceImage(imageInfo[0].Index, image)

# 保存PDF文件
pdf.SaveToFile("替换图片.pdf", FileFormat.PDF)

效果图:

3. 使用Python删除PDF中的图片

要删除指定的图片可以使用 PdfPageBase.DeleteImage(index)。 实现代码如下:

python 复制代码
from spire.pdf.common import *
from spire.pdf import *

# 加载PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("PDF添加图片.pdf")

# 获取第一页
page = pdf.Pages[0]

# 删除该页中的第一张图片
page.DeleteImage(0)

# 保存PDF文件
pdf.SaveToFile("删除图片.pdf", FileFormat.PDF)

Spire.PDF for Python库提供了相应的接口来添加、替换、删除PDF图片,通过运行上面3段示例代码即可实现对应的操作。如想了解更多Python处理PDF文档的示例,可查看:

Spire.PDF for Python 中文教程Spire.PDF for Python 是一款完全独立的 PDF 开发组件,用于在 Python 程序中创建、读取、编辑、转换和保存 PDF 文档。开发人员可以使用 Spire.PDF for Python 类库来新建 PDF 文档或对现有的 PDF 文档进行处理,不需要任何第三方工具。同时,该组...https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html

去除红色水印:

申请免费临时授权文件创建、编辑、转换和打印 Office:Excel (xls,xlsx), Word (doc,docx), PowerPoint, PDF 及 Barcode https://www.e-iceblue.cn/misc/temporary-license.html

相关推荐
数据智能老司机10 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机11 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机11 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机11 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i11 小时前
drf初步梳理
python·django
每日AI新事件11 小时前
python的异步函数
python
这里有鱼汤13 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook1 天前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室1 天前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三1 天前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试