拖放扫描全能王生成的图片zip文件,直接转化为pdf文件

10,735次阅读
没有评论

共计 1739 个字符,预计需要花费 5 分钟才能阅读完成。

Python 把扫描全能王生成的图片合成 pdf_全能扫描王怎么把图片转换成 pdf, 用代码 -CSDN 博客

对前段时间写的程序进行改进。用手机扫描全能王,用图片格式分享到微信,如果是 10 来张图片以上就会自己打包成为一个 zip 文件,把这个 zip 文件复制到电脑,再用我下面这个程序,拖拉到程序的窗口就可以,将这个 zip 里面的所有图片按顺序转化为一个 pdf 文件。

# -*- coding: utf-8 -*-
"""
Created on Sun Feb  4 14:49:19 2024

@author: YBK
"""
import tkinter as tk
import windnd
from tkinter.messagebox import showinfo
from PIL import Image
import os
import glob
import time
import zipfile
# 防止字符串乱码
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

 
def unzip_file(zip_path, extract_to):
    with zipfile.ZipFile(zip_path, 'r') as zip_ref:
        zip_ref.extractall(extract_to)
 

# 转化图片为统一宽度
def resize_images(input_dir, output_dir, width, height):
    for filename in glob.glob(os.path.join(input_dir, '*.jpg')):  # 假设处理的是 jpg 图片,你可以根据需要修改文件扩展名
        image = Image.open(filename)
        kgb = image.width / image.height # 图片的宽高比
        bzkgb = width / height # 要转化图片的宽高比
        paste_w = 0 #粘贴图片在画布上的位置,以左上角为原点 初设 x 为 0
        paste_h = 0 #初设 y 为 0
        if kgb  1:
        # print("请拖放一个文件!")
        showinfo("提示","请拖放一个文件!")
    else:
        # print(files[0].decode('gbk'))
        fileurl = files[0].decode('gbk')
        # print(os.path.splitext(fileurl)[1])
    if fileurl != ''and os.path.splitext(fileurl)[1] =='.zip':
        zippath = fileurl
        zip_file_path = zippath  # 替换为你的 zip 文件路径
        filename0 = os.path.basename(fileurl).replace('.zip','') + nowtime_to_str()
        extract_to_path = f'e: 临时文件夹 {filename0}'  # 指定解压后文件存放的目录         
        unzip_file(zip_file_path, extract_to_path)
        # 待转换图像路径
        img_path = f'e: 临时文件夹 {filename0}'
        # 转换后的 pdf
        pdf_path = fileurl.replace('.zip','.pdf')
        # 使用示例:将 "input_directory" 目录下的所有 PNG 图片调整为宽度为 200 像素,并保存到 "output_directory" 目录中
        resize_images(img_path, img_path, 1980, 2800) # 打印 A4 纸 210*297 按这个比例图片是 1980*2800
        pic2pdf(img_path=img_path, pdf_path=pdf_path)
        print('生成 PDF 文件位置:' + pdf_path)

if __name__ == '__main__':
    rootWindow = tk.Tk()
    rootWindow.title("拖放 zip 文件生成 pdf")
    rootWindow.geometry("300x120")
    windnd.hook_dropfiles(rootWindow , func=dragged_files)
    rootWindow.mainloop()

原文地址: 拖放扫描全能王生成的图片 zip 文件,直接转化为 pdf 文件

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-29发表,共计1739字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)