Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)

这篇具有很好参考价值的文章主要介绍了Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

其实编辑PDF用Adobe就行,它功能超级齐全,可是这玩意要收费...去弄免费破解版,找资源又得半天,所以用python来拆分PDF文件吧,可以批量化处理。

至于为什么不用WPS.....别问,问就是不想开会员。


脚本代码

先安装PyMuPDF库,

pip install PyMuPDF

代码: 

import fitz  # PyMuPDF

def split_pdf(input_pdf, output_folder):
    pdf_document = fitz.open(input_pdf)
    
    for page_num in range(pdf_document.page_count):
        page = pdf_document[page_num]
        
        # 构建输出文件名,以页数命名
        output_pdf = f"{output_folder}/Page_{page_num + 1}.pdf"
        
        # 创建一个新的Document对象,包含当前页面
        new_pdf = fitz.open()
        new_pdf.insert_pdf(pdf_document, from_page=page_num, to_page=page_num)
        
        # 保存单独的PDF文件
        new_pdf.save(output_pdf)
        new_pdf.close()
    
    pdf_document.close()

if __name__ == "__main__":
    input_pdf = "157-GGCG[2021]157成套门--武汉******有限公司356996.80.pdf"  
    output_folder = "C:\\Users\\cx\\Desktop\\pdf"  
    split_pdf(input_pdf, output_folder)

把输入路径和输出路径都改一下就行了,整个PDF就会被拆分为一页一页的单独的文件。

如果只需要某一页的话,按照文件名拿出来就行。

需要某些面的话,按照PyMuPDF的语法改就行。


其他用法:

PyMuPDF(也称为fitz)是一个强大的Python库,用于处理PDF文件。除了拆分PDF文件,它还提供了许多其他常用的方法和功能。以下是一些常见的PyMuPDF方法和用法示例:

  1. 提取文本内容

    使用get_page_text方法可以提取PDF页的文本内容。以下是一个示例:

    import fitz
    
    def extract_text_from_pdf(pdf_file):
        pdf_document = fitz.open(pdf_file)
        text = ""
        for page_num in range(pdf_document.page_count):
            page = pdf_document[page_num]
            text += page.get_text()
        pdf_document.close()
        return text
    
    pdf_text = extract_text_from_pdf("your_pdf.pdf")
    print(pdf_text)
    
  2. 获取页面信息

    您可以使用get_page_info方法来获取PDF页的信息,如大小和旋转。以下是一个示例:

    import fitz
    
    def get_page_info(pdf_file):
        pdf_document = fitz.open(pdf_file)
        for page_num in range(pdf_document.page_count):
            page = pdf_document[page_num]
            page_info = page.get_page_info()
            print(f"Page {page_num + 1}: Size={page_info['size']}, Rotation={page_info['rotate']}")
    
    get_page_info("your_pdf.pdf")
    
  3. 旋转页面

    您可以使用set_rotation方法来旋转PDF页面。以下是一个示例:

    import fitz
    
    def rotate_page(pdf_file, page_num, degrees):
        pdf_document = fitz.open(pdf_file)
        page = pdf_document[page_num - 1]
        page.set_rotation(degrees)
        pdf_document.save("rotated_pdf.pdf")
        pdf_document.close()
    
    rotate_page("your_pdf.pdf", 1, 90)  # 将第一页旋转90度
    
  4. 插入页面

    使用insert_pdf方法可以将一个PDF文件的页面插入到另一个PDF文件中。以下是一个示例:

    import fitz
    
    def insert_page(source_pdf, target_pdf, page_num):
        source_document = fitz.open(source_pdf)
        target_document = fitz.open(target_pdf)
        target_document.insert_pdf(source_document, from_page=page_num - 1, to_page=page_num - 1)
        target_document.save("merged_pdf.pdf")
        source_document.close()
        target_document.close()
    
    insert_page("insert.pdf", "target.pdf", 2)  # 将insert.pdf的第二页插入到target.pdf中
    

