1. المنتجات
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS لـ Python

مكتبة Python مفتوحة المصدر لإنشاء وقراءة وتعديل وعرض والتحقق من مستندات PDF — مرخصة تحت رخصة MIT دون أية رسوم تشغيل.

Aspose.PDF FOSS — مكتبة PDF Python مفتوحة المصدر

Aspose.PDF FOSS for Python هي مكتبة مفتوحة المصدر لإنشاء، قراءة، تحرير، عرض، والتحقق من صحة مستندات PDF. تم بناؤها لـ Python 3.11 وما بعده، وتوفر معلومات النوع وتندمج في أي مشروع Python (انظر قسم التثبيت أدناه). المشروع حاليًا في مرحلة ألفا، لذا تستمر واجهات برمجة التطبيقات وتغطية الميزات في التطور قبل الإصدار المستقر الأول.

الفئة Document هي نقطة الدخول المركزية، وتكشف عن pages، form، outlines, و tagged_content للتحرير الهيكلي جنبًا إلى جنب مع عمليات encrypt، decrypt، merge, optimize، و flatten. يتم إضافة النص باستخدام Page.add_text() واستخراجه أو البحث عنه باستخدام PdfExtractor و TextFragmentAbsorber، بما في ذلك الاستبدال القائم على العبارات وregex والحجب. الصفحات تُعرض كصور نقطية PNG أو TIFF عبر Page.render() و Page.save_as_image(). يتم إنشاء حقول AcroForm التفاعلية وتعبئتها من خلال Form و Field، ويمكن فحص المستندات أو تحويلها لتتماشى مع معايير PDF/A و PDF/UA باستخدام Document.validate_pdfa()، Document.convert_to_pdfa()، و Document.auto_tag().

Aspose.PDF FOSS for Python يتم إصداره تحت رخصة MIT دون رسوم وقت تشغيل أو قيود على الاستخدام. الحزمة الأساسية تعتمد فقط على cryptography و asn1crypto، مع إضافات اختيارية لدعم الصور المستندة إلى Pillow، وفك تشفير WOFF2 المستند إلى Brotli، و تخطيط النص المعقد المستند إلى HarfBuzz. للحصول على ميزات ودعم المؤسسة، راجع Aspose.PDF for Python — Enterprise Product.

عمليات المستند والصفحة

  • إنشاء، تحميل، حفظ، ودمج ملفات PDF عبر Document
  • إدارة الصفحات باستخدام PageCollection القابلة للتعديل المعروضة كـ document.pages
  • إضافة نص موضعى من Standard-14 أو يونيكود مدمج باستخدام Page.add_text()
  • وضع صور raw أو JPEG أو PNG على الصفحات باستخدام Page.add_image()
  • رسم أشكال متجهة باستخدام Page.draw_rectangle() و Page.draw_line()

سيناريوهات عملية

  • إنشاء الفواتير والشهادات والتقارير برمجيًا
  • إنتاج مستندات دفعة واحدة من قالب مشترك
  • تجميع تقارير متعددة الصفحات من الأقسام المولدة
  • إنشاء ملفات PDF بالكامل في الذاكرة داخل خدمة ويب

استخراج النص والبحث

  • استخراج كل نص الصفحة باستخدام PdfExtractor و get_text()
  • تكرار النص صفحة بصفحة باستخدام has_next_page_text() و get_next_page_text()
  • البحث عن العبارات الدقيقة وأنماط regex باستخدام TextFragmentAbsorber
  • استبدال النص المتطابق باستخدام Document.replace_text()
  • تمويه النص المتطابق باستخدام Document.redact_text()، مع إمكانية رسم شريط تغطية

سيناريوهات عملية

  • إنشاء فهارس بحث نصية كاملة على أرشيف المستندات
  • حذف المعلومات الشخصية القابلة للتحديد قبل المشاركة
  • البحث والاستبدال للنصوص النموذجية عبر العقود القالبية
  • تدقيق المستندات الواردة للبحث عن المصطلحات الحساسة

تحويل الصفحة إلى صور

  • تحويل صفحة إلى مصفوفة RGB خالية من الاعتماديات باستخدام Page.render()
  • حفظ الإخراج المُصوَّر كملف PNG أو TIFF عبر Page.save_as_image()
  • تنفيذ تحويل دفعي للوثائق بالكامل باستخدام Document.save_page_as_image()
  • التحكم في الدقة باستخدام معامل dpi وجودة الحواف باستخدام antialias
  • قراءة بيانات البكسل الخام من الكائن RasterizedPage المُرجَع

