چگونه PDF را در پایتون تجزیه کنیم: یک راهنمای قدرتمند مرحله به مرحله

تحلیل یک PDF به معنای استخراج داده‌های ساختاری یا غیرساختاری از یک فایل PDF است. این کار به دلیل ساختار پیچیده PDF ها می‌تواند چالش‌برانگیز باشد. برخلاف متن ساده یا فرمت‌های ساختاری مانند JSON و XML، PDF ها محتوا را به روشی ذخیره می‌کنند که همیشه از یک ترتیب خطی پیروی نمی‌کند. استخراج متن، جداول، تصاویر و متاداده نیاز به یک کتابخانه تجزیه‌کننده PDF در پایتون دارد که قابل اعتماد، دقیق و کارآمد باشد. در این مقاله، یاد می‌گیریم که چگونه در پایتون PDF را با استفاده از Aspose.PDF for Python تحلیل کنیم. در پایان این راهنما، شما قادر خواهید بود متن، جداول و تصاویر را از اسناد

این مقاله شامل موضوعات زیر است:

Aspose.PDF: بهترین کتابخانه تجزیه کننده PDF پایتون

Aspose.PDF for Python یکی از بهترین کتابخانه‌های تجزیه PDF پایتون موجود در امروز است. این کتابخانه دقت بالایی را ارائه می‌دهد، از استخراج داده‌های ساختاری شده پشتیبانی می‌کند و حتی با PDFهای اسکن شده از طریق پشتیبانی OCR کار می‌کند.

Aspose.PDF در میان کتابخانه‌های تجزیه PDF پایتون به چند دلیل برجسته است:

  • دقت بالا: متن و جداول را با دقت استخراج می‌کند.
  • پشتیبانی از داده‌های ساخت‌یافته: با جداول، تصاویر و داده‌های متا کار می‌کند.
  • بدون وابستگی خارجی: یک کتابخانه سبک و مستقل.
  • چندین فرمت خروجی: تبدیل PDF به متن، XLSX، DOCX، HTML و فرمت‌های تصویری.
  • امنیت و قابلیت اعتماد: مدیریت ساختارهای پیچیده PDF بدون خراب شدن داده‌ها.

در مقایسه با جایگزین‌های متن‌باز، Aspose.PDF یک راه‌حل قوی‌تر و غنی از ویژگی‌ها ارائه می‌دهد که آن را برای برنامه‌های سازمانی و سیستم‌های اتوماسیون اسناد ایده‌آل می‌سازد.

نصب و راه‌اندازی

نصب Aspose.PDF for Python ساده است. آن را از releases دانلود کنید یا دستور pip زیر را اجرا کنید:

pip install aspose-pdf

برای شروع استفاده از Aspose.PDF در برنامه Python خود، ماژول لازم را وارد کنید:

import aspose.pdf as ap

استخراج متن: تجزیه PDF در پایتون

تحلیل متن از یک PDF یکی از ویژگی‌های کلیدی کتابخانه‌های تجزیه PDF در پایتون است. ما می‌توانیم متن را از تمام صفحات یک سند PDF یا از یک صفحه خاص یا یک ناحیه از یک سند PDF استخراج کنیم. در بخش‌های آینده، ما یاد خواهیم گرفت که چگونه:

متن را از تمام صفحات یک PDF در پایتون تجزیه کنید.

Aspose.PDF for Python راهی کارآمد برای استخراج متن از اسناد PDF با استفاده از کلاس‌های Document و TextAbsorber فراهم می‌کند. کلاس Document برای بارگذاری فایل PDF استفاده می‌شود، در حالی که کلاس TextAbsorber مسئول استخراج محتوای متنی از تمامی صفحات است. متد accept() هر صفحه را پردازش کرده و متن را استخراج می‌کند که می‌توان آن را بسته به نیاز ذخیره یا نمایش داد.

