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
DocumentPageCollection, доступной как document.pagesPage.add_text()Page.add_image()Page.draw_rectangle() и Page.draw_line()PdfExtractor и get_text()has_next_page_text() и get_next_page_text()TextFragmentAbsorberDocument.replace_text()Document.redact_text(), при необходимости добавляя полосу-оверлейPage.render()Page.save_as_image()Document.save_page_as_image()dpi и качеством краёв с помощью antialiasRasterizedPageDocument.formForm.add_text_field()Form.add_checkbox() и Form.add_radio_group()Form.add_list_box() и Form.add_combo_box()Field.value, а затем уплощать документ с помощью Document.flatten()Document.encrypt() используя пользовательские и владельческие паролиDocument.change_passwords() и Document.decrypt()PdfSignature.validate()PdfLoadLimitsValidationResultDocument.validate_pdfa()Document.convert_to_pdfa()Document.validate_pdfua()Document.auto_tag()Document.tagged_contentСоздайте новый 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)
Привяжите документ и извлеките весь его текст страниц с помощью фасада извлекателя.
from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
extractor.bind_pdf("input.pdf")
extractor.extract_text()
print(extractor.get_text())
Объединить несколько 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)