使用python对指定文件夹下的pdf文件进行合并

使用python对指定文件夹下的pdf文件进行合并

  • 介绍
  • 效果
  • 代码

介绍

  • 对指定文件夹下的所有pdf文件进行合并成一个pdf文件。

效果

要合并的pdf文件,共计16个1页的pdf文件。
在这里插入图片描述
合并成功的pdf文件:一个16页的pdf文件。
在这里插入图片描述

代码

import os
from PyPDF2 import PdfFileReader, PdfWriter,PdfReader


def merge_pdfs(directory, output_filename):
    pdf_writer = PdfWriter()

    # 遍历指定文件夹中的所有PDF文件
    for filename in os.listdir(directory):
        if filename.endswith('.pdf'):
            pdf_file_path = os.path.join(directory, filename)
            pdf_reader = PdfReader(open(pdf_file_path, 'rb'))

            # 逐页添加到PDF写入器中
            for page_num in range(len(pdf_reader.pages)):
                pdf_writer.add_page(pdf_reader.pages[page_num])

                # 将合并后的PDF写入到输出文件中
    with open(output_filename, 'wb') as output_pdf:
        pdf_writer.write(output_pdf)

    # 使用函数


directory_path = './pdf_res'  # 替换为你的PDF文件夹路径
output_filename = 'merged_output.pdf'  # 合并后的PDF文件名
merge_pdfs(directory_path, output_filename)