مراحل استخراج متن از همه صفحات یک فایل PDF در Python

  1. با استفاده از کلاس Document، سند PDF را بارگذاری کنید.
  2. یک نمونه از کلاس TextAbsorber برای مدیریت استخراج متن ایجاد کنید.
  3. متد accept() را بر روی مجموعه pages فراخوانی کنید تا TextAbsorber بتواند تمام صفحات را پردازش کند.
  4. متن استخراج شده را با استفاده از ویژگی text از نمونه TextAbsorber بازیابی کنید.
  5. چاپ متن استخراج شده.

مثال کد زیر نشان می‌دهد که چگونه متن را از تمام صفحات یک PDF در Python تجزیه کنید.

# این مثال کد نشان می‌دهد که چگونه می‌توان متن را از تمام صفحات یک سند PDF در پایتون استخراج کرد.
import aspose.pdf as ap

# باز کردن سند PDF
document = ap.Document("AddText.pdf")

# Create text absorber
text_absorber = ap.text.TextAbsorber()

# متد قبول را فراخوانی کنید تا همه صفحات را پردازش کند
document.pages.accept(text_absorber)

# متن استخراج شده را بازیابی کنید
extracted_text = text_absorber.text

# مسیر فایل را تعریف کنید
file_path = "extracted-text.txt"

# فایل را در حالت نوشتن باز کرده و متن استخراج شده را بنویسید
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

متن را از یک صفحه خاص در PDF تجزیه کنید

ما همچنین می‌توانیم متن را از یک صفحه خاص از یک سند PDF با کمی تغییر در رویکرد قبلی استخراج کنیم. به جای پردازش کل سند، فقط کافیست متد accept() را بر روی صفحه مورد نظر شی Document فراخوانی کنید. به سادگی شماره صفحه را با استفاده از ایندکس آن مشخص کنید و Aspose.PDF تنها متن را از آن صفحه استخراج خواهد کرد. این روش زمانی که با PDF های بزرگ سر و کار داریم که تنها به داده‌های یک بخش خاص نیاز داریم، مفید است و کارایی و عملکرد را بهبود می‌بخشد.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان متن را از یک صفحه خاص از یک PDF در پایتون تجزیه کرد.

# این نمونه کد نشان می‌دهد که چگونه می‌توان متن را از یک صفحه خاص از یک سند PDF در پایتون استخراج کرد.
import aspose.pdf as ap

# باز کردن سند PDF
document = ap.Document("AddText.pdf")

# Create text absorber
text_absorber = ap.text.TextAbsorber()

# متد accept را فراخوانی کنید تا همه صفحات پردازش شوند
document.pages[1].accept(text_absorber)

# متن استخراج شده را بازیابی کنید
extracted_text = text_absorber.text

# تعریف مسیر فایل
file_path = "extracted-text.txt"

# فایل را در حالت نوشتن باز کنید و متن استخراج شده را بنویسید
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

متن را از یک منطقه خاص در PDF تجزیه کنید

گاهی اوقات، ممکن است نیاز داشته باشیم که متن را از یک بخش خاص از یک صفحه PDF استخراج کنیم، نه اینکه محتوای تمام سند را بازیابی کنیم. برای هدف قرار دادن یک ناحیه خاص، از ویژگی Rectangle در TextSearchOptions استفاده کنید. این ویژگی یک شیء Rectangle را قبول می‌کند که مختصات ناحیه مورد نظر را تعریف می‌کند. با مشخص کردن این مرز، می‌توانیم فقط متن را از ناحیه انتخاب شده استخراج کنیم و بقیه محتوای صفحه را نادیده بگیریم.

مراحل استخراج متن از یک ناحیه خاص صفحه

  1. با استفاده از کلاس Document، سند PDF را بارگذاری کنید.
  2. یک نمونه از کلاس TextAbsorber بسازید تا متن را از سند جذب کند.
  3. منطقه هدف را با استفاده از TextSearchOptions.Rectangle تعریف کنید، که ناحیه‌ای را که باید متن را از آن استخراج کنید مشخص می‌کند.
  4. متد accept() را بر روی یک صفحه انتخاب شده برای استخراج متن از یک صفحه خاص فراخوانی کنید.
  5. متن استخراج شده را از خاصیت Text در TextAbsorber بازیابی کنید.
  6. Process the output as needed.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان متن را از یک ناحیه خاص از یک صفحه PDF در پایتون تجزیه کرد.

