1. Продукти
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS для Python

Відкритий Python бібліотека для створення, читання, редагування, рендерингу та валідації PDF-документів — ліцензовано за MIT без оплат за виконання.

Aspose.PDF FOSS — Open Source 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, включаючи заміну за регулярними виразами та редагування. Сторінки рендеряться у 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 або вбудований Unicode-текст за допомогою 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

Прив’язати документ і отримати весь його текст зі сторінок за допомогою фасаду екстрактора.

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)
  

Ресурси Підтримки та Навчання

 Українська