首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Py2PDF PdfFileWriter -拆分文件是附加文件,而不是保存自己的文件

PyPDF2库中的PdfFileWriter类允许你创建新的PDF文件,并向其中添加页面。如果你想要拆分一个PDF文件为多个文件,你可以按照以下步骤操作:

  1. 打开原始PDF文件。
  2. 创建一个PdfFileWriter对象用于写入新的PDF文件。
  3. 遍历原始PDF文件的每一页。
  4. 将每一页添加到对应的PdfFileWriter对象中。
  5. 将每个PdfFileWriter对象写入一个新的PDF文件。

下面是一个简单的例子,展示了如何拆分一个PDF文件为多个单页PDF文件:

代码语言:javascript
复制
from PyPDF2 import PdfFileReader, PdfFileWriter

# 打开原始PDF文件
with open('original.pdf', 'rb') as original_file:
    reader = PdfFileReader(original_file)
    total_pages = reader.getNumPages()

    # 遍历每一页
    for page_number in range(total_pages):
        # 创建一个新的PdfFileWriter对象
        writer = PdfFileWriter()
        
        # 将当前页添加到writer对象
        writer.addPage(reader.getPage(page_number))
        
        # 创建一个新的PDF文件,文件名为 "page_{}.pdf".format(page_number + 1)
        with open(f'page_{page_number + 1}.pdf', 'wb') as output_file:
            # 将writer对象的内容写入新的PDF文件
            writer.write(output_file)

这段代码会创建多个单页PDF文件,每个文件包含原始PDF文件中的一张页面。文件名会根据页码来命名,例如page_1.pdf, page_2.pdf等。

请注意,这个例子假设你已经有了一个名为original.pdf的PDF文件在你的工作目录中。你需要根据实际情况修改文件路径。

此外,如果你想要将拆分后的文件附加到另一个PDF文件而不是保存为新的文件,你可以创建一个新的PdfFileWriter对象,然后将每个页面添加到这个对象中,最后将整个对象写入到一个PDF文件中。这样,所有的页面都会被合并到一个文件中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux 中,文件创建时间怎么保存