# این مثال کد نشان می‌دهد که چگونه می‌توان متن را از یک منطقه خاص از یک صفحه در یک سند PDF با استفاده از پایتون استخراج کرد.
import aspose.pdf as ap

# اسناد PDF را باز کنید
document = ap.Document("sample.pdf")

# شیء TextAbsorber را برای استخراج متن ایجاد کنید
absorber = ap.text.TextAbsorber()
absorber.text_search_options.limit_to_page_bounds = True
absorber.text_search_options.rectangle = ap.Rectangle(100, 200, 250, 350, True)

# جذب کننده را برای صفحه اول قبول کنید
document.pages[1].accept(absorber)

# متن استخراج شده را دریافت کنید
extracted_text = absorber.text

# مسیر فایل را تعریف کنید
file_path = "extracted-text.txt"

# فایل را در حالت نوشتن باز کنید و متن استخراج شده را بنویسید
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

این روش به شما امکان می‌دهد تا به‌طور دقیق متن را از سلول‌های جدول، فیلدهای فرم یا هر بخش معین از صفحه استخراج کنید که آن را برای اتوماسیون اسناد و تجزیه و تحلیل داده‌ها ایده‌آل می‌سازد.

استخراج متن از فایل‌های PDF چند ستونی

مدارک PDF اغلب شامل ترکیبی از عناصر مانند متن، تصاویر، یادداشت‌ها، پیوست‌ها و نمودارها هستند. هنگامی که با PDF های چند ستونی سر و کار داریم، استخراج متن در حالی که طرح اصلی حفظ می‌شود، می‌تواند چالش‌برانگیز باشد.

Aspose.PDF for Python این فرایند را ساده می‌سازد با اجازه دادن به توسعه‌دهندگان برای دستکاری ویژگی‌های متن قبل از استخراج. با تنظیم اندازه‌های فونت و سپس استخراج متن، می‌توانید خروجی تمیزتر و منظم‌تری بدست آورید. مراحل زیر نشان می‌دهد که چگونه می‌توان از این روش برای استخراج دقیق متن از PDFهای چند ستونی استفاده کرد.

مراحل استخراج متن از یک PDF چند ستونه در پایتون

  1. کتابخانه PDF را با استفاده از کلاس Document بارگذاری کنید.
  2. یک نمونه از TextFragmentAbsorber ایجاد کنید تا تکه‌های متن فردی را از سند شناسایی و استخراج کنید.
  3. کلیه قطعات متن شناسایی شده را بازیابی کنید و اندازه فونت آن‌ها را ۷۰٪ کاهش دهید تا دقت استخراج افزایش یابد.
  4. مستند اصلاح شده را در یک جریان حافظه ذخیره کنید تا از ذخیره‌سازی یک فایل میانی جلوگیری شود.
  5. فایل PDF را از جریان حافظه بارگذاری کنید تا متن تنظیم‌شده را پردازش کنید.
  6. از TextAbsorber برای بازیابی متن ساختار یافته از سند تغییر یافته استفاده کنید.
  7. متن استخراج شده را در یک فایل .txt برای استفاده بیشتر ذخیره کنید.

کد مثال زیر نشان می‌دهد که چگونه می‌توان متن را از یک فایل PDF چند ستونه استخراج کرد در حالی که layout حفظ شود.

# این مثال کد نشان می‌دهد که چگونه می‌توان متن را از یک پی‌دی‌اف چند ستونی در پایتون استخراج کرد.
import io
import aspose.pdf as ap

# Open PDF document
document = ap.Document("multi-column-sample.pdf")

# یک شیء TextFragmentAbsorber ایجاد کنید تا متن را استخراج کند.
text_fragment_absorber = ap.text.TextFragmentAbsorber()

# از جذب کننده برای صفحه اول پذیرش کنید
document.pages.accept(text_fragment_absorber)

# مجموعه‌ای از قطعات متن استخراج‌شده را دریافت کنید
text_fragment_collection = text_fragment_absorber.text_fragments

