Python 在PDF中添加、替换、或删除图片
PDF文件中的图片可以丰富文档内容,提升用户的阅读体验。除了在PDF中添加图片外,有时也需要替换或删除其中的图片,以改进视觉效果或更新信息。本文将提供以下三个示例,介绍如何使用Python 操作PDF文件中的图片:
- Python 在PDF中添加图片
- Python 替换PDF中的图片
- 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
去除红色水印 -- 点击申请试用授权
Python 在PDF中添加、替换、或删除图片的更多相关文章
- Python 日志输出中添加上下文信息
Python日志输出中添加上下文信息 除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如: ...
- 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...
- 在Hadoop集群中添加机器和删除机器
本文转自:http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html 无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个 ...
- Java 在PDF 中添加超链接
对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...
- 在Python的列表中利用remove()方法删除元素的教程
在Python的列表中利用remove()方法删除元素的教程 这篇文章主要介绍了在Python的列表中利用remove()方法删除元素的教程,是Python入门中的基础知识,注意其和pop()方法的区 ...
- C# 在PDF中添加墨迹注释Ink Annotation
PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状:该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线.下面,通过C#程序代码介绍如何 ...
- PDF怎么添加文字水印与图片水印
现在是个知识分享时代,但不可避免的盗版也无处不在,不知道在我们大家身边有没有遇到过这样的情况:自己煞费苦心制作的PDF文档不知道在什么时候就会被别人给盗用了,那么如何才能尽量避免这个问题呢?今天带大家 ...
- Python 分发包中添加额外文件【新手必学】
在制作一个 Python 分发包时经常需要把一些文件添加到包中.最常见的例子是你希望通过 pip install命令安装 Python 包时会在 /etc/ 等目录下自动添加默认配置文件,由此可以 ...
- Java 在PDF中添加页面跳转按钮
在PDF 中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页.文档末页.跳转到上一页.下一页.或跳转到指定页面等.下面将通过java代码来演示如何添加具有以上几种功能的按钮. 使用工具: Fre ...
- Java 在PDF中添加表格
本文将介绍通过Java编程在PDF文档中添加表格的方法.添加表格时,可设置表格边框.单元格对齐方式.单元格背景色.单元格合并.插入图片.设置行高.列宽.字体.字号等. 使用工具:Free Spire. ...
随机推荐
- windows7 + Qt(MSVC2017) + VS2019安装配置
在windows下使用qt时调用QWebEngineView 库会报错,即使在pro文件QT += webenginewidgets也找不到, 而在MinGW和MSVC2015的路径下我并没有找到这个 ...
- itest(爱测试)开源接口测试&敏捷测试管理平台8.1.0发布
(一)itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包分配测试用 ...
- 如何防止 Elasticsearch 服务 OOM ?
ES 和传统关系型数据库有很多区别, 比如传统数据中普遍都有一个叫"最大连接数"的设置.目的是使数据库系统工作在可控的负载下,避免出现负载过高,资源耗尽,谁也无法登录的局面. 那 ...
- ES进阶
https://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html 1.监控接口 访问es的_cat接口,获取不同的属性 ...
- ESM风潮下企业服务的最佳实践探讨
甄知科技孵化于中国领先的IT咨询服务提供商-上海汉得信息技术股份有限公司,主打产品"燕千云"于2019年正式发布,持续迭代版本至今,燕千云作为企业数字化服务平台,燕千云的愿景和现状 ...
- debian使用桌面管理器管理多个桌面系统
环境:debian12.x 前言:我安装了debian12版本的操作系统在虚拟机中,在安装的时候选择的是KDE桌面,便于以后日常使用linux操作系统 在安装KDE桌面后,会自动安装一个sddm,sd ...
- Ajax分析与爬取实战
Ajax 分析与爬取实战 准备工作 安装好 Python3 了解 Python HTTP 请求库 requests 的基本用法 了解 Ajax 基础知识和分析 Ajax 的基本方法 爬取目标 以一个示 ...
- tempCode
package com.cmbchina.monitor.service.imp; import com.alibaba.fastjson.JSON; import com.cmbchina.moni ...
- 解决 Visual C++ 17.5 __cplusplus 始终为 199711L 的问题
00. 软件环境 Visual Studio 2022, Visual C++, Version 17.5.4 01. 问题描述 在应用 https://github.com/ToniLipponen ...
- 洛谷 P1216 数字三角形
题目链接:数字三角形 思路 dp:金字塔顶的元素为起点,金字塔每行的最左侧数字只能从上一层的最左侧数字到达,如7 -> 3 -> 8 -> 2 -> 4,这些数字中的每一个(除 ...