Aspose.PDF FOSS for Python Funkce

Aspose.PDF FOSS for Python Funkce

Aspose.PDF FOSS pro Python Funkce

Aspose.PDF FOSS pro Python je čistá-Python knihovna pro vytváření, otevírání, úpravy a ukládání PDF dokumentů. Tato stránka přehledně představuje hlavní oblasti schopností a třídy, které slouží jako jejich vstupní body. Každá oblast je podrobně rozebrána na své vlastní stránce vývojářské příručky.


Správa dokumentů a stránek

Document je kořenový objekt pro každou operaci. Vytvořte jej bez argumentů pro zahájení nového, prázdného dokumentu, nebo zavolejte load_from() pro načtení existujícího z cesty, bajtů nebo proudu. document.pages zpřístupňuje měnitelný PageCollection a Page.add_text umisťuje text na stránku na určených pozicích.

from aspose_pdf import Document

document = Document()
page = document.pages.add()
page.add_text("Hello from Aspose.PDF FOSS!", x=72, y=720, font_size=18)
document.save("hello.pdf")

Extrahování textu a vyhledávání

PdfExtractor se váže na dokument a postupně získává text stránku po stránce. bind_pdf() otevře zdroj, extract_text() provede extrakci a get_text() vrátí nasbíraný výsledek.

from aspose_pdf import PdfExtractor

extractor = PdfExtractor()
extractor.bind_pdf("hello.pdf")
extractor.extract_text()
print(extractor.get_text())
extractor.close()

Pro vyhledávání a nahrazování na pozicích, po fragmentu, TextFragmentAbsorber zpřístupňuje odpovídající TextFragment objekty s text_search_options, který řídí citlivost na velikost písmen a shodu regulárních výrazů.


Vykreslování stránek do obrázků

Document.save_page_as_image vykresluje jednu stránku přímo do souboru PNG nebo TIFF s nastavitelným DPI. Pro nižší úroveň přístupu Page.render vrací RasterizedPage s nekomprimovanými daty pixelů prostřednictvím get_pixel() a pixels.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")
document.save_page_as_image(0, "page-1.png", dpi=150)

Formuláře a interaktivní pole

AcroForm pole jsou spravována přes Document.form, což je Form fasáda. Form.add_text_field() (a ekvivalenty zaškrtávacího políčka, přepínače, seznamu a rozbalovacího seznamu) vytváří nové pole spojené se stránkou a obdélníkem widgetu, vrací Field. Form.fields vypisuje všechna pole, která jsou v dokumentu aktuálně.

from aspose_pdf import Document

document = Document()
page = document.pages.add()
document.form.add_text_field("customer_name", page, (72, 700, 300, 720))

for field in document.form.fields:
    print(field.name, field.field_type)

document.save("form.pdf")

Zabezpečení, šifrování a podpisy

Document.encrypt chrání dokument uživatelským heslem (nutným k jeho otevření) a heslem vlastníka (nutným ke změně oprávnění); decrypt() a change_passwords() spravují ochranu u již otevřeného dokumentu. is_encrypted hlásí aktuální stav.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")
document.encrypt(user_password="secret", owner_password="owner-secret")
document.save("encrypted.pdf")

Ověřování digitálního podpisu zajišťuje PdfSignature.validate, který vrací ValidationResult popisující stav důvěry a odvolání, a SigningUtils poskytuje pomocníky pro certifikáty a podepisování PKCS#7/CAdES.


PDF/A a PDF/UA Soulad

Document.validate_pdfa provádí heuristickou kontrolu shody PDF/A a vrací PdfAValidationResult; convert_to_pdfa() se pokouší dokument opravit na tuto úroveň. validate_pdfua() a auto_tag() poskytují ekvivalentní kontrolu přístupnosti a automatické označování strukturovaného stromu pro PDF/UA.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")

result = document.validate_pdfa("1b")
if not result.is_valid:
    document.convert_to_pdfa("1b")

document.auto_tag()
document.save("compliant.pdf")