这些示例展示了PyMuPDF的一些常见用法。PyMuPDF还提供了许多其他功能,如合并PDF、添加注释、提取图像等等。您可以根据需要查阅PyMuPDF的文档以了解更多详细信息和用法。

咱也不装,这都是chatgpt写的....但是很对,是有用的。文章来源地址https://www.toymoban.com/news/detail-731067.html

到了这里,关于Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第八篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读使用Python库清洗处理从PDF文件提取的文本

    在使用pyPDF4或任何其他Python的PDF解析库提取PDF文件的文本后,进行清洗处理是非常重要的。这是因为PDF文件通常包含了各种格式化元素,如页眉、页脚、页码、图表、图片等,这些元素可能会干扰到你提取的文本内容。清洗处理的目标是去除这些干扰元素,仅提取出你真正需

    2024年03月22日
    浏览(66)
  • Latex图表制作:关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作

    很快就要步入研二了,在写完一篇论文以后,即将进入第二篇论文写作时,察觉到之前的一篇论文还有许多可以改进的地方,一个方面就是绘图,一篇论文图画的好不好、能否吸引审稿人的眼球并获得其青睐是一个值得琢磨的问题,而在这种收益和付出正相关的事情上,就更

    2024年02月09日
    浏览(53)
  • Python自动化小技巧18——自动化资产月报(word设置字体表格样式,查找替换文字)

    案例背景 每月都要写各种月报,经营管理月报,资产月报.....这些报告文字目标都是高度相似的,只是需要替换为每个月的实际数据就行,如下:   (打码是怕信息泄露.....) 可以看到,这个报告的都是高度模板化,我们只需要对里面的某些文字进行替换,例如2023年7月换成2

    2024年02月12日
    浏览(56)
  • Python自动化小技巧12——根据论文题目自动导出参考文献格式

    在写论文的时候,弄参考文献格式也很麻烦,不可能手打人名题目期刊名称年月日卷号页码这些,我们一般都是使用系统自动导出的格式复制粘贴就行。中国知网可以直接导出论文的格式,但是知网基本只有中文的论文,英文的论文还有很多sci的库里面的论文都没有。 我们一

    2023年04月25日
    浏览(44)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月13日
    浏览(57)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel(文末送书5本)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月14日
    浏览(58)
  • Python文件自动化处理

    Python标准库 和操作系统有关的操作 创建、移动、复制文件和文件夹 文件路径和名称处理 路径的操作 获取当前Python程序运行路径 不同操作系统之间路径的表示方式  windows中采用反斜杠()作为文件夹之间的分隔符  Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符 把文件夹里面

    2024年01月17日
    浏览(62)
  • Python 自动化(十六)静态文件处理

    准备工作 将不同day下的代码分目录管理,方便后续复习查阅 使用 Pycharm 打开新项目 mysite3,并设置解释器为 testenv 虚拟环境 修改基础配置 settings.py 什么是静态文件 如:图片、音频、视频、css、js等   静态文件配置 静态文件的相关配置也在 settings.py 文件中进行配置 配置静态

    2024年02月06日
    浏览(48)
  • python自动化办公--文件整理脚本详解

    今天讲解文件整理脚本的实现过程。这是一个很有用的技能,可以帮助你管理你的电脑上的各种文件。需求如下: 需求内容:给定一个打算整理的文件夹目录,这个脚本可以将该目录下的所有文件都揪出来,并且根据后缀名归类到不同的文件夹里。 python能力:使用python的内

    2024年02月10日
    浏览(68)
  • Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据

    原文:https://automatetheboringstuff.com/2e/chapter16/ 在第 15 章,你学习了如何从 PDF 和 Word 文档中提取文本。这些文件是二进制格式的,需要特殊的 Python 模块来访问它们的数据。另一方面,CSV 和 JSON 文件只是纯文本文件。您可以在文本编辑器(如 Mu)中查看它们。但是 Python 还附带

    2023年04月08日
    浏览(125)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包