Python3,1行代码,批量把图片转换成PDF文档,女神终于同意跟我吃夜宵了。

news2024/11/16 9:35:39

批量图片转换成PDF文档

  • 1、引言
  • 2、代码示例
    • 2.1 安装
    • 2.2 单张转换
    • 2.3 批量转换
  • 3、总结

1、引言

小屌丝:鱼哥, 求助,求助。
小鱼:有啥事,这大惊小怪的。
小屌丝:我女神跟我说, 如果我把她的照片整成PDF,那么就跟我一起去吃夜宵。
小鱼:那你就随表搞一下, 交差就可以了啊。
小屌丝:不行的, 我这么认真的人,怎么能糊弄我女神呢。
小鱼:靠… 这话你也能说出口,我都不好意思听。
小屌丝:别闹。 今天必须帮我搞定,不管啥要求,我都答应。
小鱼:当真?
小屌丝:当真!
小鱼:妥!
小屌丝:那,开整?
小鱼:整。
在这里插入图片描述

2、代码示例

2.1 安装

因为要把图片转换成PDF,所以我们要借助于第三方库,即:img2pdf。
所以,在先安装,在撸码。

pip install img2pdf

其余安装方式,可以参照这两篇:

  • Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
  • Python3:我低调的只用一行代码,就导入Python所有库!

安装完成,就可以进行代码编写了。

2.2 单张转换

# -*- coding:utf-8 -*-
# @Time   : 2023-07-09
# @Author : Carl_DJ
'''
实现功能:
	单张图片转换成 PDF
'''

# 单张图片转换

import os
import img2pdf
with open("output_demo.pdf", "wb") as file:
   file.write(img2pdf.convert([i for i in os.listdir('path to image') if i.endswith(".jpg")]))

2.3 批量转换

# -*- coding:utf-8 -*-
# @Time   : 2023-07-09
# @Author : Carl_DJ
'''
实现功能:
	图片批量转换成 PDF
'''

# 多张图片转换

from fpdf import FPDF
Pdf = FPDF()

list_of_images = ["demo1.jpg", "demo2.jpg","demo3.jpg"]
for i in list_of_images:
   Pdf.add_page()
   Pdf.image(i,x,y,w,h)
   Pdf.output("output_demo.pdf", "F")
   

3、总结

看到这里,今天的分享就结束了。
今天主要针对图片站PDF的小技巧进行了分享。
这个在实际工作中,还是蛮常用的。
所以,掌握这个小技巧, 让你的女神也跟你一起天天吃夜宵。
在这里插入图片描述

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师等
  • 认证金牌面试官
  • 职场面试及培训规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

关注我,带你学习更多更专业更前言的Python技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/814912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark 5:Spark Core 内核调度

DAG Spark的核心是根据RDD来实现的,Spark Scheduler则为Spark核心实现的重要一环,其作用就是任务调度。Spark的任务调度就是如何组织任务去处理RDD中每个分区的数据,根据RDD的依赖关系构建DAG,基于DAG划分Stage,将每个…

跨境电商ERP源码选型指南,如何找到最适合你的?

在跨境电商行业,一个高效的ERP系统是保证业务顺利进行和管理的关键。选择适合自己的跨境电商ERP源码至关重要。本指南将帮助你了解如何找到最适合你的跨境电商ERP源码。 跨境电商ERP源码的重要性 跨境电商ERP源码在现代电商营运中起着至关重要的作用。它提供了一套…

音频开发-小程序和H5

