Python中通过PyPDF2实现PDF拆分「建议收藏」

Python中通过PyPDF2实现PDF拆分「建议收藏」场景PyPDF2是一个纯pythonPDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。它可以从PDF检索文本和元数据,还可以将整个文件合并在一起。PyPDF21.26.0文档:https://pythonhosted.org/PyPDF2/实现使用pip安装pypddf2新建merged.pdf有两页…

大家好,又见面了,我是你们的朋友全栈君。

场景

PyPDF 2是一个纯python PDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。它可以从PDF检索文本和元数据,还可以将整个文件合并在一起。

PyPDF 2 1.26.0文档:

https://pythonhosted.org/PyPDF2/

实现

使用pip 安装pypddf2

Python中通过PyPDF2实现PDF拆分「建议收藏」Python中通过PyPDF2实现PDF拆分「建议收藏」

新建merged.pdf有两页

Python中通过PyPDF2实现PDF拆分「建议收藏」Python中通过PyPDF2实现PDF拆分「建议收藏」

新建pdfSplit.py要与pdf在同一目录下。

from PyPDF2 import PdfFileReader, PdfFileWriter

def split(path, name_of_split):
    pdf = PdfFileReader(path)
    for page in range(pdf.getNumPages()):
        pdf_writer = PdfFileWriter()
        pdf_writer.addPage(pdf.getPage(page))

        output = f'{name_of_split}{page}.pdf'
        with open(output, 'wb') as output_pdf:
            pdf_writer.write(output_pdf)

if __name__ == '__main__':
    path = 'merged.pdf'
    split(path, 'NO')

运行

Python中通过PyPDF2实现PDF拆分「建议收藏」Python中通过PyPDF2实现PDF拆分「建议收藏」

可见已经被分隔成两个pdf了。

Python中通过PyPDF2实现PDF拆分「建议收藏」Python中通过PyPDF2实现PDF拆分「建议收藏」

Python中通过PyPDF2实现PDF拆分「建议收藏」

Python中通过PyPDF2实现PDF拆分「建议收藏」

资源以及代码下载

https://download.csdn.net/download/badao_liumang_qizhi/11146176

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152375.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VMware12安装_vmwarewin10安装

    VMware12安装_vmwarewin10安装vmware10安装fedora1232位安装这个链接安装可行https://blog.csdn.net/Babsir/article/details/78014042

    2022年9月16日
    3
  • ringbuffer原理_hashset数据结构

    ringbuffer原理_hashset数据结构本篇介绍一种简单高效的数据缓存结构:RingBuffer,这种结构实现起来只需要几行代码即可,但使用场景却很广泛,比如在Linux内核中网络数据包的缓存,系统日志的存储等多处使用过该结构。同时它也被广泛的应用于异步通信以及嵌入式设备中,提供高效的数据缓存读写操作。1.实现原理RingBufferr实现比较简单,基本上只需要一个数组结构,外加两个用于存储位置信息的变量即可。其中的数组采用固定大小容量,便于重用内存,不会出现动态内存不断分配和销毁的情况,这对于一些GC类编程语言来说,大…

    2022年9月10日
    2
  • long long转string代码

    long long转string代码stringlltoString(longlongtimestamp){stringresult;ostringstreamss;ss<<timestamp;istringstreamis(ss.str());is>>result;returnresult;}包含头文件:#include…

    2022年5月14日
    37
  • Java8高中并发

    Java8高中并发

    2022年1月8日
    43
  • JAVA多线程面试题_java多线程的实现方式

    JAVA多线程面试题_java多线程的实现方式前言在看完《Java多线程编程核心技术》与《Java并发编程的艺术》之后,对于多线程的理解到了新的境界.先拿如下的题目试试手把.投行面试Q1:现在有线程T1、T2和T3。你如何确保T2线程在T1之后执行,并且T3线程在T2之后执行?答案:使用Thread.join()方法即可.当然JUC包内提供了CountDownLatch与CyclicBarrier工具…

    2022年8月29日
    4
  • setscale方法的用法_BigDecimal的setScale()方法无效

    setscale方法的用法_BigDecimal的setScale()方法无效最近在使用BigDecimal进行四舍五入时,发现setScale()方法设置的精度值并没有起作用,一度让我怀疑起是否jdk有bug,代码如下:错误代码doubled=7.199999999999999;BigDecimaldecimal=newBigDecimal(String.valueOf(d));decimal.setScale(2,BigDecimal.ROUND_HAL…

    2022年10月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号