Aspose.PDF FOSS for Python Funkciók

Aspose.PDF FOSS for Python Funkciók

Aspose.PDF FOSS for Python funkciók

Aspose.PDF FOSS for Python egy tiszta-Python könyvtár PDF dokumentumok létrehozásához, megnyitásához, módosításához és mentéséhez. Ez az oldal áttekinti a fő képességi területeket és az azokhoz tartozó belépési pontként szolgáló osztályokat. Minden terület részletesen ki van dolgozva a saját fejlesztői útmutató oldalán.


Dokumentum- és oldalkezelés

Document a gyökérobjektum minden művelethez. Hozd létre argumentumok nélkül egy új, üres dokumentum indításához, vagy hívd a load_from() függvényt egy meglévő beolvasásához útvonalból, bájtokból vagy streame-ből. document.pages elérhetővé teszi a módosítható PageCollection objektumot, és a Page.add_text pozícionált szöveget helyez el egy oldalon.

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

Szövegkinyerés és keresés

PdfExtractor egy dokumentumhoz kapcsolódik, és oldalanként kinyeri a szöveget. bind_pdf() megnyitja a forrást, extract_text() végrehajtja a kinyerést, és get_text() visszaadja a felhalmozott eredményt.

from aspose_pdf import PdfExtractor

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

Pozícionált, fragmentumonkénti keresés és csere esetén a TextFragmentAbsorber a megtalált TextFragment objektumokat teszi elérhetővé, a text_search_options pedig szabályozza a kis- és nagybetű érzékenységet és a reguláris kifejezés szerinti egyezést.


Oldal renderelése képekké

Document.save_page_as_image egyetlen oldalt közvetlenül PNG vagy TIFF fájlba renderel egy konfigurálható DPI értéken. Alacsonyabb szintű hozzáféréshez a Page.render egy RasterizedPage-t ad vissza nyers pixel adatokkal a get_pixel() és a pixels segítségével.

from aspose_pdf import Document

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

Űrlapok és interaktív mezők

AcroForm mezőket a Document.form kezeli, egy Form felületet. Form.add_text_field() (és a jelölőnégyzet, rádiógomb, lista és kombinált mező megfelelői) új mezőt hoz létre, amely egy oldalhoz és egy widget téglalaphoz kapcsolódik, és egy Field-t ad vissza. Form.fields felsorolja a dokumentumban jelenleg lévő összes mezőt.

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

Biztonság, titkosítás és aláírások

Document.encrypt egy felhasználói jelszóval (a dokumentum megnyitásához szükséges) és egy tulajdonosi jelszóval (a jogosultságok módosításához szükséges) védi a dokumentumot; a decrypt() és a change_passwords() a már megnyitott dokumentum védelmét kezelik. is_encrypted jelenti az aktuális állapotot.

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

A digitális aláírás ellenőrzését a PdfSignature.validate végzi, amely egy ValidationResult-t ad vissza, amely leírja a megbízhatóságot és a visszavonási állapotot, és a SigningUtils tanúsítvány- és PKCS#7/CAdES aláírási segédeket biztosít.


PDF/A és PDF/UA megfelelőség

Document.validate_pdfa egy heurisztikus PDF/A megfelelőségi ellenőrzést hajt végre, és visszaad egy PdfAValidationResult; convert_to_pdfa() megkísérli a dokumentumot arra a szintre javítani. validate_pdfua() és auto_tag() biztosítják az ekvivalens hozzáférhetőségi ellenőrzést és az automatikus struktúra-fa címkézést a PDF/UA számára.

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

Tippek és bevált gyakorlatok

  • Módosítsd a document.pages, page.annotations vagy document.form által közvetlenül visszaadott objektumot — a lap vagy mező külön másolatán végzett módosítások nem jelennek meg, amikor meghívod a save() függvényt.
  • PageCollection nulla-indexelt ebben a Python kötésben (document.pages[0] az első oldal).
  • Észleld a InvalidPasswordException és PdfParseException hibákat a szélesebb körű AsposePdfException előtt, amikor load_from()-t hívod megbízhatatlan bemenetre, hogy különböző módon reagálhass egy rossz jelszóra, mint egy sérült fájlra.
  • Hívd meg a document.optimize() vagy compress_streams() függvényt a save() előtt erősen szerkesztett dokumentumokon, hogy eltávolítsd a nem használt erőforrásokat és csökkentsd a fájlméretet.
  • Adj át egy korlátos PdfLoadLimits-t a load_from()-nek megbízhatatlan forrásból származó PDF-ek feldolgozásakor, hogy korlátozd a memória- és objektumszámot a feldolgozás során.