昨天在微信群里有人提问,如果创建一个文件,创建这个文件时间保存在哪里。 所以就查到了这篇文章。 ? ?...根据现象可以发现,test.txt文件硬链接文件test_hardlinkinode号和原文件一样,软链接文件tesrt_softlinkinode号就和原文件不一样,根据了解我们知道硬链接文件原来文件副本只是文件名不一样而已...,软连接文件一个新文件(实际上硬链接文件在磁盘上和原文件使用同一个inode节点,软连接文件使用不同inode节点来管理文件)。...3)inode只是用于描述文件元数据信息,并不是文件数据,文件数据会根据inode信息存放在一个数据块中(例如:test.txt文件ls -l看到信息就是它属性元信息,“hello”数据存放在另一个数据块中...它可以在i_atime中存储0,或者让i_atime等于i_mtime,或者只在内存中更新i_atime不将其写回磁盘,或者由文件系统 实现者来决定。

4.4K30
  • 我怎么把拆分pdf保存在我创建文件夹里?

    一、前言 前几天在Python白银交流群【FN】问了一个Python自动化办公问题,提问截图如下: 前面的已经分割好了,就差最后存储。...二、实现过程 这里【皮皮】给了一个代码,如下所示: from PyPDF2 import PdfFileWriter, PdfFileReader def split(pdf_path):...pdf_file = PdfFileReader(pdf_path) for page_num in range(pdf_file.numPages): pdf_writer = PdfFileWriter...如果需要指定你要创建文件夹里,稍微修改下存储路径即可。 三、总结 大家好,我皮皮。...这篇文章主要盘点了一个Python自动化办公处理问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    9810

    Git如何保存文件名和目录关系---树对象

    树对象(tree)—— 保存文件名和目录关系 树对象主要解决2个问题,:文件保存文件目录关系保存 就像下面这样: ?...下面我们就来模拟一下构建上面这颗树,也就是模拟保存这3个文件,其中"bak"一个目录,下面有一个文件 首先可以看到,我们一共需要保存3个文件,new.txt 、 内容为version 2 test.txt...Git 根据某一时刻暂存区(即 index 区域)所表示状态创建并记录一个对应树对象,如此重复便可依次记录(某个时间段内)一系列树对象。暂存区里保存就是我们add进去文件和目录。...cacheinfo:表示从Git数据库中取文件,因为我们文件不在工作目录,而是在Git数据库中 100644:表示普通文件,此外还有100755,表示一个可执行文件;120000,表示一个符号链接...数据对象和树对象用于保存数据和文件名和目录,我们还需要记录保存这些数据以及时间和原因等信息,而这些信息就需要第三个对象——提交对象。下一次我们就来看看提交对象。 如果对你有帮助,欢迎分享转发

    1.2K10

    php 拉取 gz 文件进行解压后保存自己服务器

    需求,将平台生成文件拉取回来,进行数据分析 通过接口请求,发现返回一个 .csv.gz 格式文件。...file_put_contents($path, $file); //将读取文件写入我们csv文件中 $path我们文件路径 shell_exec("gzip -d $path"); 这样执行后发现数据...感觉file_put_content() 函数为执行完成,也就是文件并没有生成好就进行解压引起。所以用fopen()试一下。...$url = $res['urls']; 这里文件地址 $newfname = XXXX; //自己文件路径 $file = fopen ($url, "rb"); if ($file)...最后再解决一个内存问题,在执行时因为php 配置文件中最大可分配内存不够,报错。 这里修改 php.ini 文件,把128 改为-1 不限制内存。 OK。 这种方式缺点比较慢。

    84210

    如何查找在线js文件(前提有网情况下),变成自己本地文件。(适用于前端所有框架)

    1、在有网络前提下,可以通过百度www.baidu.com来进行搜索文件。首先进行介绍一下什么cdn,百度百科介绍如下: 2、使用js文件有几种方式。...首先到对应官网上找到对应文件,然后下载下来,接着把它导入编译器器中,建立一个第三方文件夹,把它引入进来即可使用该文件。有第三方网址,也有官方网址。...(使用第三方插件) (1)点进相关网址之后这样。 (2)使用在线链接在网址输入栏中粘贴上去,回车,就可以看到相关全部内容。...接着在编译器中要使用该js文件,直接新建一个js文件,然后粘贴上去就可以使用。 3、使用第三方库官方网址,可以下载对应插件,离线安装使用,之前上面的介绍在线使用。使用哪一种方式都可以。...适合自己就是最好

    1.5K40

    使用Python拆分和合并PDF文件

    在本例中,使用示例名为data-1.pdf(有兴趣朋友可以到知识星球完美Excel社群中下载该文件,也可以自己制作一个用于演示文件)。...从PDF文件中获取页面 我们可以使用pdf.getPage()从pdf对象获取特定页面。记住,Python索引从0开始,不是1,因此许多Python库都遵循此约定。...getPage(0)pdf文件第一页,pdf.getPage(11)最后一页。调用pdf.getPage(12)将抛出“索引超出范围”错误,因为这意味着正试图访问12页文件第13页。...3.通过调用PdfFileWriter.write()方法保存新PDF。...将上述代码放到一起 下面允许你使用Python拆分和合并PDF文件完整代码: from PyPDF4 import PdfFileReader,PdfFileWriter pdf =PdfFileReader

    2.6K10

    聊聊 Python 操作PDF几种方法(合并、拆分、水印、加密)

    可以理解为读取器 PdfFileWriter可以理解为写入器 接下来通过几个案例进一步认识这两个工具奇妙之处,用到示例文件5个发票pdf 每个发票PDF都由两页组成: 三、合并 第一个工作将...最后,用with新建一个pdf并由写入器 pdf_writer.write(out)方法输出即可 四、拆分 如果明白了合并操作中读取器和写入器配合,那么拆分就很好理解了,这里我们以拆分INV1.pdf...循环每一页循环体内,不是在循环体外 代码很简单: from PyPDF2 import PdfFileReader, PdfFileWriter path = r'C:\Users\xxx' pdf_reader...INV1.pdf中 首先是准备工作,将需要作为水印图片插入word中调整合适位置后保存为PDF文件。...(密码) 以单个PDF加密为例: 写在最后 当然除了对PDF合并、拆分、加密、水印,我们还可以使用Python结合Excel和Word实现更多自动化需求,这些就留给读者自己开发。

    1.1K20

    Python自动化(二十) | 聊聊 Python 操作PDF几种方法(合并、拆分、水印、加密)

    可以理解为读取器 PdfFileWriter可以理解为写入器 接下来通过几个案例进一步认识这两个工具奇妙之处,用到示例文件5个发票pdf 每个发票PDF都由两页组成: 三、合并 第一个工作将...最后,用with新建一个pdf并由写入器 pdf_writer.write(out)方法输出即可 四、拆分 如果明白了合并操作中读取器和写入器配合,那么拆分就很好理解了,这里我们以拆分INV1.pdf...循环每一页循环体内,不是在循环体外 代码很简单: from PyPDF2 import PdfFileReader, PdfFileWriter path = r'C:\Users\xxx' pdf_reader...INV1.pdf中 首先是准备工作,将需要作为水印图片插入word中调整合适位置后保存为PDF文件。...(密码) 以单个PDF加密为例: 写在最后 当然除了对PDF合并、拆分、加密、水印,我们还可以使用Python结合Excel和Word实现更多自动化需求,这些就留给读者自己开发。

    93621

    教你用Python 操作 PDF 几种方法

    : PdfFileReader 可以理解为读取器 PdfFileWriter 可以理解为写入器 接下来通过几个案例进一步认识这两个工具奇妙之处,用到示例文件5个发票 pdf 每个发票 PDF...04 拆分 如果明白了合并操作中读取器和写入器配合,那么拆分就很好理解了,这里我们以拆分 INV1.pdf 为2个单独 pdf 文档为例,同样也先来捋一捋逻辑: 读取器读取 PDF 文档 读取器一页一页交给写入器...写入器每获取一页就立即输出 通过这个代码逻辑我们也可以明白,写入器初始化和输出位置一定都在读取 PDF 循环每一页循环体内,不是在循环体外 代码很简单: from PyPDF2 import PdfFileReader...INV1.pdf 中 首先是准备工作,将需要作为水印图片插入 word 中调整合适位置后保存为PDF文件。...,这些就留给读者自己开发。

    1.4K10

    Python自动化办公系列之Python操作PDF

    【作者导语】本文鉴于有些粉丝工作需求,有时候需要遇到这些文件处理。因此,我写了一个文章集合,供大家参考。...、pdf批量加水印及加密、解密 1)批量加水印         2)批量加密、解密           ① 加密pdf           ② 解密pdf并保存为未加密...同时可以发现他们文件名都是有规律(如果文件名,没有先后顺序,我们合并起来就没有意义了。)...pdf 这里有一个“时间序列.pdf”文件,共3页,我们将其每一页存为一个PDF文件。...(“图片页”) """ 结果如下: 2)批量加密、解密 这里所说“解密”,在知道pdf密码下,去打开pdf,不是暴力破解; ① 加密pdf from PyPDF2 import PdfFileReader

    94130

    使用命令行界面运行Python脚本

    我们可以在命令行上键入不同参数并将这些参数传递到脚本中,不是每次运行脚本时都更改.py文件代码。因此,使用CLI是非常灵活和方便,而且,从黑屏启动程序会让你更酷,更像一个真正程序员。...之前,我们在《使用Python拆分和合并PDF文件》中实现了PDF拆分与合并,这里将在此基础上,添加一个命令行界面。...我们还将稍微调整代码,定义三个变量,不是硬编码程序中所有值:PDF源文件、要提取页面,以及最终生成PDF,此设置将允许我们在任何PDF文件上使用该程序。...图1:CLI拆分与合并PDF工具程序结构 步骤3:PDF拆分与合并函数 让我们首先将之前代码转换为一个函数,该函数包含三个参数:输入文件、输出文件和页面。...该函数将读取输入文件,提取所需页面,然后将这些页面保存到新PDF文件中。

    2.8K30

    怎么在第一个PDF文件中间,插入第二个PDF文件内容?

    第一个思路:将pdf文件一进行分割成单独文件,之后和pdf文件二进行排序放到一个文件夹下,再统一进行merge; 第二个思路:尝试用merge进行合并,直接插入到文件指定页面之下,但是我目前对这个用不是很好...,没有弄出来; 第三个思路:逐页进行添加,并保存为新文件。...这里需要用到PDF处理库PyPDF2,这个库需要安装,安装命令:pip install PyPDF2 这个库针对PDF处理来说还是算比较强大了,可以针对PDF文件拆分、合并、加密和截取等。..._0.pdf") # 要插入pdf文件 pdf_file2 = PdfFileReader("python介绍.pdf") # 要被插入目标pdf文件 new_file = PdfFileWriter...本文基于实际过程中遇到PDF文件拆分和合并问题,使用了PyPDF2第三方库来帮助解决,这个库可以针对PDF文件拆分、合并、加密和截取等,功能强大,帮助自己和大家加深对该库用法认识。

    74710

    用Python玩转PDF各种骚操作

    PyPDF2安装 如果使用Anaconda不是常规Python,可以使用pip或conda安装PyPDF2。...以下当前可以提取数据类型: Author Creator Producer Subject Title Number of page 可以在自己电脑上随便找一个PDF文件进行尝试操作。...有时候PDF横向模式不是纵向模式,甚至颠倒。当有人扫描文档为PDF或电子邮件时,很可能会发生这种情况。我们可以打印出文档并阅读纸质版本,也可以使用Python强大功能来旋转有问题页面。...以下如何使用PyPDF2将PDF拆分为多个文件: fromPyPDF2importPdfFileReader,PdfFileWriter defsplit(path,name_of_split): pdf...文件路径 output:要保存PDF水印版本路径 watermark:包含水印图像或文本PDF 在代码中,打开水印PDF并从文档中抓取第一页,因为这是水印应该驻留位置。

    2.1K50

    Python自动化办公之PDF拆分工具

    今天我们继续分享真实自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己工作生活中更多应用 Python,使得工作事半功倍!...需求 需要从 PDF 中取出几页并将其保存为新 PDF,为了后期使用方便,这个工具需要做成傻瓜式带有 GUI 页面的形式 选择源 pdf 文件,再指定下生成 pdf 文件名称及保存位置,和需要拆分..." 接下来我们实例化 PdfFileWriter 和 PdfFIleReader 对象,并创建实际 Output.pdf 文件 output = PdfFileWriter() input_pdf...= PdfFileReader(open(infile, "rb")) output_file = open(outfile, "wb") 下面一个比较复杂点就是需要拆分 pdf,提取页面并保存在列表中...: app.stop() 好了,这样我们就完成了一个简易 GUI 拆分 PDF 文件工具喽

    40510

    如何使用Python玩转PDF各种骚操作?

    PyPDF2安装 如果使用Anaconda不是常规Python,可以使用pip或conda安装PyPDF2。...以下当前可以提取数据类型: Author Creator Producer Subject Title Number of page 可以在自己电脑上随便找一个PDF文件进行尝试操作。...有时候PDF横向模式不是纵向模式,甚至颠倒。当有人扫描文档为PDF或电子邮件时,很可能会发生这种情况。我们可以打印出文档并阅读纸质版本,也可以使用Python强大功能来旋转有问题页面。...以下如何使用PyPDF2将PDF拆分为多个文件: from PyPDF2 import PdfFileReader, PdfFileWriter def split(path, name_of_split...文件路径 output:要保存PDF水印版本路径 watermark:包含水印图像或文本PDF 在代码中,打开水印PDF并从文档中抓取第一页,因为这是水印应该驻留位置。

    2K20

    用 Python 帮财务小妹解决 PDF 拆分,小妹说太棒了。。。

    好吧,说什么事吧 萝卜 财务小妹 我最近要整理好多pdf文件,然后只需要其中几页,how to do it 额,拆分pdf吗,easy啊 萝卜 财务小妹 好呀好呀,easy的话就快开始吧 那这次完成奖励啥...萝卜 财务小妹需求 “ 需要从 PDF 中取出几页并将其保存为新 PDF,当然又由于小妹个编程小白,这个工具需要做成傻瓜式带有GUI页面的形式 ” 选择源pdf文件,再指定下生成pdf...文件名称及保存位置,和需要拆分page信息,就可以得到新pdf文件了 技术选型 对于 Python GUI,我们有太多种选择了,下面我们先来横向简单对比下 从高层次上看,大GUI工具有: Qt...= open(outfile, "wb") 下面一个比较复杂点就是需要拆分 pdf,提取页面并保存在列表中 page_ranges = (x.split("-") for x in page_range.split...: app.stop() 好了,这要我们就完成了一个简易 GUI 拆分 PDF 文件工具喽 财务小妹 哇撒,萝卜哥,太溜了吧 哈哈,还好吧,都是基本操作 萝卜 财务小妹 好嘞,那萝卜哥明天见

    41430

    如何使用Python玩转PDF各种骚操作?

    PyPDF2安装 如果使用Anaconda不是常规Python,可以使用pip或conda安装PyPDF2。...以下当前可以提取数据类型: Author Creator Producer Subject Title Number of page 可以在自己电脑上随便找一个PDF文件进行尝试操作。...有时候PDF横向模式不是纵向模式,甚至颠倒。当有人扫描文档为PDF或电子邮件时,很可能会发生这种情况。我们可以打印出文档并阅读纸质版本,也可以使用Python强大功能来旋转有问题页面。...以下如何使用PyPDF2将PDF拆分为多个文件: from PyPDF2 import PdfFileReader, PdfFileWriter def split(path, name_of_split...文件路径 output:要保存PDF水印版本路径 watermark:包含水印图像或文本PDF 在代码中,打开水印PDF并从文档中抓取第一页,因为这是水印应该驻留位置。

    1.2K20
    领券