سيناريوهات عملية

  • إنشاء صور مصغرة للصفحات لمكتبة إدارة الوثائق
  • إنتاج نماذج TIFF جاهزة للطباعة من التصاميم النهائية
  • بناء معارض معاينة الصفحات لمشاهد الوثائق
  • تحويل أرشيفات PDF القديمة إلى صيغ عرض قائمة على الصور

النماذج والحقول التفاعلية

  • اقرأ وتكرّر حقول AcroForm عبر Document.form
  • أنشئ حقول نصية باستخدام Form.add_text_field()
  • أنشئ مربعات اختيار ومجموعات راديو باستخدام Form.add_checkbox() و Form.add_radio_group()
  • أنشئ صناديق قائمة وصناديق مركبة باستخدام Form.add_list_box() و Form.add_combo_box()
  • عيّن القيم بحسب اسم الحقل عبر Field.value، ثم قم بتسطيح المستند باستخدام Document.flatten()

سيناريوهات عملية

  • أتمتة خطوط أنابيب تعبئة الفواتير والعقود
  • ملء قوالب التطبيق مسبقًا قبل التوزيع
  • أرشفة النماذج المعبأة كملفات PDF غير قابلة للتعديل وثابتة المحتوى
  • استخراج قيم الحقول المُرسَلة للمعالجة اللاحقة

الأمان، التشفير، والتوقيعات

  • تشفير المستندات باستخدام Document.encrypt() باستخدام كلمات مرور المستخدم والمالك
  • تغيير أو مسح كلمات المرور باستخدام Document.change_passwords() و Document.decrypt()
  • التحقق من صحة التوقيعات الرقمية المضمنة باستخدام PdfSignature.validate()
  • تقييد الإدخال غير الموثوق به باستخدام PdfLoadLimits القابلة للتكوين
  • فحص الموقّع، والثقة، وحالة الإلغاء من خلال ValidationResult

سيناريوهات عملية

  • حماية التقارير السرية بكلمات مرور مخصصة لكل مستلم
  • التحقق من العقود الموقعة قبل الأرشفة
  • تعزيز خط أنابيب استيعاب ملفات PDF ضد التحميلات الضارة
  • فرض قيود أذونات الطباعة والنسخ على الملفات الموزعة

الامتثال لـ PDF/A و PDF/UA

  • تشغيل التحقق التوجيهي من صحة PDF/A باستخدام Document.validate_pdfa()
  • تحويل المستندات إلى PDF/A باستخدام Document.convert_to_pdfa()
  • تشغيل فحوصات التوافقية للولوجية PDF/UA باستخدام Document.validate_pdfua()
  • وضع علامات تلقائية على محتوى الصفحة الحالي في شجرة بنية باستخدام Document.auto_tag()
  • فحص وتحرير شجرة العلامات عبر Document.tagged_content

سيناريوهات عملية

  • إعداد الوثائق الصادرة لأرشفة رقمية طويلة الأمد
  • فحص ملفات PDF الواردة للبحث عن فجوات في إمكانية الوصول قبل النشر
  • إعداد تقارير الامتثال للصناعات الخاضعة للرقابة
  • تحسين ملفات PDF القديمة لتتوافق مع معايير إمكانية الوصول

إنشاء ملف PDF وإضافة نص

أنشئ مستند PDF جديد وأضف نصًا موضعًا إلى صفحة في بضع أسطر.

git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .
from aspose_pdf import Document
with Document() as document:
    page = document.pages.add()
    page.add_text(
        "Hello from Aspose.PDF FOSS!",
        x=72,
        y=720,
        font_size=18,
    )
    document.save("hello.pdf")

تحويل صفحة إلى صورة

حمّل ملف PDF موجود واحفظ صفحته الأولى كصورة نقطية بدقة DPI قابلة للتعديل.

from aspose_pdf import Document
with Document() as document:
    document.load_from("input.pdf")
    document.pages[0].save_as_image("page-1.png", dpi=144)

استخراج النص من ملف PDF

اربط مستندًا واسحب كل نص صفحاته باستخدام واجهة المستخرج.

from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
    extractor.bind_pdf("input.pdf")
    extractor.extract_text()
    print(extractor.get_text())

دمج ملفات PDF

دمج عدة ملفات PDF في مستند إخراج واحد.

from aspose_pdf import PdfFileEditor
with PdfFileEditor() as editor:
    if not editor.concatenate(["part-1.pdf", "part-2.pdf"], "merged.pdf"):
        raise RuntimeError(editor.last_exception)
  

الدعم وموارد التعلم

 العربية