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)