Tipy a osvědčené postupy

  • Upravte objekt vrácený přímo document.pages, page.annotations nebo document.form — úpravy provedené na samostatné kopii stránky nebo pole se neprojeví, když zavoláte save().
  • PageCollection je v tomto svázání Python indexováno od nuly (document.pages[0] je první stránka).
  • Zachyťte InvalidPasswordException a PdfParseException před širším AsposePdfException při volání load_from() na nedůvěryhodném vstupu, abyste mohli reagovat odlišně na špatné heslo než na poškozený soubor.
  • Zavolejte document.optimize() nebo compress_streams() před save() u silně upravovaných dokumentů, abyste odstranili nepoužívané zdroje a zmenšili velikost souboru.
  • Předávejte omezený PdfLoadLimits do load_from() při zpracování PDF z nedůvěryhodného zdroje, aby se omezila spotřeba paměti a počet objektů během parsování.

Časté problémy

ProblémPříčinaOprava
save() vytváří soubor s nezměněnými úpravamiÚpravy byly provedeny na stránce, anotaci nebo kopii pole místo objektu získaného z document.pages, annotations nebo formUpravte objekt vrácený přímo těmito kolekcemi
InvalidPasswordException na load_from()Dokument je chráněn heslem a nebylo zadáno žádné heslo nebo bylo zadáno špatné hesloZadejte správné heslo: document.load_from(path, password="...")
validate_pdfa() stále hlásí chybu písma po convert_to_pdfa()V poskytnutém font_lookup_directory nebyl nalezen odpovídající soubor písmaPřidejte chybějící písmo do adresáře pro vyhledávání nebo jej zaregistrujte pomocí FontRepository před konverzí
Vykreslený obrázek vypadá prázdněByl předán nesprávný index stránky do save_page_as_image() nebo render()pages je indexováno od nuly — potvrďte index a zkontrolujte, zda PdfExtractor vůbec vrací text pro tuto stránku
Pole přidané pomocí Form.add_text_field() se na stránce neobjevujeObdélník widgetu leží mimo media_box stránkyPotvrďte, že souřadnice obdélníku jsou v rámci Page.media_box

FAQ

Závisí Aspose.PDF FOSS pro Python na komerčním PDF enginu?

Ne. Jedná se o od základů vytvořený, čistý-Python PDF engine vydaný pod licencí MIT. Jeho jedinými runtime závislostmi jsou cryptography a asn1crypto, používané pro šifrování a ověřování podpisů.

Mohu vytvořit PDF od začátku místo otevření existujícího?

Ano. Document() bez argumentů vytvoří prázdný, paměťový dokument; zavolejte document.pages.add() pro přidání stránek před uložením.

Do jakých rastrových formátů mohu stránku vykreslit?

Page.render a Document.save_page_as_image vytvářejí rastrový výstup PNG nebo TIFF; vrácený RasterizedPage také poskytuje surová data pixelů prostřednictvím get_pixel() a vlastnosti pixels.

Jakou výjimku bych měl zachytit pro chyby specifické pro balíček?

Zachyťte AsposePdfException. Každá chyba specifická pro balíček — včetně parsování (PdfParseException), hesla a šifrování (PdfSecurityException, InvalidPasswordException) a validace (PdfValidationException) — vychází z ní.

Kam mám jít dál?

Getting Started pokrývá instalaci, licencování a první funkční příklad. Tento vývojářský průvodce pokračuje tématy správy dokumentů, jako jsou formuláře, vložené soubory příloh, vyhledávání písem a tvorba osnov/záložek.


API Reference Shrnutí

Třída/MetodaPopis:
DocumentKořenový objekt — vytvářet, načítat, ukládat a spravovat PDF
Document.pagesMutabilní PageCollection dokumentu
Document.load_from / Document.saveČíst z nebo zapisovat do cesty, bajtů nebo proudu
Document.encrypt / Document.decryptZaheslovat nebo odstranit ochranu
Document.validate_pdfa / Document.convert_to_pdfaHeuristická kontrola shody PDF/A a převod
Document.validate_pdfua() / Document.auto_tagKontrola přístupnosti PDF/UA a automatické tagování struktury
Page.add_textPřidat umístěný text na stránku
Page.renderVykreslit stránku do RasterizedPage
PdfExtractorExtrahovat text stránky a vložené přílohy
PdfFileEditorSpojovat, rozdělovat, vkládat a mazat stránky napříč soubory
Form / FieldAcroForm kontejner a jednotlivá pole formuláře
PdfSignature / SigningUtilsValidace a tvorba digitálního podpisu
AsposePdfExceptionZákladní třída pro každou výjimku specifickou pro balíček

Viz také:

 Čeština