通过Python pypdf库轻松拆分大型PDF文件

pypdf的历史

pypdf最早可以追溯到2005年开源发布,最早名称是"pyPdf",中间的P是大写的,是一个纯python库,这个库一直持续到2010年的pyPdf1.13最后一个版本!

开源其实是一件非常吃力不讨好的事情,在没有商业化的手段,以及没有额外费用的支持下,很难一直靠爱发电。

2011到2016年之间,在此基础上又诞生了一个PyPDF2的分支,这个分支其实是真正走到大众面前的一个库,在很多优秀的python书籍中都能看到该库的身影。PyPDF2从2016年沉寂了几年后,2022年又被一个开发者接管并维护,并且增加了一些功能。

2018到2022年间又围绕PyPDF2陆续诞生了PyPDF3 和 PyPDF4 ,但相对PyPDF2几乎很少有人使用,自然也就没有什么新的发展,岁月的车轮终究碾碎了单纯的开发者!

好在开源的力量是无穷的,正所谓,天下大势,合久必分,分久必合,2023年pypdf回归本源,PyPDF2 被合并回 pypdf,现在的名称全部为小写,成为没有数字的pypdf!

最后,希望我们能看到PyPDF3 和 PyPDF4 的开发者也能加入到社区中,让pypdf这个库能有更好的发展和未来。

最后让我们一起,致敬开源,感恩开源,向优秀的开源开发者学习!

pypdf的安装

pypdf是一个纯python库,安装使用非常简单,只需要使用pip安装即可!

pip install pypdf

pypdf的应用案例

拆分pdf文档思路与分析

拆分一个多页的pdf文档有两种拆分思路:

  1. 按每个拆分的pdf包含多少页自动拆分

​ 这个拆分思路其实是规定了每个将要拆分的小pdf文件由多少页组成的一个方式,很好理解。

​ 计算公式:pdf总页数 / 每个pdf的页数 = 拆分的份数

  1. 按份数拆分

​ 这种就是直接指定将一个pdf拆分成多少份

​ 计算公式:pdf总页数 / 拆分的份数 = 每个pdf的页数

其实,看完这个计算公式之后我们就能发现,其实他们解决的是同一个问题,就是一个简单的除法运算!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高性能计算——汇编语言(终章)

汇编语言(终章) 文章目录 汇编语言(终章)机器码布局(Machine Code Layout)CPU前端(CPU Front-End)代码对齐指令缓存不均等分支(Unequal Branches)机器码布局(Machine Code Layout) 计算机工程师喜欢在将CPU的流水线划分为两部分:前端和后端,前段指的是指令从内存…

关于PolarDB粗浅认识

PolarDB简介 目前(20240314),PolarDB有两个版本: PolarDB-PG PolarDB PostgreSQL 版(PolarDB for PostgreSQL,简称“PolarDB-PG”)是阿里云自主研发的云原生关系型数据库产品,100%…

主板维修一般多少钱?电脑主板常见维修方法交换法

修主板一般要多少钱? 下面就让我们一起来了解一下吧。 电脑主板维修价格根据损坏程度不同而不同 1、电容器最容易损坏。 如果只是更换电容的话,大约需要50元左右。 2、如果主板上的电路损坏,面积越大,价格就越贵,可…

css动画和js动画的区别?

CSS 动画和 JavaScript 动画是网页开发中常用的两种动画实现方式,它们各有特点和适用场景,下面是它们之间的一些主要区别: CSS 动画: 声明式:CSS 动画是一种声明式的动画实现方式,通过定义样式规则和过渡效…

一学就会 | ChatGPT提示词-[简历指令库]-有爱AI实战教程(七)

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、导读: 在使用 ChatGPT 时,当你给的指令越精确,它的回答会越到位,举例来说,假如你要请它帮忙写文案&#x…

测算土地面积并导出的新方法

让每一个人,都有自己的地图! 我们在《如何测量显示多个距离和面积》一文中分享过测量距离和面积的方法,随着最近新版本的上线,该功能又有了新方法。 这里以测算土地面积并导出为例,分享这个新版本中的面积测量与导出…

某年某月第几天(模拟)

时间模板传送带-> 题目描述 定义一个结构体变量&#xff08;包括年、月、日&#xff09;。计算该日在本年中是第几天&#xff0c;注意闰年问题。 输入格式 年月日 输出格式 当年第几天 样例输入 2000 12 31 样例输出 366 #include <iostream> using namespace s…

黑天鹅大事件发生后,财产如何不受损失,fpmarkets一招教你

