1. محصولات
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS برای Python

کتابخانه منبع باز Python برای ایجاد، خواندن، ویرایش، رندرینگ و اعتبارسنجی اسناد PDF — تحت مجوز MIT بدون هزینه‌های زمان اجرا.

Aspose.PDF FOSS — منبع باز Python کتابخانه PDF

Aspose.PDF FOSS for Python یک کتابخانهٔ متن‌باز برای ایجاد، خواندن، ویرایش, رندر و اعتبارسنجی اسناد PDF است. برای Python 3.11 و بالاتر ساخته شده، اطلاعات نوع را فراهم می‌کند و در هر پروژهٔ Python یکپارچه می‌شود (بخش نصب زیر را ببینید). این پروژه در حال حاضر در مرحلهٔ آلفا است، بنابراین APIها و پوشش ویژگی‌ها پیش از اولین نسخهٔ پایدار به‌طور مداوم توسعه می‌یابند.

کلاس 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 در دسترس است
  • افزودن متن استاندارد-14 یا متن یونیکد جاسازی‌شده با موقعیت‌گذاری با Page.add_text()
  • قرار دادن تصاویر خام، 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

یک سند را بایند کنید و تمام متن صفحات آن را با فاساد استخراج‌کننده (extractor facade) دریافت کنید.

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)
  

منابع پشتیبانی و آموزش

 فارسی