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

python实现多个pdf文件合并

        打印发票时,需要将pdf合并成一个,单页两张打印。网上一些pdf合并逐渐收费,这玩意儿都能收费?自己写一个脚本使用。

实现代码:

        输入pdf文件夹路径data_dir,统计目录下的“合并后的PDF”文件夹下,输出合并后的pdf文件。

import os
import PyPDF2
import argparsedef merge_pdfs(paths, output):pdf_writer = PyPDF2.PdfWriter()for path in paths:pdf_reader = PyPDF2.PdfReader(path)for page in range(len(pdf_reader.pages)):pdf_writer.add_page(pdf_reader.pages[page])with open(output, 'wb') as out:pdf_writer.write(out)def main(data_dir):names = os.listdir(data_dir)print("names:", names)file_paths = []for name in names:file_paths.append(os.path.join(data_dir, name))output = os.path.join(data_dir, "合并后的PDF/merge_%02d.pdf" % len(names))  # 合并后的PDF文件路径os.makedirs("./合并后的PDF", exist_ok=True)merge_pdfs(file_paths, output)print("合并后文件:", output)def argv_parse():parser = argparse.ArgumentParser(usage="it's usage PyPDF2.", description="pdf merge.")parser.add_argument("--data_dir", type=str, help="pdf file dir.")return parser.parse_args()if __name__ == "__main__":argv = argv_parse()print("argv:", argv)main(argv.data_dir)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • docker镜像结构
  • pikachu下
  • Redis常用操作及springboot整合redis
  • 监听html元素是否被删除,删除之后重新生成被删除的元素
  • Django_Vue3_ElementUI_Release_004_使用nginx部署
  • C编程控制PC蜂鸣器
  • 【乐企-业务篇】开票前置校验服务-规则链服务接口实现(纳税人基本信息)
  • dedecms(四种webshell姿势)、aspcms webshell漏洞复现
  • Leetcode 144. 二叉树的前序遍历(Easy)
  • JZ2440开发板——S3C2440的UART的使用
  • STM32启用FPU浮点运算
  • MVCC机制解析:提升数据库并发性能的关键
  • LabVIEW减速机加载控制系统
  • SpringCloud-04 OpenFeign服务调用与负载均衡
  • Springboot 集成 Swing
  • “大数据应用场景”之隔壁老王(连载四)
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Angular6错误 Service: No provider for Renderer2
  • Bytom交易说明(账户管理模式)
  • C++11: atomic 头文件
  • mysql_config not found
  • MySQL的数据类型
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • ucore操作系统实验笔记 - 重新理解中断
  • vue脚手架vue-cli
  • Web设计流程优化:网页效果图设计新思路
  • yii2权限控制rbac之rule详细讲解
  • 浮现式设计
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 我看到的前端
  • 小李飞刀:SQL题目刷起来!
  • 鱼骨图 - 如何绘制?
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​字​节​一​面​
  • #QT 笔记一
  • #QT(TCP网络编程-服务端)
  • $nextTick的使用场景介绍
  • (2)空速传感器
  • (第27天)Oracle 数据泵转换分区表
  • (第二周)效能测试
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (六)激光线扫描-三维重建
  • (四) 虚拟摄像头vivi体验
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core跨平台微服务学习资源
  • .Net FrameWork总结
  • .net6+aspose.words导出word并转pdf
  • .NET成年了,然后呢?