Python多图片合并PDF的方法

yipeiwu_com5年前Python基础

python多图片合并pdf

起因

一个做美工的朋友需要将多个图片jpg 、png 合并起来,PS操作太慢了所以用了python进行完成这个任务

代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : 2.py
# @Author: huifer
# @Date : 2018/12/20
from PIL import Image
import os
def rea(pdf_name):
  file_list = os.listdir('.')
  pic_name = []
  im_list = []
  for x in file_list:
    if "jpg" in x or 'png' in x or 'jpeg' in x:
      pic_name.append(x)
  pic_name.sort()
  new_pic = []
  for x in pic_name:
    if "jpg" in x:
      new_pic.append(x)
  for x in pic_name:
    if "png" in x:
      new_pic.append(x)
  print("hec", new_pic)
  im1 = Image.open(new_pic[0])
  new_pic.pop(0)
  for i in new_pic:
    img = Image.open(i)
    # im_list.append(Image.open(i))
    if img.mode == "RGBA":
      img = img.convert('RGB')
      im_list.append(img)
    else:
      im_list.append(img)
  im1.save(pdf_name, "PDF", resolution=100.0, save_all=True, append_images=im_list)
  print("输出文件名称:", pdf_name)
if __name__ == '__main__':
  tttt = """
 _____ _____ _____  _______ ____  _____ _____ ______ 
 | __ \_  _/ ____| |__  __/ __ \ | __ \| __ \| ____|
 | |__) || || |     | | | | | | | |__) | | | | |__  
 | ___/ | || |     | | | | | | | ___/| | | | __| 
 | |  _| || |____   | | | |__| | | |  | |__| | |   
 |_|  |_____\_____|  |_| \____/ |_|  |_____/|_|   
"""
  print(tttt)
  print("合成")
  pdf_name = input("请输入合成PDF文件名称:")
  if ".pdf" in pdf_name:
    rea(pdf_name=pdf_name)
  else:
    rea(pdf_name="{}.pdf".format(pdf_name))
  input("按任意键结束")

合成后

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

Python迭代器与生成器基本用法分析

本文实例讲述了Python迭代器与生成器基本用法。分享给大家供大家参考,具体如下: 迭代器 可以进行for循环的数据类型包括以下两种: 1. 集合数据类型比如list,tuple,dic...

回调函数的意义以及python实现实例

因工作需要,最近在学习使用python来解析各种文件,包括xmind,xml,excel,csv等等。 在学习python解析XML的时候看到这样一段话: ElementTree(元素树...

python进阶_浅谈面向对象进阶

学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。 一、isinstance和issubclass class Foo: pass...

python发送邮件脚本

本文实例为大家分享了python发送邮件的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- impo...

Python实现的堆排序算法示例

Python实现的堆排序算法示例

本文实例讲述了Python实现的堆排序算法。分享给大家供大家参考,具体如下: 堆排序的思想: 堆是一种数据结构,可以将堆看作一棵完全二叉树,这棵二叉树满足,任何一个非叶节点的值都不大于(...