print(f"PDFs merged successfully to {output_filename}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/645322.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3款简洁个人网站引导页(附带源码)

3款个人网站引导页 效果图及部分源码1.个人页2.引导页3.导航页 领取源码下期更新预报 效果图及部分源码 1.个人页 部分源码 * {margin: 0;padding: 0; }body {background-image: linear-gradient(to left, rgba(255, 0, 149, 0.2), rgba(0, 247, 255, 0.2)), url(../img/bg.j…

贪心算法4(c++)

过河的最短时间 题目描述 输入 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过,如果…

Spark搭建 Standalone模式详细步骤

Standalone模式概述: Standalone模式是Spark自带的一种集群模式(本地集群,不依赖与外部集群,比如Yarn),可以真实地在多个机器之间搭建Spark集群的环境。 Standalone是完整的Spark运行环境,其中: Master角…

QGraphicsView实现简易地图16『爆炸效果』

前文链接:QGraphicsView实现简易地图15『测量面积』 一种简单的爆炸波扩散效果 动态演示效果: 静态展示图片: 核心代码: #pragma once #include "../AbstractGeoItem.h" #include "DataStruct/GeoData.h"…

Minecraft服务器如何搭建

Minecraft这是原版英文名称,在中国大陆被译为《我的世界》,这款游戏很火爆。台湾的很多小伙伴也在玩,其译名为《我的创世神》。现在这款游戏在国内已经被网易代理了。因为这款游戏开源,所以任何人都可以搭建服务器端,如…

Aloha机械臂的mujoco仿真问题记录

今天在测试ACT代码时,遇到了仿真中的机械臂无法摆放正确的姿势来抓去红色方块。 后来经过测试,发现应该是python包的版本问题有误,下面记录下正确的包版本: 官方给出的包: conda create -n aloha python3.8.10 conda…

LearnOpenGL(二十)之立方体贴图

一、创建立方体贴图 首先,生成一个纹理,并将其绑定到纹理目标GL_TEXTURE_CUBE_MAP: unsigned int textureID; glGenTextures(1, &textureID); glBindTexture(GL_TEXTURE_CUBE_MAP, textureID); 因为立方体贴图包含有6个纹理&#xff0…

【Spring Boot】分层开发 Web 应用程序(含实例)

分层开发 Web 应用程序 1.应用程序分层开发模式:MVC1.1 了解 MVC 模式1.2 MVC 和三层架构的关系 2.视图技术 Thymeleaf3.使用控制器3.1 常用注解3.1.1 Controller3.1.2 RestController3.1.3 RequestMapping3.1.4 PathVariable 3.2 将 URL 映射到方法3.3 在方法中使用…

打卡信奥刷题(19)用Scratch图形化工具信奥B3972 [语言月赛 202405] 二进制 题解

进制转换是经典的编程题,尤其是10进制转换为2进制。方法是拿给定的数,不断地除2,将余数放在对应的位置,剩下的数为对应数除2向下取整 [语言月赛 202405] 二进制 题目描述 在介绍十进制转二进制的篇目中,我们总会看到…

GDPU JavaWeb mvc模式

搭建一个mvc框架的小实例。 简易计算器 有一个名为inputNumber.jsp的页面提供一个表单,用户可以通过表单输入两个数和运算符号提交给Servlet控制器;由名为ComputerBean.java生成的JavaBean负责存储运算数、运算符号和运算结果,由名为handleCo…

2024最新 Jenkins + Docker实战教程(二) - Jenkins相关配置

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

鸿蒙 DevEcoStudio:发布进度条通知

使用notificationManager及wantAgent实现功能import notificationManager from ohos.notificationManager import wantAgent from ohos.app.ability.wantAgent Entry Component struct Index {State message: string 发布进度条通知progressValue: number0async publicDownloa…

24李林跌落神坛,880还刷吗?还是换1000、900、660?

“李林今年跌落神坛了!” “全是固定题型没新题,结果今年考的全是新题。” 880是“老真题的神”, 遇到24年,冷门考点多,计算量又大,就不灵了。 但“老真题”,还是得刷。就像往年真题是要刷的…

传输层——UDP

在学习计算机网络的过程中,我们知道OSI七层协议模型,但是在实际开发应 用中我们发现OSI七层协议模型并不适合实施,因为OSI上三层通常都是由开 发人员统一完成的,这三层之间在实现过程中没有一个明确的界限,所以我 们更…

001集—创建、写入、读取文件fileopen函数——vb.net

此实例为在指定路径下创建一个txt文本文件,在文本文件内输入文字,并弹窗显示输入文字,代码如下: Public Class Form1Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.ClickDim testcontent As Str…

基于CNN+LSTM深度学习网络的时间序列预测matlab仿真,并对比CNN+GRU网络

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN基础 4.2 LSTM原理 4.3 GRU原理 4.4 CNNLSTM与CNNGRU对比 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ......................…

IS-IS DIS

原理概述 OSPF 协议支持4种网络类型, IS-IS 协议只支持两种网络类型,即广播网络和点到点网络。与 OSPF 协议相同, IS-IS 协议在广播网络中会将网络视为一个伪节点( Pseudonode ,简称 PSN ),并选举出一台 DIS ( Designa…

Springboot+Vue+ElementUI开发前后端分离的员工管理系统01--系统介绍

项目介绍 springboot_vue_emp是一个基于SpringbootVueElementUI实现的前后端分离的员工管理系统 功能涵盖: 系统管理:用户管理、角色管理、菜单管理、字典管理、部门管理出勤管理:请假管理、考勤统计、工资发放、工资统计、离职申请、个人资…

部署LAMP平台

目录 一、LAMP简介与概述 1.1 各组件作用 1.2 LAMP平台搭建时各组件安装顺序 1.3 httpd服务的目录结构 1.4 httpd.conf配置文件 二、编译安装Apache httpd服务 2.1 关闭防火墙,将安装Apache所需软件包传到/opt目录下 2.2 安装环境依赖包 ​2.3 配置软件模块…

监控员工电脑屏幕的五大软件(电脑监控软件大盘点)

监控员工电脑屏幕是企业为了提升工作效率、确保信息安全和合规性而采取的一种常见做法。以下是五款在2024年备受推荐的员工电脑屏幕监控软件,每款软件都具有其独特的功能和优势: 1. 域智盾 域智盾是一款全面的终端管理系统,集成了实时屏幕监…