python提取pdf文件文字(OCR)

目录

前言

一、引用的库

二、提取文字

三、保存文字

四、运行

总结


前言

本文主要讲述如何利用python提取pdf文件中的文字,分为引用的库,提取文字,保存文字,运行,总结这几部分。本文为分总结构,文末有总结,相关解释可以参考前文分部分。感谢你点开此文,祝顺利。

一、引用的库

import pdfplumber

 确保已安装以上的库,不然运行会报错

#安装库可以用清华的镜像网站(可能会更新,可以上官网查询地址)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

二、提取文字

def pdf_to_text(pdf_path):
    """
    从 PDF 文件中提取文本内容。

    Args:
        pdf_path (str): PDF 文件的路径。

    Returns:
        str: 提取的文本内容。
    """
    text = ''
    # 打开PDF文件
    with pdfplumber.open(pdf_path) as pdf:
        # 遍历每一页
        for page in pdf.pages:
            # 提取文本,并添加到text变量中
            text += page.extract_text()

    # 移除文本中的换行符(根据需求设置)
    text = text.replace('\n', '')

    return text

其中'yourfile'替换成你的文件的地址。

三、保存文字

def savewords():
    """
    将 PDF 文件中提取的文本保存到文本文件中。
    """
    # 输入PDF文件路径
    pdf_path = 'yourfile'
    # 调用pdf_to_text函数进行文字提取
    extracted_text = pdf_to_text(pdf_path)

    # 将提取的文字写入到txt文件中
    with open('extracted_text.txt', 'w', encoding='utf-8') as file:
        file.write(extracted_text)
    print("Text extracted successfully!")

注意,保存文字和提取文字是不可分割的两个“方法”,在写代码时要一起复制粘贴。此处分开是为了容易理解

四、运行

if __name__ == "__main__":
    savewords()

总结

import pdfplumber
def pdf_to_text(pdf_path):
    """
    从 PDF 文件中提取文本内容。

    Args:
        pdf_path (str): PDF 文件的路径。

    Returns:
        str: 提取的文本内容。
    """
    text = ''
    # 打开PDF文件
    with pdfplumber.open(pdf_path) as pdf:
        # 遍历每一页
        for page in pdf.pages:
            # 提取文本,并添加到text变量中
            text += page.extract_text()

    # 移除文本中的换行符(根据需求设置)
    text = text.replace('\n', '')

    return text

def savewords():
    """
    将 PDF 文件中提取的文本保存到文本文件中。
    """
    # 输入PDF文件路径
    pdf_path = 'yourfile'
    # 调用pdf_to_text函数进行文字提取
    extracted_text = pdf_to_text(pdf_path)

    # 将提取的文字写入到txt文件中
    with open('extracted_text.txt', 'w', encoding='utf-8') as file:
        file.write(extracted_text)
    print("Text extracted successfully!")

if __name__ == "__main__":
    savewords()

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要批量将PDF文件转换为文本文件,可以使用PythonOCR(Optical Character Recognition)功能。OCR是一种将图像的文本转换为可编辑文本的技术。 首先,需要安装PythonOCR库。一个常用的OCR库是Tesseract,可以使用pip命令进行安装。 ``` pip install pytesseract ``` 安装完成后,还需要安装Tesseract OCR引擎。可以在Tesseract官方网站上下载并安装。 接下来,导入所需的库并编写Python脚本。使用`os`库来获取文件列表并遍历文件的每个PDF文件。使用`pytesseract`库的`image_to_string`函数将PDF文件转换为文本。 以下是一个简单的示例代码: ```python import os import pytesseract from pdf2image import convert_from_path # 设置Tesseract OCR引擎的路径 pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe" # 输入PDF文件夹路径和输出文本文件夹路径 pdf_folder = "path/to/pdf/folder" txt_folder = "path/to/txt/folder" # 遍历PDF文件的每个PDF文件 for filename in os.listdir(pdf_folder): if filename.endswith(".pdf"): pdf_path = os.path.join(pdf_folder, filename) # 将PDF文件转换为图像 images = convert_from_path(pdf_path) # 逐页进行OCR并将文本保存到txt文件 txt_filename = filename.replace(".pdf", ".txt") txt_path = os.path.join(txt_folder, txt_filename) with open(txt_path, "w", encoding="utf-8") as f: for i, image in enumerate(images): text = pytesseract.image_to_string(image, lang="eng") f.write(text) ``` 以上代码将遍历指定的PDF文件夹,并将每个PDF文件的文本转换为一个文本文件。可以根据需求修改输入和输出文件夹的路径,以及选择不同的OCR语言(在`lang="eng"`指定)。 运行脚本后,就可以将PDF文件批量转换为文本文件,并保存到指定的输出文件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值