在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合成为一个pdf文件。

在macOS系统下,预览软件可以轻松做到这一点,同时打开图片到一个预览窗口下,点击导出PDF就能成功导出。但是Windows系统就没有这么方便的软件可以实现这一点,网上有很多合成PDF的网站,但是这些网站无一例外需要上传PDF进行合成,个人认为非常地不安全。

因此,最安全的方法,还是我们自己写一个Python脚本实现合成功能。

⚠️注意:文末提供技术交流群,群内大佬云集

1.准备

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install pillow

2.合成原理

Pillow模块,即PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。通过它,我们能很轻松地操作图像,并导出为不同格式。

首先来一个简单的示例,我们将打开一张图片,并将其保存为pdf格式:

from PIL import Image
import osdef convert_img_pdf(filepath, output_path):"""转换图片为pdf格式Args:filepath (str): 文件路径output_path (str): 输出路径"""output = Image.open(filepath)output.save(output_path, "pdf", save_all=True)if __name__ == "__main__":convert_img_pdf("1.jpeg", "./test.pdf")

随便使用一张图片测试一下:

在运行代码后,它便成功地转化为了PDF文件:

几行代码便完成了这个转换,这个可比那些把照片上传到云端的网站安全多了。

3.多张照片合成PDF

有了前面照片转化PDF的基础知识,想要理解下面的多图合成PDF的代码就非常简单了。

其实就是使用了.save的一个特殊参数 append_images:

output.save(pdfFilePath, "pdf", save_all=True, append_images=sources)

通过把图片都存入到一个"sources"数组中,我们就能很轻易地合成这些图像到PDF中。

from PIL import Image
import osdef combine_imgs_pdf(folder_path, pdf_file_path):"""合成文件夹下的所有图片为pdfArgs:folder_path (str): 源文件夹pdf_file_path (str): 输出路径"""files = os.listdir(folder_path)png_files = []sources = []for file in files:if 'png' in file or 'jpg' in file:png_files.append(folder_path + file)png_files.sort()output = Image.open(png_files[0])png_files.pop(0)for file in png_files:png_file = Image.open(file)if png_file.mode == "RGB":png_file = png_file.convert("RGB")sources.append(png_file)output.save(pdf_file_path, "pdf", save_all=True, append_images=sources)if __name__ == "__main__":folder = r"G:\证件\\"pdfFile = r"G:\证件\身份证.pdf"combine_imgs_pdf(folder, pdfFile)

这样,只要将你的证件照都放在一个文件夹中,运行这个Python代码,它就能自动将这些证件合成到一个PDF中,并输出到你指定的路径。非常简单方便。

推荐文章

  • 有人把吴恩达老师的机器学习和深度学习做成了中文版

  • 上瘾了,最近又给公司撸了一个可视化大屏(附源码)

  • 如此优雅,4款 Python 自动数据分析神器真香啊

  • 梳理半月有余,精心准备了17张知识思维导图,这次要讲清统计学

  • 年终汇总:20份可视化大屏模板,直接套用真香(文末附源码)

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了面试技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

超级实用:Python 合成多张图片保存为PDF相关推荐

  1. 超级安全——Python 合成多张图片到PDF格式

    在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合成为一个pdf文件. 在macOS系统下,预览软件可以轻松做到这 ...

  2. 超级安全,Python 合成多张图片到PDF格式

    在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合成为一个pdf文件. 在macOS系统下,预览软件可以轻松做到这 ...

  3. 使用python将多张图片转换成pdf

    有朋友在问如何通过Python将多张图片转换成pdf,刚好之前写了一个小功能,分享给大家. 不多说,直接上代码: #!/usr/local/python3.6.5 #cd /usr/local/pyt ...

  4. Java实现将多张图片保存至PDF

    下面教程将实现如何将多张图片保存至PDF,以供参考 首先,导入对应依赖: <dependency><groupId>com.lowagie</groupId>< ...

  5. 超级实用python技术文章导航[总有一款适合你]

    0,ssdb手动主从切换 1,官方文档集合 2,ssdb双主高可用加权限密码验证带自动健康检查(python密码链接ssdb集群) 3,腾讯云日志服务LogListener 安装(精装实用版) 4,u ...

  6. 苹果ppt_推荐超级实用的苹果软件《六,PDF编辑转换PPT软件》

    首推当然是Adobe Acrobat PRO这款Adobe家自带的pdf编辑转换软件了. Adobe Acrobat 是由Adobe公司开发的一款PDF(Portable Document Forma ...

  7. 用Python将多张图片合并成一PDF文件

    先前条件 需要安装两模块:fpdf.PIL pip install fpdf pip install PIL 放码过来 from fpdf import FPDF from PIL import Im ...

  8. python操作图片批量保存成PDF文件

    有个脚本需求: 就是把一个一个图片获取下来,并把图片拼接成一个PDF文档. 代码如下: # -*- coding: utf-8 -*- """ Created on Mo ...

  9. 推荐5个超级实用的 Python 模块,不知道就out啦!

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 编辑:乐乐 | 来自:网络 正文 大家好,我是菜鸟哥. Python 标准 ...

  10. python实用大全pdf_超级实用干货|九大技巧,带你用Python玩转PDF

    原标题:超级实用干货|九大技巧,带你用Python玩转PDF 尽管PDF最开始是由Adobe发明的,但它现在已经成为国际标准组织ISO维护的公开标准了.大家可以在Python中通过PyPDF2包来处理 ...

最新文章

  1. Android笔记一.深入理解Intent和IntentFilters(一)
  2. linux创建更改目录,如何使用Linux中的单个命令创建新目录并更改它 | MOS86
  3. 中国通用电阻器市场趋势报告、技术动态创新及市场预测
  4. python turtle_Python:turtle画粽子
  5. Apache+Tomcat实现动静分离
  6. NWT纪事:说是闷声发大财,不干活就发财了?
  7. iOS OC和Swift相互引用,测试在swift项目
  8. 2014程序化购买元年-芒果移动广告-王江
  9. font-family:中文字体的英文名称
  10. 3行Python 代码实现图片压缩
  11. 【STC单片机】通过ADC外部输入调节PWM占空比输出并串口打印当前脉冲值
  12. 安装 Vmware和创建虚拟机即密码破解
  13. ae中合成设置的快捷键_AE里的快捷键大全?
  14. 如何用计算机名查看共享打印机,如何查找网络共享打印机
  15. 将中文汉字转换成拼音
  16. 家庭中的交换机如何选择?几种常见的交换机选择避坑方法需要知道
  17. 磁盘最优存储问题---Python
  18. python爬取天猫商品信息
  19. MATLAB | 七夕节快到了,还不给朋友安排上这个咕呱小青蛙?
  20. ERP : 物料控制--相关需求

热门文章

  1. UG10.0塑胶模具设计从入门到精通全套视频教程500讲
  2. python pip 安装 升级 卸载命令
  3. c语言自动变量全局变量,C语言全局变量的一些简单介绍
  4. idea 安装 jclasslib
  5. opencv codebook
  6. 利用matlab进行图片的二值化处理
  7. su灯光插件_V-Ray for SketchUp渲染外部照明快速入门
  8. u盘在计算机上不显示错误,u盘为什么在电脑上不显示
  9. windows更改redis配置文件
  10. Redis配置文件所在位置