用Python合并文件夹下所有pdf文件(包括多级子目录下的pdf文件)

用python中PyPDF模块合并文件夹下的所有PDF文档 用python中PyPDF模块合并文件夹下的所有PDF文档以下是程序说明以下是程序代码: 以下是程序说明 #本程序可以实现,将特定文件夹中的pdf按照文件名首的数字字母排序后合并 #运行本程序在windows环境下运行,需要python及PyPDF2模块。 #操作步骤: #1 将代码中"C:\Users\wangr\Desktop"替换为您电脑上的桌面路径,注意路径上的反斜杠要改为双反斜杠 #2 在桌面建立一个名为’合并pdf’的文件夹 #3 将要合并的pdf文件放入上述文件夹,并按照顺序修改为以数字开头的 阅读详情

暑假的时候,我在网上买了很多电子版的剧本杀,里面有很多pdf文件,需要自己打印下来玩。
然后我就想啊,几十个pdf,一个一个打开,再一个一个打印,那多麻烦。
干脆自己用Python搞个小程序,把所有pdf文件都合成一个,一个文件直接打印多方便!
在这里插入图片描述

1.导入库文件包

我使用了PyPDF2这个第三方库文件包,还需要导入os文件操作包

import os
from PyPDF2 import PdfFileMerger
from PyPDF2 import PdfFileReader

2.获取pdf页数的函数

如果pdf文件有密码,需要在decrypt函数输入密码

#获取pdf页数的函数
def getPdfPages(filePath):
    reader = PdfFileReader(filePath)
    #解密pdf文件
    if reader.isEncrypted:
        reader.decrypt('')
    pageNum = reader.getNumPages()
    return pageNum

3.存储所有pdf文件路径的函数

获取文件夹下所有pdf文件的路径(包括多级子目录下的pdf文件路径)

#存储所有pdf文件路径的函数
def loadAllFilesPath(rootPath,filePaths):
    #分别代表根目录、文件夹、文件
    for root, dirs, files in os.walk(rootPath):
        #遍历文件
        for file in files:
            #识别pdf文件
            if file.endswith('.pdf') or file.endswith('.PDF'):
                #获取文件绝对路径
                filePath = os.path.join(root, file)
                #文件路径添加进列表
                filePaths.append(filePath)

4.程序主体

我还增加了一个页码索引的功能,可以在合并完成后,打开新生成的txt文件,找到原pdf文件对应的页码索引

#输入根目录的文件夹
rootPath = input('请输入文件夹:')

#存储所有pdf文件路径的列表
pdfPaths = []
#存储所有pdf文件的页码和索引
pageCount = 0
pageIndex = []

#找到所有pdf文件路径,并存储所有pdf文件路径到列表中
loadAllFilesPath(rootPath,pdfPaths)

#创建pdf合成器对象
fileMerger = PdfFileMerger()
#合并pdf文件
for pdfPath in pdfPaths:
    fileMerger.append(pdfPath)
    page = getPdfPages(pdfPath)
    pageIndex.append('页码索引:' + str(pageCount+1) + '~' + str(pageCount+page))
    pageCount += page

#创建保存新文件的文件夹
newDirPath = os.path.join(rootPath,'合并完成的文件')
if not os.path.exists(newDirPath):
    os.mkdir(newDirPath)
#保存合并完成的pdf文件
fileMerger.write(os.path.join(newDirPath,'合并完成的pdf文件.pdf'))
#保存合并pdf文件的顺序
with open(os.path.join(newDirPath,'合并pdf文件的顺序.txt'),'w',encoding='utf-8') as f:
    for pdfPath,pdfInd in zip(pdfPaths,pageIndex):
        f.write(pdfPath + '\t\t' + pdfInd + '\n')

#pdf文件合并成功!
print('pdf文件合并成功,请查看文件夹“合并完成的文件”')

5.程序测试

以剧本“良辰吉日”为例,文件结构如下:
在这里插入图片描述

  • 根目录
    • 组织者手册.pdf
    • 剧本
      • 含烟.pdf
      • 静虚子.pdf
      • 梁仁甫.pdf
      • 柳眠.pdf
      • 妙玄.pdf
      • 武夫人.pdf
      • 武仲文.pdf
      • 殷思齐.pdf
    • 线索
      • 其它
        • 地图背景名词解释.pdf
        • 静虚子记忆.pdf
      • 含烟线索.pdf
      • 静虚子线索.pdf
      • 梁仁甫线索.pdf
      • 柳眠线索.pdf
      • 妙玄线索.pdf
      • 武夫人线索.pdf
      • 武仲文线索.pdf
      • 殷思齐线索.pdf
      • 庭院线索.pdf

