使用Python将图片转换为PDF

news/2024/11/17 18:58:36/

将图片转为 PDF 的主要原因之一是为了方便共享和传输。此外,将多张图片合并成一个 PDF 文件还可以简化文件管理。之前文章详细介绍过如何使用第三方库Spire.PDF for Python将PDF文件转为图片,那么本文介绍使用同样工具在Python中实现图片转PDF文件的功能。

通过以下pip命令进行安装Python库:

pip install Spire.PDF

Python 实现图片转PDF

以下是将一个文件夹中的多张图片转换为一个PDF文件的示例。几乎每行代码都有详细注释,并且Spire.PDF for Python提供的接口也非常简单易懂,大家可直接查看。

from spire.pdf.common import *
from spire.pdf import *
import os# 创建PdfDocument对象
doc = PdfDocument()# 将页边距设置为0
doc.PageSettings.SetMargins(0.0)# 指定存放图片的文件夹路径
path = "C:\\Users\\Administrator\\Desktop\\图片\\"
files = os.listdir(path)# 遍历文件夹中的文件
for root, dirs, files in os.walk(path):for file in files:# 加载图片image = PdfImage.FromFile(os.path.join(root, file))  #FromFile(os.path.join(root, file))# 获取图片的宽度和高度width = image.PhysicalDimension.Widthheight = image.PhysicalDimension.Height# 在PDF中添加与图片相同尺寸的页面page = doc.Pages.Add(SizeF(width, height))# 从页面的 (0, 0) 处开始绘制图片page.Canvas.DrawImage(image, 0.0, 0.0, width, height)# 保存生成文件
doc.SaveToFile("图片转Pdf.pdf")
doc.Dispose()

 图片转PDF效果图:

参考:

Python PDF库下载链接icon-default.png?t=N7T8https://www.e-iceblue.cn/Downloads/Spire-PDF-Python.html

Spire.PDF for Python 安装教程icon-default.png?t=N7T8https://www.e-iceblue.cn/pdf_python_other/how-to-install-spire-pdf-for-python-in-vs-code.html

Python 操作PDF教程icon-default.png?t=N7T8https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html

申请授权移除水印icon-default.png?t=N7T8https://www.e-iceblue.cn/misc/temporary-license.html

 


http://www.ppmy.cn/news/1236991.html

相关文章

我叫:快速排序【JAVA】

1.自我介绍 1.快速排序是由东尼霍尔所发展的一种排序算法。 2.快速排序又是一种分而治之思想在排序算法上的典型应用。 3.本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。 2.思想共享 快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟…

计算机网络——物理层相关习题(计算机专业考研全国统考历年真题)

目录 2012-34 原题 答案 解析 2018-34 原题 答案 解析 2009/2011-34 原题 答案 解析 2016-34 原题 答案 解析 2014-35/2017-34 原题 答案 解析 2013-34 原题 答案 解析 2015-34 原题 答案 解析 物理层的协议众多,这是因为物理层…

uniapp链接WebSocket 常用的api

UniApp是一个基于Vue语法的跨平台应用开发框架,它支持使用WebSocket来实现实时双向通信。WebSocket是一种在单个TCP连接上进行全双工通信的协议,它可以在客户端和服务器之间建立持久性的连接,并允许双向通信。在UniApp中,你可以使…

解决:ImportError: cannot import name ‘Adam‘ from ‘keras.optimizers‘

解决:ImportError: cannot import name ‘Adam‘ from ‘keras.optimizers‘ 背景 在使用之前的代码时,报错: from keras.optimizers import Adam ImportError: cannot import name ‘Adam’ 报错问题 from keras.optimizers import Adam I…

FFmpeg常用命令讲解及实战二

文章目录 前言一、ffmpeg 常用命令1、ffmpeg 的封装转换2、ffmpeg 的编转码3、ffmpeg 的基本编转码原理 二、ffprobe 常用参数1、show_format2、show_frames3、show_streams4、print_format5、select_streams 三、ffplay 的常用命令1、ffplay 常用参数2、ffplay 高级参数3、ffp…

51单片机利用I/O口高阻状态实现触摸控制LED灯

51单片机利用I/O口高阻状态实现触摸控制LED灯 1.概述 这篇文章介绍使用I/O口的高阻状态实现一个触摸控制LED灯亮灭的实验。该实验通过手触摸P3.7引脚,改变电平信号控制灯的亮灭。 2.实验过程 2.1.实验材料 名称型号数量单片机STC12C20521LED彩灯无1晶振12MHZ1电…

基于JavaWeb+SSM+Vue微信阅读小程序的设计和实现

基于JavaWebSSMVue微信阅读小程序的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏[Java 源码获取 源码获取入口 Lun文目录 第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 1 第2章 开发环境与技术 3 2.1 MYSQL数据库 3 2.2 JSP技…

Python中match-case语法: 引领新的模式匹配时代

更多Python学习内容:ipengtao.com Python在其最新的版本中引入了match-case语法,这是一项强大的功能,为开发者提供了更加灵活和直观的模式匹配方式。本文将深入探讨match-case的各个方面,并通过丰富的示例代码,帮助大家…