Gyakori problémák

ProblémaOkJavítás
save() egy fájlt hoz létre változatlan módosításokkalMódosítások egy oldal, annotáció vagy mezőmásolat esetén történtek, a document.pages, annotations vagy form által kapott objektum helyettMódosítsa a gyűjtemények által közvetlenül visszaadott objektumot
InvalidPasswordException a load_from()A dokumentum jelszóval védett, és nincs megadva jelszó, vagy a megadott jelszó helytelen.Adja meg a helyes jelszót: document.load_from(path, password="...")
validate_pdfa() továbbra is betűtípus hibát jelez convert_to_pdfa() utánA megadott font_lookup_directory között nem található megfelelő betűtípusfájlAdja hozzá a hiányzó betűtípust a keresési könyvtárhoz, vagy regisztrálja a FontRepository segítségével a konvertálás előtt
A renderelt kép üresnek tűnikHelytelen oldalkindeks lett átadva a save_page_as_image() vagy a render() számárapages nulláról indul — erősítse meg a indexet, és ellenőrizze, hogy a PdfExtractor egyáltalán visszaad-e szöveget az adott oldalhoz
A Form.add_text_field() által hozzáadott mező nem jelenik meg az oldalonA widget téglalap kívül esik az oldal media_boxErősítse meg, hogy a téglalap koordinátái Page.media_box belül vannak

FAQ

A Aspose.PDF FOSS a Python számára függ-e egy kereskedelmi PDF motorra?

Nem. Ez egy nulláról indított, pure-Python PDF motor, amely az MIT licenc alatt kerül kiadásra. Egyetlen futásidejű függősége a cryptography és a asn1crypto, amelyeket titkosításhoz és aláírás-ellenőrzéshez használnak.

Építhetek PDF-et a semmiből ahelyett, hogy meglévőt nyitnék meg?

Igen. A Document() argumentumok nélkül egy üres, memóriában tárolt dokumentumot hoz létre; hívd meg a document.pages.add()-t az oldalak hozzáfűzéséhez a mentés előtt.

Milyen raszter formátumokra tudok egy oldalt renderelni?

A Page.render és a Document.save_page_as_image PNG vagy TIFF raszter kimenetet állít elő; a visszaadott RasterizedPage továbbá nyers pixel adatokat tesz elérhetővé a get_pixel() és a pixels tulajdonságon keresztül.

Milyen kivételt kell elkapni a csomagra specifikus hibák esetén?

Fogja el AsposePdfException. Minden csomagra jellemző hiba — beleértve a feldolgozást (PdfParseException), a jelszó- és titkosítási (PdfSecurityException, InvalidPasswordException) valamint az ellenőrzési (PdfValidationException) hibákat — ebből származik.

Hova menjek tovább?

A Getting Started lefedi a telepítést, a licencelést és egy első működő példát. Ez a fejlesztői útmutató a dokumentumkezelési témákkal folytatódik, például űrlapok, beágyazott fájlcsatolmányok, betűtípus-felfedezés és a vázlat/könyvjelző szerkesztése.


API Reference Összefoglaló

Osztály/MódszerLeírás
DocumentGyökérobjektum — PDF létrehozása, betöltése, mentése és kezelése
Document.pagesA dokumentum módosítható PageCollection
Document.load_from / Document.saveOlvasás vagy írás egy útvonalra, bájtokra vagy adatfolyamra
Document.encrypt / Document.decryptJelszóval védeni vagy a védelmet eltávolítani
Document.validate_pdfa / Document.convert_to_pdfaHeurisztikus PDF/A megfelelőség-ellenőrzés és konverzió
Document.validate_pdfua() / Document.auto_tagPDF/UA hozzáférhetőség-ellenőrzés és struktúra automatikus címkézés
Page.add_textPozícionált szöveg hozzáadása egy oldalhoz
Page.renderOldal renderelése egy RasterizedPage
PdfExtractorOldal szövegének és beágyazott mellékleteinek kinyerése
PdfFileEditorOldalak összefűzése, felosztása, beszúrása és törlése fájlok között
Form / FieldAcroForm konténer és egyedi űrlapmezők
PdfSignature / SigningUtilsDigitális aláírás ellenőrzése és létrehozása
AsposePdfExceptionAlaposztály minden csomagspecifikus kivételhez

Lásd még:

 Magyar