Извлечение текста из PDF-документов — распространенная задача при анализе данных, обработке естественного языка и обработке документов. В этой статье блога мы рассмотрим различные методы извлечения текста из PDF-файлов с помощью Python, уделяя особое внимание библиотеке PyPDF2. Мы предоставим примеры кода для каждого метода, чтобы помочь вам начать работу.
Метод 1: использование библиотеки PyPDF2
Библиотека PyPDF2 — популярный выбор для работы с PDF-файлами в Python. Он обеспечивает простой и интуитивно понятный интерфейс для извлечения текста из документов PDF. Вот пример использования PyPDF2 для извлечения текста из PDF-файла:
from PyPDF2 import PdfReader
def extract_text_from_pdf(file_path):
pdf_reader = PdfReader(file_path)
texts = []
for page in pdf_reader.pages:
texts.append(page.extract_text())
return texts
# Usage
pdf_file = "example.pdf"
extracted_texts = extract_text_from_pdf(pdf_file)
print(extracted_texts)
Метод 2: использование библиотеки pdfminer.six
Еще одна мощная библиотека для обработки PDF-файлов в Python — pdfminer.six. Он обеспечивает более низкоуровневый подход к извлечению текста из файлов PDF. Вот пример использования pdfminer.six для извлечения текста:
from pdfminer.high_level import extract_text
def extract_text_from_pdf(file_path):
return extract_text(file_path)
# Usage
pdf_file = "example.pdf"
extracted_text = extract_text_from_pdf(pdf_file)
print(extracted_text)
Метод 3: использование библиотеки PyMuPDF
PyMuPDF — это привязка Python для библиотеки MuPDF, которая позволяет извлекать текст из файлов PDF. Он обеспечивает быстрый и эффективный способ извлечения текста из PDF-документов. Вот пример использования PyMuPDF:
import fitz
def extract_text_from_pdf(file_path):
doc = fitz.open(file_path)
texts = []
for page in doc:
texts.append(page.get_text())
return texts
# Usage
pdf_file = "example.pdf"
extracted_texts = extract_text_from_pdf(pdf_file)
print(extracted_texts)
Метод 4: использование библиотеки PDFMiner
PDFMiner — еще одна популярная библиотека для извлечения текста из PDF-файлов. Он предоставляет ряд функций для работы с PDF-документами. Вот пример использования PDFMiner:
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def extract_text_from_pdf(file_path):
texts = []
rsrcmgr = PDFResourceManager()
output_string = StringIO()
laparams = LAParams()
device = TextConverter(rsrcmgr, output_string, laparams=laparams)
with open(file_path, 'rb') as fp:
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.get_pages(fp, check_extractable=True):
interpreter.process_page(page)
texts.append(output_string.getvalue())
return texts
# Usage
pdf_file = "example.pdf"
extracted_texts = extract_text_from_pdf(pdf_file)
print(extracted_texts)
В этой статье блога мы рассмотрели различные методы извлечения текста из PDF-документов с помощью Python. Мы рассмотрели четыре разные библиотеки: PyPDF2, pdfminer.six, PyMuPDF и PDFMiner. Каждая библиотека предлагает свой набор функций и преимуществ. Используя предоставленные примеры кода, вы можете выбрать метод, который лучше всего соответствует вашим требованиям. Приятного извлечения текста из PDF-файлов!