当前位置: 首页 > news >正文

图片转换到PDF

把一系列图片整合到PDF格式
Python代码

import os
from io import BytesIO
from PIL import Imageos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
SUPPORT_SUFFIX = ["jpg", "jpeg", "png"]def pic_to_pdf(image_bytes: bytes) -> bytes:"""将单个图片转换为单张PDF:param image_bytes: 图片的bytes对象:return: PDF的bytes对象"""# 将bytes对象转换为BytesIO对象image_bytes_io = BytesIO(image_bytes)# 从内存中读取图片image_object = Image.open(image_bytes_io)# 打开内存中的文件用于保存PDFwith BytesIO() as result_bytes_io:# 将图片保存为单张PDFimage_object.save(result_bytes_io, "PDF", resolution=100.0)# 获取内存中的文件data = result_bytes_io.getvalue()# 返回PDF的bytes对象return datadef batch_convert(image_path: str, pdf_path: str) -> None:"""批量将图片转换为单张PDF:param image_path: 图片的文件夹:param pdf_path: PDF文件保存的文件夹"""# 遍历文件夹下所有文件for root, dirs, files in os.walk(image_path, topdown=False):for name in files:# 提取文件的后缀名file_suffix = os.path.splitext(name)[-1].lstrip(".").lower()# 检测该文件格式是否受到支持if file_suffix not in SUPPORT_SUFFIX:continue# 拼接出图片文件的绝对路径source_file_path = os.path.join(root, name)# 拼接出PDF文件的绝对路径target_file_path = os.path.join(pdf_path, f"{os.path.splitext(name)[0]}.pdf")# 将图片文件转换为PDF文件with open(source_file_path, "rb") as source:with open(target_file_path, "wb") as target:target.write(pic_to_pdf(source.read()))batch_convert("", "")
http://www.lryc.cn/news/231857.html

相关文章:

  • 代码模版-实现重置按钮清空表单数据,vue+elementUI
  • 人格障碍在线测试,人格障碍筛查和判断 PDQ-4+
  • redis相关文章汇总
  • 安防监控展示预约小程序的作用如何
  • (Matalb回归预测)WOA-BP鲸鱼算法优化BP神经网络的多维回归预测
  • 某头部通信企业:SDLC+模糊测试,保障数实融合安全发展
  • 【fbtft】如何添加fbtft驱动
  • 【2023云栖】郭瑞杰:阿里云搜索产品智能化升级
  • 数据库事务相关问题
  • Digicert证书:您的网络安全守护神
  • LLM App ≈ 数据ETL管线
  • k8s的error: metrics not available yet问题处理
  • 简单的python爬虫工具,B站视频爬虫
  • Shopee买家号有什么作用?如何才能拥有大量的虾皮买家号?
  • OCR名片识别:手机电脑大比拼,哪个更胜一筹?
  • 深度学习OCR中文识别 - opencv python 计算机竞赛
  • Python(七) 条件控制、循环语句
  • SpringCloud GateWay自定义过滤器之GatewayFilter和AbstractGatewayFactory
  • 不会英语能学编程吗?0基础学编程什么软件好?
  • 程序员副业接单做私活避坑指南
  • day57
  • 以太坊链多节点本地化【最详细的部署搭建及维护文档】
  • 微服务架构演进
  • BUUCTF 九连环 1
  • 编码自动化:使用MybatisX初体验,太爽了!
  • 大数据-之LibrA数据库系统告警处理(ALM-12047 网络读包错误率超过阈值)
  • JSP 报错 Cannot resolve method ‘print(java.lang.String)‘问题解决
  • Linux系统下安装RabbitMQ超简单教程(非详细)(Centos8)
  • 2024江苏专转本流程与时间节点
  • 全国各区县日照时长数据,逐月数据均有!