# Reduce font size by at least 70% to improve text extraction
for text_fragment in text_fragment_collection:
    text_fragment.text_state.font_size *= 0.7

# مدرک اصلاح شده را به یک جریان در حافظه ذخیره کنید
source_stream = io.BytesIO()
document.save(source_stream)

# مدرک را از جریان حافظه بارگذاری کنید
source_stream.seek(0)
dest_document = ap.Document(source_stream)

# متن TextAbsorber را برای استخراج متن به‌روزرسانی شده، راه‌اندازی کنید.
text_absorber = ap.text.TextAbsorber()
dest_document.pages.accept(text_absorber)
extracted_text = text_absorber.text

# متن استخراج شده را به یک فایل ذخیره کنید
with open("ExtractColumnsText_out.txt", "w", encoding="utf-8") as file:
    file.write(extracted_text)

این روش اطمینان می‌دهد که متنی که از PDF های چندستونی استخراج می‌شود، تا حد امکان ساختار اصلی خود را حفظ می‌کند.

تحلیل متن پیشرفته با مقیاس مقیاس

Aspose.PDF برای پایتون به شما امکان می‌دهد که PDFها را تجزیه و تحلیل کنید و متن را از یک صفحه خاص با گزینه‌های پیشرفته استخراج متن مانند حالت فرمت‌بندی متن و ضریب مقیاس استخراج کنید. این گزینه‌ها در استخراج دقیق متن از PDFهای پیچیده، از جمله اسناد چند ستونی، کمک می‌کنند.

با استفاده از گزینه ScaleFactor، می‌توانیم شبکه متنی داخلی را برای دقت بهتر تنظیم کنیم. یک مقیاس بین 1 و 0.1 مانند کاهش اندازه فونت عمل می‌کند و به تراز کردن متن استخراج شده به درستی کمک می‌کند. مقادیر بین 0.1 و -0.1 به عنوان صفر در نظر گرفته می‌شوند و امکان مقیاس‌گذاری خودکار بر اساس عرض حدودی گلیف فونت پرکاربرد در صفحه را فراهم می‌کنند. اگر هیچ ScaleFactor تنظیم نشود، مقدار پیش‌فرض 1.0 اعمال می‌شود و اطمینان از عدم وجود تنظیمات مقیاس‌گذاری را فراهم می‌کند. برای استخراج متن در مقیاس بزرگ، مقیاس‌گذاری خودکار (ScaleFactor = 0) توصیه می‌شود، اما تنظیم دستی ScaleFactor = 0.5 می‌تواند نتایج را برای طرح‌های پیچیده بهبود بخشد. با

مراحل استخراج متن از یک صفحه خاص با ضریب مقیاس

  1. با استفاده از کلاس Document، سند PDF را بارگذاری کنید.
  2. یک نمونه از TextAbsorber ایجاد کنید تا متن را استخراج کند.
  3. تنظیمات TextExtractionOptions را به حالت فرمت خالص برای استخراج دقیق تنظیم کنید.
  4. scalefactor را تنظیم کنید تا تشخیص متن در فایل‌های PDF چندستونه بهینه‌سازی شود.
  5. accept() را روی مجموعه pages فراخوانی کنید تا متن را استخراج کنید.
  6. محتوای استخراج شده را در یک فایل متنی ذخیره کنید.
# این مثال کد نشان می‌دهد که چگونه می‌توان متن را از یک منطقه خاص از یک صفحه در یک سند PDF با استفاده از Python استخراج کرد.
import aspose.pdf as ap

# باز کردن سند PDF
document = ap.Document("sample.pdf")

# TextAbsorber را با گزینه‌های استخراج متن راه‌اندازی کنید
text_absorber = ap.text.TextAbsorber()

# تنظیم گزینه‌های استخراج
extraction_options = ap.text.TextExtractionOptions(ap.text.TextExtractionOptions.TextFormattingMode.PURE)
extraction_options.scale_factor = 0.5  # Adjusts text recognition for better column detection
text_absorber.extraction_options = extraction_options