微信录音 1、引入sdk 2、录音操作 浏览器录音 参考文献:前端H5实现调用麦克风,录音功能_h5 录音_Darker丨峰神的博客-CSDN博客 function record() { window.navigator.mediaDevices.getUserMedia({ audio: { sampleRate: 44100, // 采样率 channelCount…

游戏APP开发:创新设计的秘诀

在游戏 APP开发中,创新设计是游戏开发公司的一大追求,为了可以为用户带来更好的游戏体验,这就需要对游戏 APP开发进行创新设计。那么,游戏 APP开发中的创新设计是什么呢?接下来,我们就一起来看看吧。 想要…

一起学算法(递推篇)

前言:递推最通俗的理解就是数列,递推和数列的关系就好比算法和数据结构的关系,数列有点像数据结构中的顺序表,而递推就是一个循环或者迭代的过程的枚举过程 1.斐波那契数列 斐波那契数形成的序列称为斐波那契数列,该…

【Java|golang】143. 重排链表---快慢指针

给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 …

python中有哪些异常,怎么处理

目录 python报的错误怎么处理 1. 使用 try-except 语句块 2. 使用 finally 语句块 3. 主动引发异常 python中有哪些异常 不知道是什么异常时怎么操作 总结 python报的错误怎么处理 在Python中,当程序执行时遇到错误,Python会抛出异常。要处理Pyt…

孩子近视有必要用全光谱灯吗?全光谱led灯推荐

当然,有必要!全光谱LED灯的光源分布更加均匀,使空间更加美观舒适,而普通灯的光源分布可能会在一定范围内分布不均匀。全光谱它的使用寿命长达20-30万小时,而普通灯的使用寿命仅为1000-2000小时,因此在长期使用上&#…

list模拟

之前模拟了string,vector,再到现在的list,list的迭代器封装最让我影响深刻。本次模拟的list是双向带头节点的循环链表,该结构虽然看起来比较复杂,但是却非常有利于我们做删除节点的操作,结构图如下。 由于其节点结构特…

收发存和进销存有什么区别?

一、什么是收发存和进销存 1、收发存 收发存是供应链管理中的关键概念,用于描述企业在供应链中的物流和库存管理过程。 收发存代表了企业在采购、生产和销售过程中的物流活动和库存水平。 收(Receiving) 企业接收供应商送达的物料或产品…

归并排序算法

归并排序 算法说明与实现代码: 归并排序(Merge Sort): 归并排序是一种分治算法,它将列表分成两个子列表,分别进行排序,然后将排序好的子列表合并成一个有序列表。 package mainimport "fmt"fu…

手机商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框…

微信小程序代码优化3个小技巧

抽取重复样式 样式复用 我们会发现很多时候在开发的过程中会存在多个页面中都用到了同样的样式,那么其实之前有提到过,公用样式可以放在app.wxss里面这样就可以直接复用。 如:flex布局的纵向排列,定义在app.wxss里面 .flex-co…

win10安装cygwin

参考 Cygwin简介及其下载安装卸载_cygwin是什么软件_徐晓康的博客的博客-CSDN博客https://blog.csdn.net/weixin_42837669/article/details/114381405这个文章写的非常好,不过现在如果想安装多个包的话,采用gui的方式可以不行了,我采用的方式…

JavaScript 简单实现观察者模式和发布-订阅模式

JavaScript 简单实现观察者模式和发布-订阅模式 1. 观察者模式1.1 什么是观察者模式1.2 代码实现 2. 发布-订阅模式2.1 什么是发布-订阅模式2.2 代码实现2.2.1 基础版2.2.2 取消订阅2.2.3 订阅一次 1. 观察者模式 1.1 什么是观察者模式 概念:观察者模式定义对象间…

【Windows11】家庭版开启组策略指南

目录 背景新建一个cmd文件运行运行结果 背景 Win11找不到gpedit.msc怎么办?有用户通过命令窗口想要去打开本地组策略的时候,系统突然弹出了一个错误提示,显示系统缺少了gpedit.msc导致无法开启本地组策略编辑器了。那么这个情况要怎么去进行…

【Web开发指南】如何用MyEclipse进行JavaScript开发?

由于MyEclipse中有高级语法高亮显示、智能内容辅助和准确验证等特性,进行JavaScript编码不再是一项繁琐的任务。 MyEclipse v2023.1.2离线版下载 JavaScript项目 在MyEclipse 2021及以后的版本中,大多数JavaScript支持都是开箱即用的JavaScript源代码…

【Minio怎么用】Minio上传图片并Vue回显

流程: 目录 1.文件服务器Minio的安装 1.1 下载Minio安装后,新建1个data文件夹。并在该安装目录cmd 敲命令。注意不要进错目录。依次输入 1.2 登录Minio网页端 1.3 先建1个桶(buckets),点击create a bucket 2. Spr…

前端小练-仿掘金导航栏

文章目录 前言项目结构导航实现创作中心移动小球消息提示 完整代码 前言 闲的,你信嘛,还得开发一个基本的门户社区网站,来给到Hlang,不然我怕说工作量不够。那么这个的话,其实也很好办,主要是这个门户网站的UI写起来麻…

操作系统_进程与线程(三)

目录 3. 同步与互斥 3.1 同步与互斥的基本概念 3.1.1 临界资源 3.1.2 同步 3.1.3 互斥 3.2 实现临界区互斥的基本方法 3.2.1 软件实现方法 3.2.1.1 算法一:单标志法 3.2.1.2 算法二:双标志法先检查 3.2.1.3 算法三:双标志法后检查 …