吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 789|回复: 15
收起左侧

[其他求助] 批量合并指定pdf

[复制链接]
snvy0218 发表于 2024-5-13 14:54
25吾爱币
由于工作原因手中有几千个“文件夹1”、“文件夹2”的pdf,
文件夹1
D:\客户订单\张三订单.pdf、D:\客户订单\李四订单.pdf、D:\客户订单\王五订单.pdf、……

文件夹2
D:\客户转账记录\张三转账记录.pdf、D:\客户转账记录\李四转账记录.pdf、D:\客户转账记录\王五转账记录.pdf……

文件夹3
D:\产品\产品.pdf

想要合并为pdf:
第一页:张三订单,第二页:产品,第三页:张三转账记录;命名为:张三订购记录.pdf
第一页:李四订单,第二页:产品,第三页:李四转账记录;命名为:李四订购记录.pdf
第一页:王五订单,第二页:产品,第三页:王五转账记录;命名为:王五订购记录.pdf
……

有没有大佬知道怎么批量合并,手动合并真的累成狗了

最佳答案

查看完整内容

https://wwi.lanzoup.com/ih34r1ylhrqh 根据你的描述,我做了一个python程序(pdf.exe)。把压缩文件解压,放在d盘,目录树为:d:\a,d:\a\客户订单,d:\产品,d:\a\客户转账记录,d:\a\合并后。把你的三个文件夹放在d:\文件夹下,运行pdf.exe即可。 也可以修改下面源代码。 [mw_shl_code=python,true]import os import fitz # PyMuPDF # 设置文件夹路径 folder_orders = 'D:\\a\\客户订单\\' folder_transfers = 'D:\\a\\客 ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zjg121 发表于 2024-5-13 14:54
https://wwi.lanzoup.com/ih34r1ylhrqh
根据你的描述,我做了一个python程序(pdf.exe)。把压缩文件解压,放在d盘,目录树为:d:\a,d:\a\客户订单,d:\产品,d:\a\客户转账记录,d:\a\合并后。把你的三个文件夹放在d:\文件夹下,运行pdf.exe即可。
也可以修改下面源代码。

[Python] 纯文本查看 复制代码
import os
import fitz  # PyMuPDF

# 设置文件夹路径
folder_orders = 'D:\\a\\客户订单\\'
folder_transfers = 'D:\\a\\客户转账记录\\'
folder_product = 'D:\\a\\产品\\'

# 读取产品PDF文件
product_pdf_path = os.path.join(folder_product, '产品.pdf')
doc_product = fitz.open(product_pdf_path)

# 遍历订单和转账记录文件夹,合并PDF
for filename in os.listdir(folder_orders):
    if filename.endswith('.pdf'):
        customer_name = filename.split('.')[0]  # 提取客户姓名

        # 打开订单和转账记录PDF
        order_pdf_path = os.path.join(folder_orders, filename)
        doc_order = fitz.open(order_pdf_path)

        transfer_filename = f"{customer_name}转账记录.pdf"
        transfer_pdf_path = os.path.join(folder_transfers, transfer_filename)
        doc_transfer = fitz.open(transfer_pdf_path)

        # 创建新的PDF文档并添加页面
        output_filename = f"d:\\a\\合并后\\{customer_name}订购记录.pdf"
        output_pdf = fitz.open()

        # 添加订单页面
        output_pdf.insert_pdf(doc_order)
        # 添加产品页面
        output_pdf.insert_pdf(doc_product)
        # 添加转账记录页面
        output_pdf.insert_pdf(doc_transfer)

        # 保存并关闭文档
        output_pdf.save(output_filename)
        output_pdf.close()

        # 关闭订单和转账记录文档
        doc_order.close()
        doc_transfer.close()

        # 注意:在实际使用中,您可能需要添加异常处理来处理文件不存在或其他潜在问题。
niluelf 发表于 2024-5-13 15:21
从技术角度看不难,可以自己写个脚本,思路就是:将所有文件放在一起,把所有客户名称做成列表,逐一筛选出带有该名称的pdf然后组合命名就可以~
cayuer 发表于 2024-5-13 15:22
多页PDF中的一页和单页PDF 合并成多页。
这个看起来就很麻烦啊,而且还要识别页码顺序。感觉还不如把PDF转换成命名的照片,然后用照片合并后转PDF.
yucevip 发表于 2024-5-13 15:22
这个软件可以帮到你https://f.ws59.cn/f/e3mpfp18qmu 复制链接到浏览器打开
 楼主| snvy0218 发表于 2024-5-13 15:45
cayuer 发表于 2024-5-13 15:22
多页PDF中的一页和单页PDF 合并成多页。
这个看起来就很麻烦啊,而且还要识别页码顺序。感觉还不如把PDF转 ...

没有多页,每个客户都是单页的pdf,只是需要把3个单页按顺序合并成一个3页的pdf
 楼主| snvy0218 发表于 2024-5-13 15:46
yucevip 发表于 2024-5-13 15:22
这个软件可以帮到你https://f.ws59.cn/f/e3mpfp18qmu 复制链接到浏览器打开

谢谢,里面的功能还是需要以一个客户为单位去合并,也要操作几千次,太累了
云的彼岸918 发表于 2024-5-13 15:48
只要你命名规范,用脚本合并就简单,就怕你中间有命名不规范的那就很麻烦了
yucevip 发表于 2024-5-13 15:54
snvy0218 发表于 2024-5-13 15:46
谢谢,里面的功能还是需要以一个客户为单位去合并,也要操作几千次,太累了

目前最适合你的方法就是你去下载一个影刀rpa自动化办公 帮助你模拟人工操作
 楼主| snvy0218 发表于 2024-5-13 16:00
云的彼岸918 发表于 2024-5-13 15:48
只要你命名规范,用脚本合并就简单,就怕你中间有命名不规范的那就很麻烦了

命名是规范的,用Everything读取了下路径,没发现错误
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 10:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表