# متن را از صفحه مشخص شده استخراج کنید
document.pages.accept(text_absorber)

# متن استخراج شده را دریافت کنید
extracted_text = text_absorber.text

# متن استخراج شده را به فایل ذخیره کنید
with open("ExtractTextUsingScaleFactor_out.txt", "w", encoding="utf-8") as file:
    file.write(extracted_text)

تجزیه متون در PDF: رویکرد جایگزین

Aspose.PDF برای پایتون همچنین یک روش جایگزین برای استخراج متن با استفاده از کلاس TextDevice ارائه می‌دهد. لطفاً بیشتر درباره extracting text from PDF using the TextDevice بخوانید.

چگونه جداول را از یک PDF در پایتون تجزیه کنیم

پارسیج جدول‌ها از PDFها برای تحلیل داده‌ها، اتوماسیون و گزارش‌دهی ضروری است. PDFها اغلب داده‌های ساختاریافته‌ای به صورت جدولی دارند که بازیابی آن‌ها با استفاده از روش‌های استاندارد استخراج متن می‌تواند چالش‌برانگیز باشد. خوشبختانه، Aspose.PDF for Python یک راه قدرتمند برای استخراج جدول‌ها با دقت بالا فراهم می‌کند و ساختار و محتوای آن‌ها را حفظ می‌کند.

کلاس TableAbsorber به طور خاص برای شناسایی و استخراج جداول از صفحات PDF طراحی شده است. این کلاس هر صفحه را پردازش کرده، جداول را شناسایی کرده و ردیف‌ها و سلول‌های فردی را در حالی که ساختار آنها را حفظ می‌کند، بازیابی می‌کند. در زیر مراحل استخراج جداول از یک سند PDF با استفاده از Aspose.PDF برای پایتون آورده شده است.

مراحل تجزیه جداول از یک PDF در پایتون

  1. فایل PDF حاوی جداول را با استفاده از کلاس Document بارگذاری کنید.
  2. از مجموعه pages سند عبور کنید تا هر صفحه را به طور جداگانه پردازش کنید.
  3. یک نمونه از کلاس TableAbsorber ایجاد کنید تا جداول را شناسایی و استخراج کند.
  4. متد visit() را برای شناسایی جداول در صفحه فعلی فراخوانی کنید.
  5. از لیست جداول استخراج شده عبور کنید و ردیف‌ها و سلول‌ها را بازیابی کنید.
  6. به textfragments هر سلول دسترسی پیدا کنید و متن را با استفاده از ویژگی segments استخراج کنید.
  7. داده‌های جدول استخراج‌شده را برای تجزیه و تحلیل بیشتر ثبت کنید یا آنها را در کنسول نمایش دهید.
# این مثال کد نشان می‌دهد که چگونه می‌توان جداول را از یک سند PDF در پایتون استخراج کرد.
import aspose.pdf as ap

# بارگذاری فایل PDF
document = pdf.Document("sample.pdf")

# تمام صفحه‌ها را پردازش کنید
for page in document.pages:
    # شیء TableAbsorber را مقداردهی اولیه کنید
    absorber = ap.text.TableAbsorber()
    # تشخیص جدول‌ها در صفحه جاری
    absorber.visit(page)
    # از جداول استخراج شده عبور کنید
   for table in absorber.table_list:
        # از تمام ردیف‌ها در جدول عبور کنید
       for row in table.row_list:
            # از تمامی ستون‌ها در ردیف عبور کنید
           for cell in row.cell_list:
                # متن قطعات را بازیابی کنید
                text_fragment_collection = cell.text_fragments
                # از طریق قطعات متنی تکرار کنید
               for fragment in text_fragment_collection:
                    # Print the text
                    print(fragment.text)

با دنبال کردن این مراحل، می‌توانید به‌طور کارآمد جداول را از PDFها استخراج کنید و پردازش و تحلیل داده‌های ساختاریافته را آسان‌تر کنید.

تحلیل متادیتای PDF: دریافت اطلاعات فایل PDF در پایتون

