用Python3打包图片转PDF 外加PDF加密 os.walk遍历 和一些其它的库给你玩

首先呢,我不是做IT人士,我也不是学CS专业的。
写的不好,可以优化的地方,请多多指教。

有兴趣学习Python的童鞋可以来看我的知乎帖子
废话不多说上代码!

# -*- coding:utf-8 -*-
# 环境 python 3.6
# 从兴趣开始学习Python
# 我是pepCoder


import os
import time
import img2pdf  # 图片打包成PDF库
from halo import Halo
from datetime import datetime as dt
from os import path
from PyPDF4 import PdfFileWriter, PdfFileReader  # PDF文件操作库
from send2trash import send2trash  # 字面意思,送去垃圾箱


root_path = '__SiS_PuB__'  #目录
date_path = str(dt.now().strftime('%Y-%m-%d'))  #日期


# 遍历文件夹, 搜索图片,PDF打包
def search_n_zip():
    with open("C:\\Users\\XYZ\\Desktop\\封面打包.pdf", "wb") as f:
        all_cover_imgs = []
        folder = path.join(root_path, date_path)
        for root, dirs, files in os.walk(folder):  # 遍历母目录、子目录、文件
            for img in files:
                if img.endswith('1.jpg'):  # 把结尾为“1.jpg”文件都给我找出来
                    img_path = os.path.join(root, img)  # 把途径和文件名组合在一起
                    # print(img_path)
                    all_cover_imgs.append(img_path)  # 导入到Tuple里
                    # print(all_cover_imgs)
                    pdf_bytes = img2pdf.convert(all_cover_imgs)  # 文件打包成PDF文件储存
        f.write(pdf_bytes)


# 给PDF文件加密
def encryption(input_pdf, output_pdf, password):
    pdf_writer = PdfFileWriter()  # 写文件
    pdf_reader = PdfFileReader(input_pdf)  # 读文件

    for page in range(pdf_reader.getNumPages()):  # 多少页数
        pdf_writer.addPage(pdf_reader.getPage(page))

    pdf_writer.encrypt(user_pwd=password, owner_pwd=None, use_128bit=True)  # 加密设置

    with open(output_pdf, "wb") as fe:  # 保存文件
        pdf_writer.write(fe)


if __name__ == '__main__':
    start = time.time()
    print("=☆=★=☆=★=☆= - 开始执行源码 - =★=☆=★=☆=★=")
    with Halo():  # 动态条库,挺有趣的,大家可以尝试着用用
    	search_n_zip()
		encryption(input_pdf="C:\\Users\\XYZ\\Desktop\\封面打包.pdf",
                   output_pdf="C:\\Users\\XYZ\\Desktop\\封面打包"
                              + date_path + ".pdf",  # 区分加密文件名称,咱们加一个日期印上去
                   password='aaazzz'))  # 老司机常用套路密码,您懂的,呵呵
    	send2trash("C:\\Users\\XYZ\\Desktop\\封面打包.pdf")  # 把未加密的文件处理掉
    print('\r'+"=☆=★=☆=★=☆= - 指令执行结束 - =★=☆=★=☆=★=")
    end = time.time()
    print("=☆=★=☆=★= - 运行时间为:%s 秒 - =☆=★=☆=★=" % int(end - start))

还不赖哈?老司机们是不是准备开车了呢?
爬虫照片后其实这个py脚本最实用了,hiahia~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mike_Leigh

您的鼓励就是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值