用python从pdf中提取信息,转为txt或者html

主要用到了pdfminer这个库

原文地址:

http://www.bkjia.com/Pythonjc/1073800.html



示例代码

# -*- coding: utf-8 -*-   
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from pdfminer.layout import *
from pdfminer.converter import PDFPageAggregator
import os
fp = open('test.pdf', 'rb')
#来创建一个pdf文档分析器
parser = PDFParser(fp)  
#创建一个PDF文档对象存储文档结构
document = PDFDocument(parser)
# 检查文件是否允许文本提取
if not document.is_extractable:
    raise PDFTextExtractionNotAllowed
else:
    # 创建一个PDF资源管理器对象来存储共赏资源
    rsrcmgr=PDFResourceManager()
    # 设定参数进行分析
    laparams=LAParams()
    # 创建一个PDF设备对象
    # device=PDFDevice(rsrcmgr)
    device=PDFPageAggregator(rsrcmgr,laparams=laparams)
    # 创建一个PDF解释器对象
    interpreter=PDFPageInterpreter(rsrcmgr,device)
    # 处理每一页
    for page in PDFPage.create_pages(document):
        interpreter.process_page(page)
        # 接受该页面的LTPage对象
        layout=device.get_result()
        for x in layout:
            if(isinstance(x,LTTextBoxHorizontal)):
                with open('a.txt','a') as f:
                    f.write(x.get_text().encode('utf-8')+'\n')


Python,你可以使用多个库来完成从网页下载PDF文件并将其转换为TXT文本的任务。以下是这个过程的一般步骤: 1. **下载PDF文件**:你可以使用`requests`库来发送HTTP请求,下载网页上的PDF文件。首先需要安装这个库(如果尚未安装):`pip install requests`。然后,你可以使用以下代码来下载PDF: ```python import requests # PDF文件的URL pdf_url = 'http://example.com/somefile.pdf' # 发送GET请求 response = requests.get(pdf_url) # 确保请求成功 response.raise_for_status() # 将PDF内容保存到文件 with open('downloaded_file.pdf', 'wb') as f: f.write(response.content) ``` 2. **将PDF转换为TXT**:Python有一些库可以处理PDF内容,如`PyMuPDF`(也称为`fitz`)或`PyPDF2`。首先安装其一个库(例如`PyMuPDF`):`pip install PyMuPDF`。然后,你可以使用该库来读取PDF内容,并将其转换为TXT。以下是一个使用`PyMuPDF`的示例: ```python import fitz # PyMuPDF # 打开PDF文件 pdf_document = fitz.open("downloaded_file.pdf") text = "" # 遍历PDF的每一页 for page in pdf_document: # 提取并拼接每页的文本内容 text += page.get_text() # 关闭PDF文件 pdf_document.close() # 输出或保存TXT内容 print(text) # 或者写入到TXT文件 with open('converted_text.txt', 'w', encoding='utf-8') as f: f.write(text) ``` 3. **保存TXT文件**:最后,你可以将提取的文本内容保存到一个文本文件,就像上述代码所做的那样。 以上就是使用Python从网页下载PDF并转换为TXT文本的步骤。需要注意的是,PDF文件可能包含复杂的布局和格式,所以转换过程可能会丢失一些原始格式和结构。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值