除了文本内容外,pdf 文件中的图片在有效传达信息方面也发挥着重要作用。在 pdf 文档中对图片进行添加、替换、删除等操作,对于增强视觉吸引力、更新过时的图片或修改文档内容非常有帮助。在本文中,您将学习如何使用 spire.pdf for python 在 python 中添加、替换或删除 pdf 文档中的图片。
安装 spire.pdf for python
本教程需要用到 spire.pdf for python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.pdf
如果您不清楚如何安装,请参考此教程: 如何在 vs code 中安装 spire.pdf for python
python 在 pdf 文件中添加图片
要在 pdf 页面中添加图片,可以使用 pdfpage.canvas.drawimage() 方法。具体步骤如下:
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.pages.add() 方法为文档添加页面。
- 使用 pdfimage.fromfile() 方法加载图片。
- 使用 pdfpagebase.canvas.drawimage() 方法在页面的指定位置绘制图片。
- 使用 pdfdocument.savetofile() 方法保存结果文档。
- python
from spire.pdf.common import *
from spire.pdf import *
# 创建pdfdocument对象
doc = pdfdocument()
# 设置页边距
doc.pagesettings.setmargins(30.0, 30.0, 30.0, 30.0)
# 添加一页
page = doc.pages.add()
# 加载图片
image = pdfimage.fromfile("logo.png")
# 指定图片大小
width = image.width * 0.50
height = image.height * 0.50
# 在页面指定位置绘制图像
x = 10.0
y = 30.0
page.canvas.drawimage(image, x, y, width, height)
# 保存结果文件
doc.savetofile("添加图片.pdf", fileformat.pdf)
python 替换 pdf 文件中的图片
要用新图片替换 pdf 中的已有图片,可以使用 pdfpagecollection.replaceimage() 方法。具体步骤如下:
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文档。
- 通过 pdfdocument.pages[index] 属性获取特定页面。
- 使用 pdfimage.fromfile() 方法加载图片。
- 使用 pdfpagecollection.imagesinfo 属性获取指定页面中的图片信息。
- 使用 pdfpagecollection.replaceimage() 方法用加载的图片替换页面中的现有图片。
- 使用 pdfdocument.savetofile() 方法保存结果文档。
- python
from spire.pdf.common import *
from spire.pdf import *
# 创建pdfdocument对象
pdf = pdfdocument()
# 加载pdf文件
pdf.loadfromfile("添加图片.pdf")
# 获取第一页
page = pdf.pages[0]
# 加载图片
image = pdfimage.fromfile("img.png")
# 获取页面中的图片信息
imageinfo = page.imagesinfo
# 用加载的图片替换页面上的第一张图片
page.replaceimage(imageinfo[0].index, image)
# 保存结果文件
pdf.savetofile("替换图片.pdf", fileformat.pdf)
python 删除 pdf 文件中的图片
spire.pdf for python 提供的 pdfpagebase.deleteimage(index) 方法可以删除 pdf 页面中的指定图片。具体步骤如下:
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文档。
- 通过 pdfdocument.pages[index] 属性获取特定页面。
- 使用 pdfpagebase.deleteimage() 方法,通过索引删除页面中的特定图像。
- 使用 pdfdocument.savetofile() 方法保存结果文档。
- python
from spire.pdf.common import *
from spire.pdf import *
# 创建pdfdocument对象
doc = pdfdocument()
# 加载pdf文件
doc.loadfromfile("添加图片.pdf")
# 获取指定页面
page = doc.pages[0]
# 删除指定页面中的第一张图片
page.deleteimage(0)
# 保存结果文件
doc.savetofile("删除图片.pdf", fileformat.pdf)
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。