下面进行程序测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.程序封装为exe文件(需要提前安装pyinstaller包,可以自行百度)

文件在终端打开
在这里插入图片描述
输入:pyinstaller -F pdf合并.py
在这里插入图片描述
回车,运行成功!
在这里插入图片描述
在py文件的同一层级,会出现一个dist文件夹,里面就能找到生成的exe文件啦!
在这里插入图片描述

PDF文件合并 –Python 递归当前目录中的所有PDF文件,并以其目录名称,命名合并的PDF文件。 阅读详情

相关推荐

Python实现将目录下的图片合并成PDF文件

本文详细讲解了如何利用Python实现批量将文件夹中的图片合并成PDF文件的流程。通过Pillow和reportlab库,配合os库对文件夹进行遍历和文件操作,实现了从单一目录读取图片到批量处理多个文件夹中图片的自动化工作流。教程的核心内容包括:此流程不仅适合生成项目文档或相册PDF,还适用于批量处理和归档大量图片文件。通过Python的灵活性,读者能够进一步定制或拓展应用范围,使文件处理自动化与高效化。

Mr数据杨 1万+

Python:处理本地文件,返回目录文件、文件复制、目录文件复制等

返回目录文件、文件复制、目录文件复制、目录下查找文件并返回文件绝对路径等 1、在指定目录下查找文件,返回文件绝对路径 2、返回目录下所有文件路径 3、复制多个文件到指定目录下 4、复制源目录下的所有文件到指定目录下......

m0_37586703的博客 1445

Python 合并 PDF 文件(批量处理方法)

周一早上九点,你的邮箱里躺着十几封邮件,每封都带了一个PDF附件——上周会议的签到表、各小组的报告、财务的报销凭证。领导在微信群里发了一条消息:“把这些文件合并成一个,发到公司群里。你打开第一个PDF,又打开第二个,鼠标拖来拖去,发现Adobe Acrobat弹出一个窗口:“您的试用期已结束。”同事推荐了在线合并工具,你上传完所有文件,等待进度条走到100%,页面弹出五个字:“请付费解锁。这不是你的错。PDF合并这件事看起来简单,真上手才发现处处是坑。

这家伙很懒,什么都没有留下 341

【python PDF合并】python 合并同一个文件夹下所有PDF文件

一、需求说明 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这些PDF文档放在一个文件夹下,希望合并成一个PDF文件。于是写了一个python程序,很好的解决了这个问题。二、数据形式 三、合并效果 四、python代码实现# -*- coding:utf-8*- import sys reload(sys) sys.setdefaultenco

赖德发的博客 1万+

PDF多目录批量合并,每个文件夹下的文档合并成一个pdf

N个文件夹,每个文件夹内有不等数量的pdf文件,批量让每个文件夹下的文档合并成一个pdf,也就是最后生成N个pdf 举个例子:共1000个pdf,分成了500个文件夹,每个文件夹下有2个pdf,批量自动合并成500个pdf

Windows server Database 2025 安装 i225/i226 网卡驱动

Windows server Database 2025 安装 i225/i226 网卡驱动 windows这比坏得很,intel消费级网卡不准在服务器系统上安装。你要说他是异构不支持?他就纯粹恶心人。 之前已经安装过一次,但是今天database预览版一更新,又给我把网卡驱动杀了,气死,写一篇教程。 到这里就完成了,总之还是想辱骂windows,提供便捷的同时又人为制造困难,多少有点(隔壁linux内核直接自带全家桶了就一省心) 并且近年Intel的新U安装显卡驱动和普通声卡驱动都不会出声

低温热源的博客 1万+

使用 Python 将若干个 PDF 文件合并到一个中

使用 Python 将若干个 PDF 文件合并到一个中

jieru_liu的博客 908

基于Ventoy制作单个U盘引导Windows+Linux+黑苹果macOS