زمانی که با PDFها کار می‌کنید، اغلب لازم است متادیتاهایی مانند نویسنده، تاریخ ایجاد، کلمات کلیدی و عنوان را استخراج کنید. Aspose.PDF for Python این کار را با فراهم کردن دسترسی به شیء DocumentInfo از طریق ویژگی Info کلاس Document آسان می‌سازد. این امکان را به شما می‌دهد که خواص اساسی سند را به‌طور برنامه‌نویسی استخراج کنید.

مراحل تجزیه متا دیتا PDF

  1. از کلاس Document برای باز کردن فایل PDF مورد نظر استفاده کنید.
  2. شیء DocumentInfo را با استفاده از ویژگی info بازیابی کنید.
  3. جزئیات خاصی مانند نویسنده، تاریخ ایجاد، عنوان، موضوع و کلیدواژه‌ها را دسترسی پیدا کنید.
  4. متاداده را چاپ کنید یا آن را برای پردازش‌های بیشتر ذخیره کنید.

اسکریپت زیر به زبان پایتون نشان می‌دهد که چگونه اطلاعات کلیدی را از یک فایل PDF در پایتون بازیابی و نمایش دهیم:

# این مثال کد نشان می‌دهد که چگونه اطلاعات فایل را در پایتون استخراج کنیم.
import aspose.pdf as ap

# بارگذاری سند PDF
document = ap.Document("Sample.pdf")

# اطلاعات سند را بازیابی کنید
doc_info = document.info

# متاداده سند را نمایش دهید
print(f"Author: {doc_info.author}")
print(f"Creation Date: {doc_info.creation_date}")
print(f"Keywords: {doc_info.keywords}")
print(f"Modify Date: {doc_info.mod_date}")
print(f"Subject: {doc_info.subject}")
print(f"Title: {doc_info.title}")

تحلیل تصاویر از یک فایل PDF با استفاده از پایتون

ما می‌توانیم یک سند PDF را تجزیه و تصاویر درون آن را به‌طور کارآمد استخراج کنیم. می‌توانیم تصاویر با کیفیت بالا را از صفحات خاص استخراج کرده و آنها را به‌طور جداگانه برای استفاده‌های بعدی ذخیره کنیم.

هر صفحه PDF تصاویر خود را در مجموعه منابع ذخیره می‌کند، به طور خاص در داخل مجموعه XImage. برای استخراج یک تصویر، به صفحه مورد نظر دسترسی پیدا کنید، تصویر را از مجموعه Images با استفاده از شاخص آن بازیابی کرده و ذخیره کنید.

مراحل تجزیه تصاویر از یک PDF در پایتون

  1. فایل PDF حاوی تصویر را با استفاده از کلاس Document بارگذاری کنید.
  2. صفحه خاصی را که می‌خواهید تصویر را از آن استخراج کنید، بازیابی کنید.
  3. به مجموعه Images منابع صفحه دسترسی پیدا کنید و ایندکس تصویر را مشخص کنید.
  4. تصویر استخراج شده را با استفاده از استریم ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان تصاویر را از یک PDF در پایتون تجزیه کرد.

# این مثال کد نشان می‌دهد که چگونه می‌توان از یک PDF در پایتون تصاویر استخراج کرد.
import aspose.pdf as ap

# Open document
document = ap.Document("Sample.pdf")

# تصویر خاصی را استخراج کنید (اولین تصویر از صفحه اول)
x_image = document.pages[1].resources.images[1]

# مسیر خروجی تصویر را تعریف کنید
output_image_path = "OutputImage.jpg"

# تصویر استخراج شده را ذخیره کنید
with open(output_image_path, "wb") as output_image:
    output_image.write(x_image.to_stream().read())

این روش راهی آسان و کارآمد برای استخراج تصاویر از PDF ها در حالی که کیفیت آنها حفظ می‌شود، ارائه می‌دهد. با Aspose.PDF for Python، می‌توانید استخراج تصاویر را برای برنامه‌های مختلف به طور خودکار انجام دهید، مانند document processing، آرشیو داده‌ها و تجزیه و تحلیل محتوا.

