PDF Text Extractor
Описание
PDF Text Extractor е прост графичен интерфейс, написан на Python, който позволява на потребителите да извличат текст от PDF файлове, да търсят ключови думи в текста и да запазват извлечения текст в текстови файлове.
Какво може да прави програмата
- Извличане на текст от PDF файлове: Можете да изберете PDF файл, след което програмата ще извлече текста от него и ще го покаже в графичния интерфейс.
- Търсене на ключови думи: Можете да въведете ключова дума и да я потърсите в извлечения текст на PDF файла. Програмата ще ви покаже на коя страница и на кой ред е намерена ключовата дума.
- Запазване на текст във файл: Можете да запазвате извлечения текст в текстов файл след извличането му от PDF файла.
Предпоставки
Инсталиран Python – Ако нямате Python инсталиран на вашия компютър, можете да го изтеглите и инсталирате от официалния уебсайт на Python.
Инсталирани необходими библиотеки – PyPDF2
и PyMuPDF
– Ако ги нямате, отворете командния ред или терминала и изпълнете следната команда, за да инсталирате библиотеките PyPDF2
и PyMuPDF
(този модул трябва да бъде инсталиран отделно):
pip install PyPDF2 PyMuPDF
Стартиране
Копирайте кода, който е предоставен по долу, и го запазете в текстов файл с разширение ".py.
python ваш_файл.py
# Author : Fedya Serafiev
# Version : 1.2
# License : MIT
# Copyright : Fedya Serafiev (2023)
# Contact : https://urocibg.eu/
import PyPDF2
import tkinter as tk
from tkinter import filedialog
from tkinter import scrolledtext
def extract_text_from_pdf(pdf_path):
try:
with open(pdf_path, "rb") as pdf_file:
pdf_reader = PyPDF2.PdfReader(pdf_file)
text = []
for page in pdf_reader.pages:
text.append(page.extract_text())
return text
except Exception as e:
return str(e)
def search_text_in_pdf():
keyword = search_entry.get()
if keyword:
text_area.delete(1.0, tk.END)
for i, pdf_file in enumerate(pdf_files):
extracted_text = extract_text_from_pdf(pdf_file)
text_area.insert(tk.END, f"File {i + 1}:\n")
for page_num, text in enumerate(extracted_text, start=1):
if keyword in text:
text_area.insert(tk.END, f" - Found on Page {page_num}\n")
else:
text_area.delete(1.0, tk.END)
text_area.insert(tk.END, "Моля, въведете ключова дума за търсене.")
def open_file_dialog():
file_path = filedialog.askopenfilename(filetypes=[("PDF files", "*.pdf")])
if file_path:
extracted_text = extract_text_from_pdf(file_path)
if extracted_text:
text_area.delete(1.0, tk.END)
text_area.insert(tk.END, "Извлечен текст:\n")
for page_num, text in enumerate(extracted_text, start=1):
text_area.insert(tk.END, f"Page {page_num}:\n")
text_area.insert(tk.END, text)
else:
text_area.delete(1.0, tk.END)
text_area.insert(tk.END, "Неуспешно извличане на текст от PDF файла.")
def save_to_file():
text_to_save = text_area.get(1.0, tk.END)
if text_to_save:
file_path = filedialog.asksaveasfilename(defaultextension=".txt", filetypes=[("Text files", "*.txt")])
if file_path:
with open(file_path, "w", encoding="utf-8") as text_file:
text_file.write(text_to_save)
text_file.close()
# Създаване на основното прозорче
root = tk.Tk()
root.title("PDF Text Extractor")
# Бутон за избор на PDF файл
open_button = tk.Button(root, text="Избери PDF файл", command=open_file_dialog)
open_button.pack()
# Бутон за запазване на текста във файл
save_button = tk.Button(root, text="Запиши във файл", command=save_to_file)
save_button.pack()
# Поле за извлечен текст
text_area = scrolledtext.ScrolledText(root, wrap=tk.WORD, width=80, height=20)
text_area.pack()
# Поле за въвеждане на ключова дума
search_label = tk.Label(root, text="Търси ключова дума:")
search_label.pack()
search_entry = tk.Entry(root)
search_entry.pack()
# Бутон за търсене
search_button = tk.Button(root, text="Търси", command=search_text_in_pdf)
search_button.pack()
# Глобален списък за пазене на избраните PDF файлове
pdf_files = []
# Стартиране на главната графична петък
root.mainloop()
След това стартирайте скрипта чрез командата:
python ваш_файл.py
Или просто кликнете, два пъти на него.
Как да използвате програмата:
- Избор на PDF файл:
- Щракнете върху бутона "Избери PDF файл" за да изберете PDF файл от вашия компютър.
- Избраният PDF файл ще се зареди и текстът от него ще се покаже в текстовото поле.
- Търсене на ключови думи:
- Въведете ключова дума в полето за търсене "Търси ключова дума".
- Щракнете върху бутона "Търси" за да стартирате търсенето.
- Ако ключовата дума се среща в текста, програмата ще покаже на коя страница и на кой ред е намерена.
- Запазване на текст във файл:
- След извличането на текст от PDF файла, можете да го запазите в текстов файл.
- Щракнете върху бутона "Запиши във файл" и изберете къде и с какво име да запазите файла.
Забележки:
- Програмата поддържа PDF файлове и може да извлича текст от тях. За да използвате търсенето, трябва да въведете ключова дума и да щракнете върху бутона "Търси".
- Записването на текст във файл е опция след извличане на текста от PDF файла.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut