1. Produkty
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS dla Python

Biblioteka open-source Python do tworzenia, odczytywania, edytowania, renderowania i walidacji dokumentów PDF — na licencji MIT, bez opłat za uruchomienie.

Aspose.PDF FOSS — Open Source Python biblioteka PDF

Aspose.PDF FOSS for Python jest biblioteką open-source do tworzenia, odczytywania, edytowania, renderowania i walidacji dokumentów PDF. Zbudowana dla Python 3.11 i nowszych, dostarcza informacje o typach i integruje się z każdym projektem Python (zobacz sekcję instalacji poniżej). Projekt jest obecnie w fazie alfa, więc API i zakres funkcji nadal się rozwijają przed pierwszym stabilnym wydaniem.

Klasa Document jest centralnym punktem wejścia, udostępniając pages, form, outlines, i tagged_content do strukturalnej edycji wraz z operacjami encrypt, decrypt, merge, optimize oraz flatten. Tekst jest dodawany za pomocą Page.add_text() i wyodrębniany lub wyszukiwany przy użyciu PdfExtractor i TextFragmentAbsorber, w tym wymiana i redakcja oparta na frazach i na wyrażeniach regularnych. Strony renderują się do rastrowych obrazów PNG lub TIFF przy użyciu Page.render() i Page.save_as_image(). Interaktywne pola AcroForm są tworzone i wypełniane za pomocą Form i Field, a dokumenty mogą być sprawdzane lub konwertowane w kierunku zgodności z PDF/A i PDF/UA przy użyciu Document.validate_pdfa(), Document.convert_to_pdfa(), oraz Document.auto_tag().

Aspose.PDF FOSS for Python jest udostępniany na licencji MIT bez opłat runtime ani ograniczeń w użytkowaniu. Pakiet podstawowy zależy wyłącznie od cryptography i asn1crypto, z opcjonalnymi dodatkami dla obsługi obrazów opartych na Pillow, dekodowania WOFF2 opartego na Brotli oraz złożonego układu tekstu opartego na HarfBuzz. Aby uzyskać funkcje i wsparcie dla przedsiębiorstw, zobacz Aspose.PDF for Python — Enterprise Product.

Operacje dokumentu i strony

  • Twórz, wczytuj, zapisuj i łącz pliki PDF za pomocą Document
  • Zarządzaj stronami przy użyciu zmiennej kolekcji PageCollection udostępnionej jako document.pages
  • Dodawaj pozycjonowany tekst Standard-14 lub osadzony Unicode przy użyciu Page.add_text()
  • Umieszczaj surowe, JPEG lub PNG obrazy na stronach przy użyciu Page.add_image()
  • Rysuj kształty wektorowe przy użyciu Page.draw_rectangle() i Page.draw_line()

Praktyczne scenariusze

  • Generuj faktury, certyfikaty i raporty programowo
  • Masowo twórz dokumenty z udostępnionego szablonu
  • Składaj wielostronicowe raporty z wygenerowanych sekcji
  • Twórz pliki PDF w całości w pamięci wewnątrz usługi sieciowej

Ekstrakcja tekstu i wyszukiwanie

  • Wyodrębnij cały tekst strony przy użyciu PdfExtractor i get_text()
  • Iteruj tekst strona po stronie przy użyciu has_next_page_text() i get_next_page_text()
  • Wyszukuj dokładne frazy i wzorce regex przy użyciu TextFragmentAbsorber
  • Zastąp dopasowany tekst przy użyciu Document.replace_text()
  • Redaguj dopasowany tekst przy użyciu Document.redact_text(), opcjonalnie rysując pasek nakładki

Praktyczne scenariusze

  • Tworzyć indeksy wyszukiwania pełnotekstowego w archiwach dokumentów
  • Usunąć dane osobowe przed udostępnieniem
  • Wyszukiwać i zamieniać szablonowy tekst w umowach szablonowych
  • Audytować przychodzące dokumenty pod kątem wrażliwych terminów

