使用Python提取PDF文件中指定页面的内容

本文介绍了如何使用Python和pymupdf、wxPython库创建一个GUI应用,从PDF文件中提取特定页码范围的内容,包括文件选择、页码输入和结果保存功能。
摘要由CSDN通过智能技术生成

在日常工作和学习中,我们经常需要从PDF文件中提取特定页面的内容。在本篇文章中,我们将介绍如何使用Python编程语言和两个强大的库——pymupdfwxPython,来实现这个任务。

1. 准备工作

首先,确保你已经安装了以下两个Python库:

  • pymupdf:用于处理PDF文件的库,提供了读取、提取和创建PDF文件的功能。
  • wxPython:一个基于wxWidgets的Python包,用于创建跨平台的图形用户界面(GUI)应用程序。

你可以使用以下命令通过pip安装这两个库:

pip install pymupdf wxPython

2. 创建GUI应用程序

首先,我们将创建一个简单的GUI应用程序,它将允许用户选择要打开的PDF文件,并输入开始页码和结束页码。然后,点击"Extract"按钮将提取指定范围内的页面并将其保存为新的PDF文件。
D:\spiderdocs\splitPDFfromx2y.py

import fitz
import wx

class PDFExtractor(wx.Frame):
    def __init__(self, parent, title):
        super(PDFExtractor, self).__init__(parent, title=title, size=(400, 200))
        
        self.panel = wx.Panel(self)
        self.file_picker = wx.FilePickerCtrl(self.panel, style=wx.FLP_DEFAULT_STYLE | wx.FLP_USE_TEXTCTRL)
        self.start_page_input = wx.TextCtrl(self.panel)
        self.end_page_input = wx.TextCtrl(self.panel)
        self.extract_button = wx.Button(self.panel, label="Extract", size=(100, 30))
        
        self.extract_button.Bind(wx.EVT_BUTTON, self.extract_pages)
        
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.sizer.Add(self.file_picker, 0, wx.EXPAND|wx.ALL, 10)
        self.sizer.Add(wx.StaticText(self.panel, label="Start Page:"), 0, wx.LEFT|wx.TOP, 10)
        self.sizer.Add(self.start_page_input, 0, wx.EXPAND|wx.ALL, 10)
        self.sizer.Add(wx.StaticText(self.panel, label="End Page:"), 0, wx.LEFT|wx.TOP, 10)
        self.sizer.Add(self.end_page_input, 0, wx.EXPAND|wx.ALL, 10)
        self.sizer.Add(self.extract_button, 0, wx.ALIGN_CENTER|wx.ALL, 10)
        
        self.panel.SetSizerAndFit(self.sizer)
        self.Show()
    
    def extract_pages(self, event):
        file_path = self.file_picker.GetPath()
        start_page = int(self.start_page_input.GetValue())
        end_page = int(self.end_page_input.GetValue())
        
        doc = fitz.open(file_path)
        output_doc = fitz.open()
        
        for page_num in range(start_page-1, end_page):
            output_doc.insert_pdf(doc, from_page=page_num, to_page=page_num)
        
        output_path = file_path.replace(".pdf", "_extracted.pdf")
        output_doc.save(output_path)
        output_doc.close()
        doc.close()
        
        wx.MessageBox("Extraction complete!", "Success", wx.OK | wx.ICON_INFORMATION)
        

app = wx.App()
PDFExtractor(None, title="PDF Extractor")
app.MainLoop()

3. 运行程序

将以上代码保存为一个Python脚本文件(例如pdf_extractor.py),然后运行脚本。你将看到一个简单的窗口,其中包含一个文件选择器、开始页码和结束页码的输入框,还有一个"Extract"按钮。

  • 点击文件选择器,选择要打开的PDF文件。
  • 在开始页码输入框
  • 在这里插入图片描述

4. 总结

在本篇文章中,我们学习了如何使用Python编程语言和pymupdfwxPython库来提取PDF文件中指定范围的页面内容。我们创建了一个简单的GUI应用程序,让用户能够选择要打开的PDF文件,并输入开始页码和结束页码。点击"Extract"按钮后,程序将提取指定范围内的页面,并将其保存为新的PDF文件。

