Python 读取pdf文件

Python 实现读取pdf文件简单示例。

安装命令

需要安装操作pdf的三方类库,命令如下:

pip install pdfminer3K

安装过程如下:

引入类库

需要引入很多的类库。

示例如下:

import sys
import importlib
importlib.reload(sys)

from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import  PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal, LAParams
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed

 

读取pdf实现

实现步骤为:先通过二进制方式打开测试pdf文档,创建pdf文档解析测试文档内容,

最后读取文件内容,保存到另一个文件中。

示例如下:

import sys
import importlib

importlib.reload(sys)

from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal, LAParams
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
import os



def read_pdf(path, toPath):
    # 以二进制方式打开pdf文件
    f = open(path, 'rb')

    # 创建一个pdf文档分析器
    parser = PDFParser(f)
    # 创建pdf文档
    pdfFile = PDFDocument()
    # 链接分析器与文档对象
    parser.set_document(pdfFile)
    pdfFile.set_parser(parser)
    # 提供初始化密码
    pdfFile.initialize()

    # 检测文档是否提供txt转换
    if not pdfFile.is_extractable:
        raise PDFTextExtractionNotAllowed
    else:
        # 解析数据
        # 数据管理器
        manager = PDFResourceManager()
        # 创建一个PDF设备对象
        laparams = LAParams()
        device = PDFPageAggregator(manager, laparams=laparams)
        # 解释器对象
        interpreter = PDFPageInterpreter(manager, device)
        for page in pdfFile.get_pages():
            interpreter.process_page(page)
            layout = device.get_result()
            for x in layout:
                if isinstance(x, LTTextBoxHorizontal):
                    with open(toPath, 'a', encoding='utf-8') as f:
                        print(x.get_text())
                        f.write(x.get_text() + "\n")


path = os.path.join(os.getcwd(), 'test_1.pdf')
toPath = os.path.join(os.getcwd(), 'test_2.txt')
read_pdf(path, toPath)

注意:无法读取中文,貌似需要加载中文字体。还有就是在写入pdf文件,格式不对无法打开暂时没找到原因。

总结

本篇只是使用Python 实现读取pdf文件简单示例,因为时间关系没有做深入的扩展,等之后有时间再做补充。

相关推荐

  1. python 读取pdf中的文本

    2024-02-15 11:10:03       26 阅读
  2. Python读取PDF文字 去掉页眉页脚

    2024-02-15 11:10:03       15 阅读
  3. python如何读取文件

    2024-02-15 11:10:03       18 阅读
  4. python读取ply文件

    2024-02-15 11:10:03       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-15 11:10:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-15 11:10:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-15 11:10:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-15 11:10:03       20 阅读

热门阅读

  1. React:高阶组件|ref转发

    2024-02-15 11:10:03       39 阅读
  2. Stable Diffusion之最全详解图解

    2024-02-15 11:10:03       39 阅读
  3. 代码随想录 -- 数组

    2024-02-15 11:10:03       34 阅读
  4. 剑指大数据-企业级数据仓库项目实战

    2024-02-15 11:10:03       30 阅读
  5. 【30秒看懂大数据】数据中台

    2024-02-15 11:10:03       29 阅读
  6. 快排优化:三路划分

    2024-02-15 11:10:03       32 阅读
  7. 毕业设计——基于springboot的在线聊天系统

    2024-02-15 11:10:03       30 阅读
  8. Linux Chrome无法启动的原因(适用于Linux Edge)

    2024-02-15 11:10:03       36 阅读