众所周知一旦行业内发生黑天鹅后&#xff0c;所带来的影响可以颠覆整个行业&#xff0c;再加上爆发的瞬间性对我们危害更大。那么黑天鹅大事件发生后&#xff0c;财产如何不受损失&#xff0c;今天fpmarkets一招教你。 塔勒布在《黑天鹅:极不可能事件的影响》一书中写道&#x…

一条 SQL 更新语句如何执行的

Server 层 存储引擎层 总流程 查询语句 连接器 查询缓存 分析器 优化器 执行器 更新语句 redo log&#xff08;节省的是随机写磁盘的 IO 消耗&#xff08;转成顺序写&#x…

骨传导耳机领头羊——南卡在AWE2024展会上展现强大的创新实力

在2024年的AWE&#xff08;中国家电及消费电子博览会&#xff09;上&#xff0c;南卡凭借其尖端的骨传导耳机技术再次成为业界瞩目的中心。作为骨传导技术的先驱和领航者&#xff0c;南卡不仅展出了其最新的产品&#xff0c;更向世界宣布了其在开放式耳机市场的宏伟蓝图。 南卡…

java零基础入门-Map集合练习(上)

一、教学目标 能够使用HashMap集合实现值为双列集合存放。能够使用HashMap集合实现值为单列集合存放。能够使用HashMap集合实现值为基本数据类型存放。能够使用HashMap集合实现值为对象存放。... 二、HashMap实现自定义元素存放 1、值存放基本数据类型 像这中就非常简单了呀…

损失函数和反向传播

1. 损失函数的基础 import torch from torch.nn import L1Loss from torch import nninputs torch.tensor([1, 2, 3], dtypetorch.float32) targets torch.tensor([1, 2, 5], dtypetorch.float32)inputs torch.reshape(inputs, (1, 1, 1, 3)) targets torch.reshape(targe…

ubuntu20.04中安装配置docker nvidia容器来实现宿主机GPU的调用

目录 配置并安装docker安装docker-nvidia&#xff08;启动容器调用显卡必备项&#xff09;修改docker数据保存路径&#xff08;强烈建议修改&#xff0c;要不后面会很麻烦&#xff09; 配置并安装docker 在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源&#x…

迄今为止易用 —— 的 “盲水印“ 实现方案

前期回顾 网站的打赏 —— 新一代的思路-CSDN博客https://blog.csdn.net/m0_57904695/article/details/136704914?spm1001.2014.3001.5501 目录 CSDN 彩色之外 &#x1f4dd; 前言&#xff1a; &#x1f6e0;️ vue3-blind-watermark &#x1f916; 安装 ♻️ 引入&am…

Jmeter入参问题小记

表单入参的时候&#xff0c;这个地方需要勾选&#xff0c;如果不☑️选的话&#xff0c;会提示errorMsg":"Required String parameter code is not present",

【面试精讲】String是如何实现的?String源码分析

【面试精讲】String是如何实现的&#xff1f;String源码分析 目录 一、String实现机制 二、String不可变性&#xff08;使用final修饰&#xff09; 三、String 和 StringBuilder、StringBuffer 的区别 四、和equals的区别 五、String创建对象与JVM辨析 六、String源码解…

Spring Web MVC入门(1)

什么是Spring Web MVC? 定义:Spring Web MVC是基于Servlet构建的原始Web框架,从一开始就包含在Spring框架中.它的正式名称"Spring Web MVC"来自其源模块的名称(Spring-webmvc),但是它通常被称为"Spring MVC". 什么是Servlet? Servlet是一种实现动态页面…

springboot+ssm基于vue.js的客户关系Crm管理系统

系统包含两种角色&#xff1a;管理员、用户&#xff0c;主要功能如下。 ide工具&#xff1a;IDEA 或者eclipse 编程语言: java 数据库: mysql5.7 框架&#xff1a;ssmspringboot都有 前端&#xff1a;vue.jsElementUI 详细技术&#xff1a;springbootSSMvueMYSQLMAVEN 数据库…

二刷代码随想录算法训练营第二十三天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

目录 一、669. 修剪二叉搜索树 二、108. 将有序数组转换为二叉搜索树 三、538. 把二叉搜索树转换为累加树 一、669. 修剪二叉搜索树 题目链接&#xff1a;力扣 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a; 你修剪的方式不对&#xff0c;我来给你纠正一下&#…

电梯机房秀

每天乘坐电梯&#xff0c;您见过电梯的机房吗&#xff1f;来&#xff0c;跟着小伍去看看吧。Lets go&#xff01; 电梯还能节能呢&#xff0c;您知道么&#xff1f;正好&#xff0c;小伍一块带您看看电梯节能装置(●◡●) 目前电梯节能装置已广泛应用于三菱、富士、日立、奥的斯…