这个示例展示了Python在处理PDF文件和创建GUI应用程序方面的强大能力。你可以根据需要对代码进行扩展和定制,以满足更具体的要求。

winfredzhang
关注 关注
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python提取PDF部分页面的实战代码
weixin_43178406的博客
01-15 2万+
本文主要介绍了Python提取PDF部分页面的实战代码,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案
python提取PDF各类文本内容的方法
安静的软件工程师
01-08 3927
python提取PDF各类文本内容的方法
python书籍pdf文档密码-Python玩转PDF的各种骚操作
weixin_39554891的博客
11-11 381
Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换。尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO)维护的开放标准。你可以通过使用PyPDF2包在Python处理已先存在的PDFPyPDF2是一个纯Python包,可用于许多不同类型的PDF操作。本文将带你了解如何执行以下操作:从Python...
python(6) : 读取pdf的文本, 读取pdf每一页为文件
最新发布
Lxinccode的博客
08-14 328
【代码】python(6) : 读取pdf的文本, 读取pdf每一页为文件
Python提取PDF文档页面——PyMuPDF使用
zyl87的专栏
01-04 1384
Python使用PyMuPDF提取PDF文档页面
python提取PDF单独某页
qq_37084248的博客
05-17 1460
单独提取PDF某一页的内容,或者把PDF文件批量拆成一页的 from tkinter import * import tkinter.messagebox import PyPDF2 import os import tkinter as tk from tkinter import filedialog import time G = 0 def root(): global entry1 global entry2 global G global text1
帮你自动化办公的python - 自动提取pdf指定页(pdf处理篇)
不只会拍照的程序猿
05-01 776
概念本文主要阐述在项目《自动提取pdf指定页》pdf文件的处理方式。若对项目需求不清楚的用户,请先查看文章《帮你自动化办公的python - 自动提取pdf指定页(项目概述)》。介绍本...
Python提取pdf文件目录_Demo源码
07-10
本示例"Python提取pdf文件目录_Demo源码"就展示了如何使用PythonPDF文档抽取书签(目录)并将其转换为JSON格式,这对于需要处理大量PDF文献或需要构建索引的项目非常有用。 首先,我们需要了解涉及到的主要...
python提取PDF文件
小木可的博客
06-26 1466
PDF
python实现从pdf文件提取文本,并自动翻译的方法
09-19
在本文,我们将探讨如何使用PythonPDF文件提取文本,并通过Google Translate API将其自动翻译成其他语言。首先,我们需要安装两个关键的Python库:`googletrans`和`pdfminer3k`。 `googletrans`是Python的一...
Python实现PDF文件截取
weixin_30922589的博客
06-23 237
python3截取PDF文件的一部分。 from PyPDF2 import PdfFileWriter, PdfFileReader # 开始页 start_page = 0 # 截止页 end_page = 5 output = PdfFileWriter() pdf_file = PdfFileReader(open("input.pdf", "rb")) ...
Python-Camelot一个可以轻松地从PDF文件提取表格的Python
08-10
Camelot: 一个可以轻松地从PDF文件提取表格的Python
Python自动化办公:提取 PDF 指定内容,并批量重命名文件
WANGJUNAIJIAO的博客
09-30 1385
本文将分享一个常见办公场景下的Python自动化案例,主要将涉及以下两个内容有一个文件夹 货物清单 含有多张货物清单的影印版 PDF,分别命名为 文件 (1).pdf 文件 (2).pdf文件 (20).pdf,如下所示:PDF 是类型,里面的,同时本例所有的图片都向左旋转 90 度,大致如下图所示(马赛克部分为无关内容):我们需要做的是!也就是需要,最终效果如下。
python提取pdf文件数据
weixin_46700209的博客
07-20 5076
提取pdf文件数据内容
通过Pythonpdfplumber库提取pdf的文字
业余python爱好者
05-24 3444
pdfplumber是一个用于从PDF文档提取文本和表格数据的Python库。它可以帮助用户轻松地从PDF文件提取有用的信息,例如表格、文本、元数据等。
python pdf提取数据_pythonPDF提取数据的示例
weixin_42149145的博客
03-01 2899
01前言数据是数据科学任何分析的关键,大多数分析最常用的数据集类型是存储在逗号分隔值(csv)表的干净数据。然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了解如何从pdf文件提取数据,并将数据转换为诸如“csv”之类的格式,以便用于分析或构建模型。在本文,我们将重点讨论如何从pdf文件提取数据表。类似的分析可以用于从pdf文件提取其他类型的数据...
帮你自动化办公的python - 自动提取pdf指定页(文件处理篇)
不只会拍照的程序猿
04-30 545
概述本文主要阐述在项目《自动提取pdf指定页》文件的处理方式。若对项目需求不清楚的用户,请先查看文章《帮你自动化办公的python - 自动提取pdf指定页(项目概述)》。介绍pytho...
python代码解析|提取多个pdf指定文段的信息
weixin_50381726的博客
03-28 3354
参考这段代码定义了一个名为的函数,其目的是从一个PDF文件提取文本内容。这个函数接受一个参数pdf_file,这个参数预期是一个字符串,表示PDF文件的路径。这一行使用Python的with语句来打开一个文件。with语句确保文件使用后会被正确关闭,即使在处理文件时发生异常也是如此。open函数的第一个参数pdf_file是文件路径,它由函数的输入参数提供。第二个参数'rb'是模式参数,表示以“二进制只读模式”打开文件。这是读取二进制文件(如PDF)所必需的。as file。
python提取pdf文件某些页_人工智能|Python提取PDF的文本并朗读
weixin_39783426的博客
12-20 176
题前的话之前有老师在群里推荐这个,我看了一眼觉得还是蛮有趣的,然后就忘了……昨天又看到这个《宅男福利!我50行Python代码让小姐姐给你读Pdf》,今天于是开始自己尝试,谁知道pdfplumber库怎么也安装不了,最后才明白原来是高版本不兼容库文件,于是去python官网重新下了个3.7版本的,顺利安装pdfplumber库成功。海龟编辑器找不到这个库文件,所以用的pip命令安装,用p...
python批量提取pdf文件的图片
04-06
可以使用PythonPyPDF2模块来提取PDF文件的图片。首先需要安装PyPDF2模块,可以使用以下命令进行安装: ``` pip install PyPDF2 ``` 接下来,可以使用以下代码来批量提取PDF文件的图片: ```python import PyPDF2 import os # 定义PDF文件夹路径 pdf_folder = r'path/to/pdf/folder' # 定义图片保存路径 image_folder = r'path/to/image/folder' # 遍历PDF文件的所有文件 for filename in os.listdir(pdf_folder): if filename.endswith('.pdf'): # 打开PDF文件 pdf_file = open(os.path.join(pdf_folder, filename), 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) # 遍历PDF文件的所有页面 for page_num in range(pdf_reader.getNumPages()): page = pdf_reader.getPage(page_num) # 遍历页面的所有对象 for obj in page['/Resources']['/XObject'].values(): if obj['/Subtype'] == '/Image': # 提取图片数据 image_data = obj.getData() # 保存图片 image_filename = os.path.splitext(filename)[0] + '_page' + str(page_num+1) + '_image' + str(obj['/Name'][1:]) + '.jpg' image_path = os.path.join(image_folder, image_filename) with open(image_path, 'wb') as image_file: image_file.write(image_data) # 关闭PDF文件 pdf_file.close() ``` 以上代码将遍历PDF文件的所有PDF文件,并提取每个文件所有页面的所有图片,并将图片保存到指定的图片文件。图片文件名将以PDF文件名、页面号和图片编号作为前缀,例如:`example_page1_image1.jpg`。
写文章