چگونه حاشیه‌نویسی‌های PDF را در پایتون تحلیل کنیم

توضیحات در فایل‌های PDF با افزودن هایلایت‌ها، شکل‌ها و یادداشت‌های چسبان تعامل با سند را بهبود می‌بخشد. هر نوع توضیح هدف خاصی را دنبال می‌کند و Aspose.PDF for Python استخراج آن‌ها را برای تحلیل یا پردازش آسان می‌کند.

تحلیل الحاقات متنی از یک PDF در پایتون

اسناد PDF اغلب شامل یادداشت‌های متنی هستند که به عنوان نظرات یا یادداشت‌هایی به مکان‌های خاصی در یک صفحه متصل می‌شوند. وقتی که جمع‌آوری می‌شوند، این یادداشت‌ها به صورت نمادهایی ظاهر می‌شوند و وقتی که گسترش می‌یابند، متن داخل یک پنجره پاپ‌آپ نمایش داده می‌شود. هر صفحه در یک PDF مجموعه‌ای از یادداشت‌ها دارد که شامل تمام یادداشت‌های خاص آن صفحه است. با استفاده از Aspose.PDF for Python، می‌توانید به طور موثر یادداشت‌های متنی را از یک فایل PDF استخراج کنید.

مراحل تجزیه یادداشت‌های متنی از یک PDF

  1. در بارگذاری سند PDF با کلاس Document لطفاً انجام دهید.
  2. خصوصیت annotations یک صفحه خاص را بازیابی کنید تا تمام یادداشت‌ها در آن صفحه را دریافت کنید.
  3. از طریق حاشیه‌نویسی‌ها تکرار کنید و آن‌هایی را که AnnotationType.TEXT دارند فیلتر کنید.
  4. اطلاعات مربوطه مانند موقعیت حاشیه نویسی (rect) را برای پردازش یا نمایش بیشتر بازیابی کنید.
import aspose.pdf as ap

# بارگذاری سند PDF
document = ap.Document("annotations.pdf")

# تمام یادداشت‌ها را در صفحه اول مرور کنید
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.TEXT:
        # جزئیات حاشیه نویسی را چاپ کنید
        print(f"Title: {annotation.full_name}")
        print(f"Contents: {annotation.contents}")
        print(f"Annotation Rectangle: {annotation.rect}")

با دنبال کردن این مراحل، می‌توانید به‌طور مؤثر یادداشت‌های متنی را از اسناد PDF در پایتون استخراج و پردازش کنید.

Explore more about working with PDF Text Annotation in Python by visiting the official guide.

متن های هایلایت شده را از یک PDF در پایتون تجزیه کنید

در بسیاری از موارد، ممکن است نیاز داشته باشید که فقط متن های هایلایت شده را از یک PDF استخراج کنید نه کل محتوا. چه شما در حال تجزیه و تحلیل یادداشت های مهم باشید، چه در حال خلاصه کردن نکات کلیدی، یا چه در حال خودکارسازی پردازش مدارک، Aspose.PDF for Python استخراج متن های هایلایت شده را به راحتی و به طور کارآمد امکان پذیر می سازد.

متن های هایلایت شده نشانگر گذرگاه های متنی مهم هستند که به طور معمول برای بررسی یا یادداشت های تحصیلی استفاده می شوند. شما می توانید متن های هایلایت شده و ویژگی های آن، مانند رنگ و موقعیت، را با استفاده از کلاس HighlightAnnotation استخراج کنید.

ما می‌توانیم یادداشت‌های متنی هایلایت شده را در یک سند PDF با پیروی از مراحل ذکر شده در بالا تجزیه کنیم. با این حال، فقط باید AnnotationType.HIGHLIGHT را در مرحله ۳ ذکر کنیم.

مثال زیر نشان می‌دهد که چگونه متن‌های برجسته را از یک PDF فیلتر و استخراج کنیم.

import aspose.pdf as ap

# بارگذاری سند PDF
document = ap.Document("annotations.pdf")

