استخراج النص الأساسي باستخدام Python
Contents
[
Hide
]
استخراج النص من جميع صفحات وثيقة PDF
استخدم ممتص النص لالتقاط كل النص من كل صفحة من وثيقة PDF وكتابته إلى ملف نصي. هذا الأسلوب مناسب تمامًا لتحويل ملفات PDF إلى نص يمكن البحث فيه أو تشغيل تحليل المحتوى أو إعداد النص للفهرسة والمعالجة النهائية.
- افتح مستند PDF باستخدام مستند.
- قم بإنشاء
TextAbsorberمثال. - اتصل
document.pages.accept(text_absorber)لمسح جميع الصفحات. - استرجع النص المستخرج من
text_absorber.text. - اكتب النتيجة إلى ملف نصي الإخراج.
import os
import aspose.pdf as ap
def extract_text_from_all_pages(infile, outfile):
"""
Extract all text from every page of the PDF and write to an output text file.
Args:
infile (str): Path to input PDF file.
outfile (str): Path to output text file.
"""
# Open the PDF document
document = ap.Document(infile)
# Create a TextAbsorber to extract text
text_absorber = ap.text.TextAbsorber()
# Accept the absorber for all pages
document.pages.accept(text_absorber)
# Get extracted text
extracted_text = text_absorber.text
# Write the text to an output file
with open(outfile, "w", encoding="utf-8") as tw:
tw.write(extracted_text)
استخراج نص من صفحة معينة
تقدم بطلبك ممتص النص إلى صفحة واحدة لعزل النص وحفظه من هذا القسم من مستند متعدد الصفحات. يكون هذا مفيدًا عندما تحتاج إلى محتوى من صفحة واحدة فقط - على سبيل المثال، فاتورة أو قسم تقرير أو ملخص نموذج.
- افتح مستند PDF باستخدام مستند.
- قم بإنشاء
TextAbsorberمثال. - اتصل
acceptعلى الصفحة المستهدفة:document.pages[page_number].accept(text_absorber). - استرجع النص المستخرج واكتبه في ملف.
import os
import aspose.pdf as ap
def extract_text_from_page(infile, outfile, page_number):
"""
Extract text from a specific page number of the PDF.
Args:
infile (str): Path to input PDF file.
outfile (str): Path to output text file.
page_number (int): 1-based page index to extract.
"""
document = ap.Document(infile)
text_absorber = ap.text.TextAbsorber()
# Accept the absorber on only the specified page
document.pages[page_number].accept(text_absorber)
extracted_text = text_absorber.text
with open(outfile, "w", encoding="utf-8") as tw:
tw.write(extracted_text)
استخرج الفقرات عن طريق التكرار من خلالها
استخدم ممتص الفقرة عندما تحتاج إلى الاستخراج مع مراعاة الفقرة بدلاً من نص الصفحة العادية. على عكس ممتص النص أو ممتص أجزاء النص، تقوم واجهة برمجة التطبيقات هذه بتنظيم الإخراج حسب الصفحة والقسم والفقرة، وهو أمر مفيد لتحليل النص والتصدير المنظم والمعالجة الحساسة للتخطيط.
- افتح ملف PDF المصدر كملف مستند.
- قم بإنشاء
ParagraphAbsorberمثال. - اتصل
absorber.visit(document)لتحليل جميع الصفحات. - قم بالتكرار من خلال
page_markups، ثم من خلال كل قسم وفقرة. - اقرأ أجزاء النص من كل فقرة واكتب النتيجة إلى ملف.
import aspose.pdf as ap
def extract_paragraphs_from_pdf(infile, outfile):
"""
Extract all paragraphs from a PDF document, and write each paragraph’s text into an output file.
Args:
infile (str): Path to input PDF file.
outfile (str): Path to output text file.
"""
document = ap.Document(infile)
try:
absorber = ap.text.ParagraphAbsorber()
absorber.visit(document)
with open(outfile, "w", encoding="utf-8") as tw:
for page_markup in absorber.page_markups:
for sec_idx, section in enumerate(page_markup.sections, start=1):
for para_idx, paragraph in enumerate(section.paragraphs, start=1):
# Concatenate all fragments/lines in the paragraph
parts = []
for line in paragraph.lines:
for fragment in line:
parts.append(fragment.text)
parts.append("\r\n")
paragraph_text = "".join(parts)
tw.write(
f"Page {page_markup.number}, Section {sec_idx}, Paragraph {para_idx}:\n"
)
tw.write(paragraph_text + "\n")
finally:
document.close()