热门文章

  • 抖音视频中一键提取文案(轻抖) 80463
  • 非常简单下载芒果tv视频的方法(无需安装任何软件) 65124
  • 使用ffmpeg合并多个视频文件 58177
  • Premiere Pro cc 2019 全面使用教程(非常简单) 56430
  • 小爱音箱mini无法响应的解决方法 42280

分类专栏

  • 人工智能 2篇
  • 工具软件 14篇
  • 文生图 1篇
  • chatgpt 1篇
  • 历史记录 1篇
  • 消失 1篇
  • input text
  • click
  • dialog
  • inputtext
  • message
  • ts下载工具 1篇
  • 快手 1篇
  • 剪映 1篇
  • 视频工具 7篇
  • google 3篇
  • 图像工具 29篇
  • delphi rio 89篇
  • youtube-dl 1篇
  • chrome 2篇
  • 抖音 1篇
  • 素材 1篇
  • 网站 1篇
  • 华为 2篇
  • DJI 3篇
  • webcore 3篇
  • UIPath 5篇
  • 大疆 4篇
  • fxm
  • TMS 21篇
  • Sydney 1篇
  • premiere pro 2019 1篇
  • 科技产品 1篇
  • unigui 60篇
  • Mysql 4篇
  • web开发 23篇
  • UFT 3篇
  • B4A 2篇
  • UI 1篇
  • PHP
  • XE7
  • asp.net core 2篇
  • webapi 10篇
  • Adobe XD 插件 4篇
  • adobe XD 14篇
  • figma 4篇
  • ASP.NET 16篇
  • DevExpress 18篇
  • vs2017 3篇
  • apiCloud 1篇
  • Sublime 2篇
  • Vue 1篇
  • WPS2019 2篇
  • 海康 1篇
  • .net
  • aspxgridview 1篇
  • 小米
  • 个人
  • 3dmapper 1篇
  • PR 1篇
  • FMX 24篇
  • 群晖 1篇
  • 大数据可视化 8篇

最新评论

  • Premiere Pro cc 2019 全面使用教程(非常简单)

    aocicsw: PR安装包 https://blog.csdn.net/tanziyihuijian_/article/details/142236359/

  • unigui中layout的table属性

    yiweijin: UniLayoutManagementTable 这个是啥?

  • ps beta 2.5的妙用

    2401_86759715: 你好,请问我安装完,提示错误451这个怎么解决呀

  • 利用 Python 制作图片轮播应用

    小川_wenxun: 文章内容丰富、实用性强,结构合理,语言流畅,代码清晰,思路清晰,图文并茂,详略得当,三连支持,期待博主持续输出好文

  • 如何使用 Viggle AI 生成模特动作视频

    奇怪的牛马: 怎么删除自己的发布呢?

大家在看

  • 历年CSP-J初赛真题解析 | 2024年CSP-J初赛完善程序(33-42) 133
  • UI自动化测试(python)Web端4.0
  • 日用百货小程序如何渠道经营开店 442
  • 2024.9.21 Python与C++的面试八股文整理,类与对象,内存规划,默认函数,虚函数,封装继承多态 1
  • 【JAVA开源】基于Vue和SpringBoo房屋租赁系统

最新文章

  • 使用 SuperCraft AI 设计书橱模型的指南
  • 如何使用 Vidu Studio 根据照片和提示词生成视频
  • windows11 上安装了python的wxpython模块,vscode运行时还是报错的解决方法
2024
09月 2篇
08月 31篇
07月 22篇
06月 21篇
05月 38篇
04月 16篇
03月 17篇
02月 5篇
01月 8篇
2023年329篇
2022年53篇
2021年92篇
2020年190篇
2019年233篇
2018年16篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家楚雄玻璃钢仿铜雕塑报价布朗熊可妮兔卡通玻璃钢雕塑江西多彩玻璃钢雕塑销售厂家玻璃钢雕塑泡沫工惠州玻璃钢雕塑厂招工叶县玻璃钢雕塑设计广州花都水泥玻璃钢花盆厂周年庆商场美陈日照园林玻璃钢雕塑安装鹤壁标牌玻璃钢彩绘雕塑公司成品玻璃钢雕塑造型抚顺玻璃钢雕塑生产厂家江苏商城艺术玻璃钢雕塑户外商场美陈主题街布置延平玻璃钢花盆花器动物人物玻璃钢雕塑安阳玻璃钢人物镂空雕塑厂家河南户内玻璃钢雕塑多少钱江宁商场春节美陈玻璃钢雕塑的费用玻璃钢鹿雕塑出售武威动物玻璃钢雕塑成都玻璃钢雕塑模具厂家隔离带玻璃钢花盆型号江西玻璃钢雕塑货源推荐常见商场美陈采购玻璃钢红军雕塑公司在哪里泉州玻璃钢雕塑工艺品厂玻璃钢雕塑上色的方法江苏酒店艺术玻璃钢雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化