إنشاء ملفات PDF في بايثون

Aspose.pdf لـ Python عبر .NET عبارة عن واجهة برمجة تطبيقات لمعالجة ملفات PDF تسمح للمطورين بإنشاء ملفات PDF وتحميلها وتعديلها وتحويلها مباشرة من Python لتطبيقات .NET ببضعة أسطر من التعليمات البرمجية.

استخدم هذه الأمثلة عندما تحتاج إلى إنشاء ملفات PDF جديدة من البداية أو تحويل إخراج OCR إلى مستندات PDF قابلة للبحث في Python.

كيفية إنشاء ملف PDF بسيط

لإنشاء ملف PDF باستخدام Python عبر .NET مع Aspose.PDF، يمكنك اتباع الخطوات التالية:

  1. قم بإنشاء كائن من مستند صنف
  2. إضافة صفحة الاعتراض على صفحات مجموعة من كائن المستند
  3. أضِف جزء من النص إلى فقرات مجموعة من الصفحة
  4. احفظ مستند PDF الناتج
import sys
from os import path
import aspose.pdf as ap

def create_new_document(output_pdf):
    """Create a simple PDF with a single “Hello World!” page."""
    document = ap.Document()
    page = document.pages.add()
    page.paragraphs.add(ap.text.TextFragment("Hello World!"))
    document.save(output_pdf)

كيفية إنشاء مستند PDF قابل للبحث

يسمح Aspose.PDF لـ Python عبر .NET بإنشاء مستندات PDF الموجودة ومعالجتها. عند إضافة عناصر نصية إلى ملف PDF، يكون ملف PDF الناتج قابلاً للبحث. ومع ذلك، عند تحويل صورة تحتوي على نص إلى ملف PDF، لا يمكن البحث عن محتويات PDF الناتجة. وكحل بديل، يمكننا تطبيق OCR على الملف الناتج بحيث يصبح قابلاً للبحث.

فيما يلي الكود الكامل لإنجاز هذا المطلب:

  1. قم بتحميل ملف PDF باستخدام «AP.document».
  2. قم بتكوين دقة العرض.
  3. استخدم «PNGdevice.process» لتحويل صفحة PDF المحددة إلى صورة.
  4. قم بتشغيل OCR على الصورة التي تم إنشاؤها.
  5. قم بإنشاء ملف PDF جديد من إخراج OCR.
  6. احفظ ملف PDF القابل للبحث.
import aspose.pdf as ap
import io

# Requires: pip install pytesseract
# Also ensure the Tesseract OCR engine is installed and available on your system PATH.
import pytesseract
from pathlib import Path


# Path to the source PDF
input_pdf_path = "input.pdf"
# Path for the temporary image
temp_image_path = "temp_image.png"
# Path for the searchable PDF
output_pdf_path = "output_searchable.pdf"
page_number = 1
image_stream = io.FileIO(temp_image_path, "w")
try:
    document = ap.Document(input_pdf_path)
    resolution = ap.devices.Resolution(300)
    png_device = ap.devices.PngDevice(resolution)
    png_device.process(document.pages[page_number], image_stream)
    image_stream.close()
    pdf = pytesseract.image_to_pdf_or_hocr(temp_image_path, extension="pdf")
    document = ap.Document(io.BytesIO(pdf))
    document.save(output_pdf_path)
finally:
    image_file = Path(temp_image_path)
    image_file.unlink(missing_ok=True)

موضوعات المستندات ذات الصلة