一款国内高手开发的一个名为Ventoy的开源多系统启动U盘制作工具,官方链接:https://www.ventoy.net/cn/index.html Ventoy 特点 不影响U盘日常普通使用 直接从ISO文件启动,无需解开 支持MBR和GPT分区格式(1.0.15+) 支持超过4GB的ISO文件 支持大部分常见操作系统, 已测试650+ 个ISO文件 不仅仅是启动,而是完整的安装过程 版本升级时数据不会丢失 Ventoy 待改进 不支持macOS和ChromeOS 准备2个空的U.

wybarcelona的博客 3万+

Endnote下载的pdf文件合并到同一个文件夹

python实现将Endnote下载的文献移动到同一个文件夹

qq_36700780的博客 2268

抖音自定义卡片链接(图文链接)

抖音自定义可以自定义标题,打开链接,和展示图片 效果 主要代码 public void sendMessage(String conversationId, Object aBaseContent) throws Exception { // C233282u5.LIZIZ.LIZ().LIZIZ(LIZ).LIZ(obtain).LIZ(hLn).LIZ((AbstractC59811HHc) new H9Q()); Object HOa = ReflectionUtil

傅恒的博客 4141

Ansys Lumerical 启动时出现 Error: Could not connect to Ansys license server specified at 1055@ 的另一种解决办法

昨天在关闭了中之后 就能正常打开 FDTD 了,结果今天想开启出现了同样的报错:我猜测昨天能启动的原因在于关闭之后要重启电脑,并且在重启之后我第一时间打开 lumerical 测试因此端口没有被占用,今天是在电脑启动之后一段时间才打开所以又遇到了端口占用的问题。

qq_51404184的博客 9561

使用python合并pdf文件带书签

1、需求: 将几本纸质书进行了扫描,可是扫描的每页生成一个pdf文件。需要怎么才能把这些pdf文件合成一个呢?adoba acrobat工具支持,可是收费。我们平时用的都是adoba reader,只有读pdf的功能没有合并等高级功能。网上的一些免费工具又担心有病毒或绑定程序。 所以考虑看看pyton实现。网上找了下python合并pdf的脚本,发现也没有添加书签的功能的,有添加书签的也不是很...

huahuazhu的博客 4699

16、保障Azure应用安全:密钥管理与身份认证

本文深入探讨了保障Azure应用安全的关键措施,包括使用网络安全工具(如Application Gateway和Azure Front Door)防范攻击,解决传统密钥和机密存储方式的安全隐患,以及通过Azure Key Vault实现敏感信息的安全管理。同时,介绍了使用托管标识实现Azure资源间安全访问的方法,并结合实际操作步骤展示了如何配置Key Vault、设置访问策略、存储机密以及授予Web应用对SQL Server的访问权限。最后,对不同安全措施进行了比较,并提出了在开发、测试及生产环境中的综合

rock5的博客 73

合并文件夹下的所有图片为pdf, 一个文件夹一个pdf文件

【代码】合并文件夹下的所有图片为pdf, 一个文件夹一个pdf文件。

minqike的专栏 552

华为OD机试真题2026双机位C卷 C语言 实现【主次关联成环警告】

在ICT运维领域,现网运维工程师面向对设备上报的众多告警,往往需要筛选出最主要的告警优先处理,次等级的告警或许为同一个根因导致的告警,处理优先级会放后或者不处理,这样就诞生出主次关联告警的概念。给定一系列告警的主次关联关系,判断是否存在如下情况:

MISAYAONE的博客 174

什么是 AIDV(AI 定义汽车):从软件定义到智能决策的范式革命

AI定义汽车(AIDV),是指以人工智能(尤其是大模型、深度学习、强化学习)为核心引擎,以车载AI芯片为算力底座,以“数据闭环”为迭代支撑,重构汽车感知、决策、执行全链路,实现“感知智能化、决策自主化、体验个性化、迭代自动化”的新一代智能汽车发展范式。其核心是让汽车从“执行工具”升级为“具备自主学习与智能决策能力的移动智能终端”,核心价值是“车与人的深度协同”与“复杂场景的自主适配”。

getusushu的博客 97

python3 获取某个文件夹所有的pdf文件表格提取表格并一起合并到excel文件

如果你想要遍历一个文件夹中的所有子文件夹,并获取每个子文件夹中的PDF文件,你可以使用递归函数来实现这个功能。函数能够处理多个PDF文件中的表格合并到Excel文件的逻辑。如果你需要更具体的帮助来定义这个函数,请提供更多关于你希望如何合并表格的信息。会为每个目录返回一个三元组,包含当前目录的路径、当前目录下的子目录名列表,以及当前目录下的文件名列表。函数遍历每个文件名,检查它是否以。结尾(不区分大小写),如果是,则将其添加到。来递归遍历目录和子目录。

qzmlyshao的博客 1310

YOLOv8【第十一章:视频追踪与流处理篇·第3节】匈牙利算法(Hungarian Algorithm)与 KM 算法匹配机制详解!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 450

多html整理合并pdf

版权声明:本文为博主原创文章,转载 请注明出处:https://blog.youkuaiyun.com/sc2079/article/details/90478551 #-写在前面   最近想提升自己的PPT制作能力,便下载了某PPT教程类微信公共号的html文档,非常多,感觉一篇篇挨着看效率不高。因此,有了分类整理并制作PDF文档的想法。 - 环境配置安装      运行环境:Python3.6、Spyder     依赖模块:pdfkit、PyPDF2等 *注:pdfkit的安装可以参考[pyth

sc2079的博客 1890

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

文件夹里面内容合并

目前遇到的一个小事情,就是收集到的资料可能存在多个文件夹中,需要将多个文件夹里面内容合并成一个文件夹。

weixin_43636034的博客 654

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

python读取扫描形成的pdf_Python利用PyPDF2库获取PDF文件总页码实例

Python中可以利用PyPDF2库来获取该pdf文件的总页码,可以根据下面的方法一步步进行下去:1、首先,要安装PyPDF2库,利用以下命令即可:pip install PyPDF22、接着,就是直接编写代码了,其中我新建了一个py文件,名为file_utils.py,代码如下:from PyPDF2 import PdfFileReaderdef get_num_pages(file_path...

weixin_39752941的博客 796

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python-办公自动化-Word转PDF、奇数页插空白页、合并PDF

这里写自定义目录标题前言一、办公自动化基础1.批量处理-import os2.批量处理-循环语句二、批量Word转PDF三、奇数页插入空白PDF四、合并PDF 前言 初学python,主要目的是办公自动化,使用场景为日常办公,解决的问题为批量Word转PDF、合并PDF、奇数页插空白页(方便PDF合并后双面打印)、把Excel的内容插入Word批量生成周报等。 因为初学掌握不到位,也还没学会怎样集成代码生成一个工具直接用,只能一部分一部分附上代码。以下代码是用的比较好的。python版本为3.8。 特别说明

m0_48010654的博客 1909

使用python合并与切割pdf文件

#!/usr/bin/env python3 # -*- coding: utf-8 -*- import codecs import os import sys import PyPDF2 # 文件名:pdf.py # 本脚本用来合并pdf文件,输出的pdf文件按输入的pdf文件名生成书签 # 使用示例如下: # python pdf.py -p "D:\pdf-files" -o ...

zrj244265428的博客 1170

python读取pdf文档书签 bookmark_Python利用PyPDF2库获取PDF文件总页码实例

Python中可以利用PyPDF2库来获取该pdf文件的总页码,可以根据下面的方法一步步进行下去:1、首先,要安装PyPDF2库,利用以下命令即可:pip install PyPDF22、接着,就是直接编写代码了,其中我新建了一个py文件,名为file_utils.py,代码如下:from PyPDF2 import PdfFileReaderdef get_num_pages(file_path...

weixin_39928648的博客 823

【python实战】 从指定目录下遍历指定后缀的所有文件,然后拷贝到指定文件夹

1,问题描述 希望把某一路径下面所有(包含子路径)txt,docx,doc,pdf类型的文件,全部提取出来,拷贝到指定的目录里面 左边是要拷贝的目录,右边是拷贝到的目录 2,关键点描述 分成两步: (1)从指定目录读取所有指定类型的文件全名(路径+文件名),返回一个拷贝对象的文件list 技术点:遍历文件夹:os.walk(dirpath) 文件路径和文件名合并:os.path.join(dir...

bigear_yu的博客 4295
上一篇: 对三极管特性曲线的理解
下一篇: Python可视化——用pyqt5实现一个操作pdf的小程序GUI(1)
机灵的天使
博客等级 码龄7年 66粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值