Python 在PDF中添加、替换、或删除图片

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

  1. Python 在PDF中添加图片
  2. 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页面的指定坐标处绘制加载的图片。实现代码如下:

复制代码
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() 方法。实现代码如下:

复制代码
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) 方法。 实现代码如下:

复制代码
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文档的示例,可查看:https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html

去除红色水印 -- 点击申请试用授权

相关推荐
waterHBO2 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七3 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
AIAdvocate5 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼5 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
FreakStudio7 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
redcocal8 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
artificiali8 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
RaidenQ8 小时前
2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
图像处理·python·算法·课程设计
花生了什么树~.9 小时前
python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用
开发语言·python
Trouvaille ~9 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算