将一个文件夹下的所有pdf文件合并为一个文件
文章目录
- 1.将一个文件夹下的所有pdf文件合并为一个文件
- 这里还有一个
- 2.重新生成PDF文件
如题,每次都要重新写脚本很烦人,放在CSDN当做工具吧!
1.将一个文件夹下的所有pdf文件合并为一个文件
def merge_pdf_files(path, save_path, outputname):# 将给定文件夹(路径为path)下所有的pdf文档合并为一个文档name_list = os.listdir(path)pdf_name_list = []for name in name_list:if name[-4:] == ".pdf":pdf_name_list.append(name)else:passoutputfile = open(save_path + "\\" + outputname, 'wb')save_file = PdfFileWriter()for name_i in pdf_name_list:file_i = PdfFileReader(open(path + "\\" + name_i, 'rb'))for pageNum in range(file_i.numPages):page = file_i.getPage(pageNum)save_file.addPage(page)save_file.write(outputfile)outputfile.close()
这里还有一个
import PyPDF2 as pp2
import ospath = r"XXX\YYY" # 存放多个PDF文档的文件夹路径
filenamelist = os.listdir(path)pdfWriter = pp2.PdfFileWriter()
def addnewpdf(pr):for pageNum in range(pr.numPages):pageObj = pr.getPage(pageNum)pdfWriter.addPage(pageObj)for i in filenamelist:pdfFileObj_i = open(path+"/"+i, "rb")pdfreader_i = pp2.PdfFileReader(pdfFileObj_i ,strict=False) # ) #addnewpdf(pdfreader_i)pdfWriter.write(open(r'EEE\\aaa.pdf', "wb")) # 合并以后的PDF文件路径
2.重新生成PDF文件
下面这段代码是将一个已有的PDF文件重新生成一次。
这个操作的背景是这样的:有些PDF源文档很奇怪,你可以从上面复制文字,在文档内进行搜索,但是没有办法添加书签。而这三项尤其是添加书签是一个文档从废变宝的基础。采用虚拟打印的方式可以部分解决这个问题,但是虚拟打印的PDF是没有办法再复制文字以及在文档内搜索了。
这种情况下用Python脚本处理这个问题就两全其美了,代码如下:
import PyPDF2 as pp2
import ospath = r"XXXX\YYYYY" # 存放多个PDF文档的文件夹路径
filenamelist = os.listdir(path)def create_another_file(file_path):pdfFileObj_i = open(file_path, "rb")pdfreader_i = pp2.PdfFileReader(pdfFileObj_i, strict=False)for pageNum in range(pdfreader_i.numPages):pageObj = pdfreader_i.getPage(pageNum)pdfWriter.addPage(pageObj)for i in filenamelist:pdfWriter = pp2.PdfFileWriter()file_path = path + "\\" + icreate_another_file(file_path)pdfWriter.write(open(path + "\\test\\" + i, "wb")) # 重新生成的PDF文件
将一个文件夹下的所有pdf文件合并为一个文件相关推荐
- linux整个目录复制移动,Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹,个人常用收录...
1.将一个文件夹下的所有内容复制到另一个文件夹下 cp -r /home/packageA/* /home/cp/packageB/ 或 cp -r /home/packageA/. /home/cp ...
- 批量上传相册,将一个文件夹下的所有图片,复制到另一个文件夹,仅给出文件夹目录
package cn.hp.demo01;import java.io.*;/* * 批量上传相册 *将一个文件夹下的所有图片,复制到另一个文件夹 *仅给出文件夹目录*/ public class D ...
- python将一个文件夹下图片按比例分在两个文件夹下
#!/usr/bin/env python # -*- coding:utf-8 -*- # 将一个文件夹下图片按比例分在两个文件夹下,比例改0.7这个值即可 import os import ran ...
- 在当前文件夹下创建以日期和时间命名的文件夹
工作中经常要用到在当前文件夹下创建以日期加时间命名的文件夹,手动太过麻烦,于是写了个脚本, windows下直接用bat @echo off ::获取日期 将格式设置为:20150410 set da ...
- linux 把一个文件夹重命名后,移动到另外一个文件夹下
linux 把一个文件夹重命名后,移动到另外一个文件夹下 mv /ssd1/AAA/PBMC_rat/RAT/index /ssd1/zhihengfeng/PBMC_rat/star
- Python批量转换文件夹下图片为PDF
前言 最近遇到需要批量把图片转换成pdf的需求,要求转换之后输出到对应的转化目录下,由于需要转换的图片文件非常多,这就萌生了想要写个小程序的想法. 实现思路: (1)先弹窗选择对应的文件夹路径 (2) ...
- 合并文件夹下多个PDF,PDF转图片,图片转PDF,JPG转pdf,pdf转JPG
可以实现任意选定页面的合并.通过文件夹遍历,可以将不同文件夹下的PDF按选定的页面合并在一起,方便实用,简单易学. 在日常生活中,我们时常需要批量保存并合并文件.在网上我们可以搜到很多PDF合并软件, ...
- php文件夹下所有视频播放,PHP使用glob方法遍历文件夹下所有文件
遍历文件夹下所有文件,一般可以使用opendir 与 readdir 方法来遍历. 代码: $path = dirname(__FILE__); // __FILE__文件的完整路径和文件名. // ...
- Windows下将文件夹下所有的文件名导出成生成TXT文件
1.在桌面上新建一个txt文件,然后复制下面代码,写入txt文件 @echo off dir /s/b *.* > b.txt exit (这里的b.txt文件就是用来存放目标文件名称的txt文 ...
最新文章
- 硬货 | 一文解读完五篇重磅ACL2017 NLP论文
- feign session 调用_springboot使用feign调用session传递失效解决方案
- arcalet云服务平台支持Unity3D开发实时多人联机游戏
- 电动力学每日一题 2021/10/14
- KVM虚拟化的简单概论
- 可视化Java 9模块关系
- git 报错:was cached in the local repository, resolution will not be reattempted until the upda
- MySQL—赋权(grant)和回收权限(revoke)
- 研究百度下拉360下拉搜狗下拉神马下拉头条下拉抖音下拉的优化算法(合集帖)
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- 技术交流群和CSDN免费下载服务
- 初级程序员面试经典题目(大串烧 含答案)
- lol2.27服务器维护,lol2月27日维护公告
- 量化评价和质化评价举例_数据质量量化评价研究与实现
- 2021-05-07:set,hashmap,collisions, map 242 1 15 18
- 边缘计算七大核心技术
- 基于Python的招聘推荐与薪资预测系统的设计与实现
- Springboot导出excel,合并单元格示例
- c++最佳情侣身高差(来测一测)
- 网络多媒体素材加工【1】
热门文章
- 最适合孩子入门的十大编程语言
- 购物车系列——购物车模块
- 贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据...
- list, vector, map, set 区别与用法比较
- vue3 实现Excel下载模板
- C语言(十八)_Bool变量
- networkx画有向图和无向图
- 沃飞长空公共安全无人机,助力建设“空天地”一体化水文监测体系
- Spring-Boot-全栈开发:漂亮的邮件注册
- JS节点操作(2)- 创建节点,添加节点,删除节点,复制节点