Renderowanie stron do obrazów

  • Renderuj stronę do niezależnego od zależności rastera RGB przy użyciu Page.render()
  • Zapisz wyrenderowany wynik jako PNG lub TIFF za pomocą Page.save_as_image()
  • Wykonaj wsadowe renderowanie całych dokumentów przy pomocy Document.save_page_as_image()
  • Kontroluj rozdzielczość za pomocą parametru dpi oraz jakość krawędzi przy użyciu antialias
  • Odczytaj surowe dane pikseli z zwróconego RasterizedPage

Praktyczne scenariusze

  • Generuj miniatury stron dla biblioteki zarządzania dokumentami
  • Twórz gotowe do druku dowody TIFF z ukończonych układów
  • Buduj galerie podglądu stron dla przeglądarki dokumentów
  • Konwertuj starsze archiwa PDF na formaty przeglądania oparte na obrazach

Formularze i pola interaktywne

  • Odczytaj i iteruj pola AcroForm za pomocą Document.form
  • Utwórz pola tekstowe przy użyciu Form.add_text_field()
  • Utwórz pola wyboru i grupy przycisków radiowych przy użyciu Form.add_checkbox() i Form.add_radio_group()
  • Utwórz listy i pola kombi przy użyciu Form.add_list_box() i Form.add_combo_box()
  • Ustaw wartości według nazwy pola za pomocą Field.value, a następnie spłaszcz dokument przy użyciu Document.flatten()

Praktyczne scenariusze

  • Automatyzuj wypełnianie faktur i formularzy umów w pipeline’ach
  • Wstępnie wypełniaj szablony aplikacji przed dystrybucją
  • Archiwizuj wypełnione formularze jako nieedytowalne, statyczne pliki PDF
  • Wyodrębnij przesłane wartości pól do dalszego przetwarzania

Bezpieczeństwo, szyfrowanie i podpisy

  • Szyfruj dokumenty przy użyciu Document.encrypt() z hasłami użytkownika i właściciela
  • Zmieniaj lub usuwaj hasła przy pomocy Document.change_passwords() i Document.decrypt()
  • Sprawdzaj wbudowane podpisy cyfrowe za pomocą PdfSignature.validate()
  • Ogranicz niepewne dane wejściowe przy użyciu konfigurowalnych PdfLoadLimits
  • Przeglądaj informacje o podpisującym, zaufaniu i statusie odwołań poprzez ValidationResult

Praktyczne scenariusze

  • Chronić poufne raporty przy użyciu haseł dla każdego odbiorcy
  • Weryfikować podpisane umowy przed archiwizacją
  • Wzmacniać potok przetwarzania PDF przed złośliwymi przesyłkami
  • Wymuszać ograniczenia uprawnień do drukowania i kopiowania w rozpowszechnianych plikach

Zgodność z PDF/A i PDF/UA

  • Uruchom heurystyczną walidację PDF/A przy użyciu Document.validate_pdfa()
  • Konwertuj dokumenty do PDF/A przy użyciu Document.convert_to_pdfa()
  • Wykonaj heurystyczne kontrole dostępności PDF/UA przy użyciu Document.validate_pdfua()
  • Automatycznie otaguj istniejącą zawartość strony w drzewo struktury przy użyciu Document.auto_tag()
  • Przeglądaj i edytuj drzewo tagów poprzez Document.tagged_content

Praktyczne scenariusze

  • Przygotuj dokumenty wychodzące do długoterminowego archiwizowania cyfrowego
  • Sprawdź przychodzące pliki PDF pod kątem luk w dostępności przed publikacją
  • Twórz raporty zgodności dla regulowanych branż
  • Napraw starsze pliki PDF, aby spełniały standardy dostępności

Utwórz PDF i Dodaj Tekst

Utwórz nowy dokument PDF i dodaj tekst o określonej pozycji na stronie w kilku linijkach.

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")

Renderowanie strony do obrazu

Wczytaj istniejący PDF i zapisz jego pierwszą stronę jako obraz rastrowy przy konfigurowalnym 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)

Wyodrębnij tekst z pliku PDF

Powiąż dokument i wyciągnij cały tekst jego stron za pomocą fasady ekstraktora.

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

Scal pliki PDF

Połącz kilka plików PDF w jeden dokument wyjściowy.

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)
  

Zasoby Wsparcia i Nauki

 Polski