# از طریق تمام یادداشت‌ها در صفحه اول عبور کنید
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.HIGHLIGHT:
        # جزئیات حاشیه‌نویسی را چاپ کنید
        print(f"Title: {annotation.full_name}")
        print(f"Annotation Rectangle: {annotation.rect}")

Learn more about working with PDF Highlights Annotation in Python by visiting the official guide.

تجزیه و تحلیل الحاقات شکل PDF در پایتون

حاشیه‌نویسی‌های شکل شامل عناصر گرافیکی مانند اشکال، نقاشی‌ها یا مهرها هستند که برای تأکید یا توضیحات استفاده می‌شوند. استخراج این حاشیه‌نویسی‌ها شامل شناسایی InkAnnotation یا StampAnnotation و بازیابی مسیرهای ترسیم یا تصاویر آنها است.

برای تجزیه یادداشت‌های خطی در یک سند PDF، مراحل قبلی را دنبال کنید. تنها تغییری که لازم است اعمال شود، مشخص کردن AnnotationType.LINE در مرحله ۳ است.

مثال زیر نشان می‌دهد که چگونه می‌توان حاشیه‌نویسی خطی را در یک PDF با استفاده از Python تجزیه کرد.

import aspose.pdf as ap

# بارگذاری سند PDF
document = ap.Document("annotations.pdf")

# از طریق تمام یادداشت‌ها در صفحه اول عبور کنید
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.LINE:
        # جزئیات حاشیه نویسی را چاپ کنید
        print(f"Annotation Rectangle: {annotation.rect}")

Read more about working with PDF Figures Annotations in Python here.

پیوندهای یادداشت در PDFها به کاربران این امکان را می‌دهند که به‌طور یکپارچه در یک سند جابجا شوند، فایل‌های خارجی را باز کنند یا به‌طور مستقیم از PDF به صفحات وب مراجعه کنند. این پیوندهای اینترنتی تعامل‌پذیری را افزایش می‌دهند و با فراهم کردن دسترسی سریع به اطلاعات اضافی، تجربه کاربری را بهبود می‌بخشند.

برای استخراج حاشیه‌نویسی‌های پیوند از یک PDF، همان مراحل قبل را دنبال کنید، اما در مرحله ۳، حتماً اطمینان حاصل کنید که AnnotationType.LINK را مشخص کرده‌اید. این اطمینان می‌دهد که تنها حاشیه‌نویسی‌های پیوند بازیابی شوند.

مثال کد زیر نشان می‌دهد که چگونه می‌توان حاشیه‌نویسی‌های لینک در یک PDF را با استفاده از Python تجزیه کرد.

import aspose.pdf as ap

# بارگذاری سند PDF
document = ap.Document("annotations.pdf")

# از بین تمام یادداشت‌ها در صفحه اول عبور کنید
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.LINK:
        # جزئیات حاشیه نویسی را چاپ کنید
        print(f"Annotation Rectangle: {annotation.rect}")

با بهره‌برداری از Aspose.PDF for Python، می‌توانید به طور مؤثری حاشیه‌نویسی‌های لینک را برای موارد استفاده مختلف، مانند ایندکس‌گذاری اسناد یا بهبود ناوبری استخراج و دستکاری کنید.

Read the complete details on handling Link Annotations in PDFs here.

نتیجه‌گیری

Aspose.PDF for Python بهترین کتابخانه تجزیه PDF پایتون برای توسعه‌دهندگانی است که به یک راه‌حل قابل اعتماد، کارآمد و غنی از ویژگی‌ها برای تجزیه PDF‌ها نیاز دارند. فرقی نمی‌کند که شما نیاز به تجزیه متن، جدول‌ها، تصاویر، متا داده‌ها یا حاشیه نویسی‌ها داشته باشید، Aspose.PDF ابزارهای لازم را فراهم می‌کند.

کدهای ارائه شده را امتحان کنید و شروع به تجزیه PDF ها و ساده‌سازی وظایف تجزیه PDF خود در پایتون کنید!

در صورت داشتن هرگونه سوال یا نیاز به کمک بیشتر، لطفاً در تماس با free support forum احساس راحتی کنید.

همچنین مشاهده کنید