A generált kompatibilitás API használata

A generált kompatibilitás API használata

A generált kompatibilitási API használata

Aspose.PDF FOSS for Python egy második, kisebb API felületet szállít a aspose_pdf.generated alcsomag alatt: generated.document.Document, generated.forms.UnsignedContent és UnsignedContentAbsorber, valamint generated.pdfa.PdfAValidateOptions és PdfAValidationResult. Ezek az osztályok mind megosztják nevüket a könyvtár elsődleges API (például aspose_pdf.Document, aspose_pdf.UnsignedContent stb.) egy osztályával, de különálló, önállóan definiált osztályok, csökkentett metódusfelülettel. Egy önálló kompatibilitási rétegként léteznek — mindig importáld őket a teljes aspose_pdf.generated.* útvonalukkal, hogy tudd, melyiket hívod.


A dokumentum életciklusa a generált Document segítségével

generated.document.Document támogatja a dokumentum alapvető életciklusát: betöltés, mentés, alapvető optimalizálás, titkosítás és validálás. Tulajdonságainak többsége Any típusú, ahelyett, hogy a fő Document osztályban megjelenő gazdagabb típusok lennének.

from aspose_pdf.generated.document import Document

doc = Document()
doc.load_from("input.pdf")

doc.optimize(compress_images=True)
doc.optimize_resources(remove_unused=True)

if doc.validate():
    doc.save("output.pdf")

doc.dispose()

A titkosítás és a jelszóváltoztatás egyetlen jelszavas űrlapot használ, ahelyett, hogy a fő Document.encrypt külön felhasználó/tulajdonos jelszavakat igényelne:

from aspose_pdf.generated.document import Document

doc = Document()
doc.load_from("input.pdf")

doc.encrypt("secret")
doc.change_passwords("secret", "new-secret")
doc.save("protected.pdf")

Aláíratlan tartalom kinyerése

generated.forms.UnsignedContentAbsorber kinyeri egy dokumentum még aláíratlan oldalait, űrlapmezőit és annotációit egy UnsignedContent tárolóba. Hívd meg a extract() funkciót a kinyerés végrehajtásához, majd a get_extracted() vagy a has_extracted() segítségével ellenőrizheted az eredményt újrafuttatás nélkül.

from aspose_pdf.generated.document import Document
from aspose_pdf.generated.forms import UnsignedContentAbsorber

doc = Document()
doc.load_from("input.pdf")

absorber = UnsignedContentAbsorber()
extracted = absorber.extract()

print(len(extracted.pages), len(extracted.form_fields), extracted.annotations)

if absorber.has_extracted():
    same_result = absorber.get_extracted()

absorber.reset()

A UnsignedContent közvetlenül is felépíthető és feltölthető, függetlenül egy elnyelőtől:

from aspose_pdf.generated.forms import UnsignedContent

bundle = UnsignedContent()
bundle.add_page(some_page)
bundle.add_form_field(some_field)
bundle.add_annotation(some_annotation)

bundle.remove_page(some_page)
bundle.reset()

PDF/A validációs beállítások és eredmények

generated.pdfa.PdfAValidateOptions és PdfAValidationResult egy önálló opciók/eredmények pár a PDF/A-stílusú validációs munkafolyamatokhoz. Nem ők azok az osztályok, amelyeket az elsődleges API Document.validate_pdfa()-ja ad vissza, vagy amelyeket a PdfAValidator.process() fogyaszt — azok a saját, külön definiált PdfAValidateOptions és PdfAValidationResult osztályaikat használják, gazdagabb felülettel (level, warnings, is_heuristic, és egy font_lookup_directory).

from aspose_pdf.generated.pdfa import PdfAValidateOptions, PdfAValidationResult

options = PdfAValidateOptions()
options.add_input()
options.set_option("level", "1b")

stored_options = options.get_options()

result = PdfAValidationResult()
result.add_error("Font not embedded: Arial")

summary = result.to_dict()
is_valid = result.is_valid

Tippek és bevált gyakorlatok

  • Importáljon minden generated osztályt a teljes almodul útvonalán keresztül (from aspose_pdf.generated.document import Document, és hasonlóan a generated.forms és generated.pdfa esetén) — soha ne feltételezze, hogy egy egyszerű Document vagy UnsignedContent import a kompatibilitási verzióra mutat.
  • Adjon az importált osztálynak megkülönböztető helyi nevet, ha egy fájl ugyanabban a modulban is használja az elsődleges API-t, hogy a két felület minden hívási helyen láthatóan elkülönüljön.
  • Kezelje a generated.pdfa.PdfAValidateOptions/PdfAValidationResult párost önálló egységként: építse fel az opciókat, futtassa saját validációs logikáját, és rögzítse az eredményeket saját maga a add_error() segítségével — ezeket nem tölti ki automatikusan a Document.validate_pdfa().
  • Ellenőrizze a UnsignedContentAbsorber.has_extracted()-t a get_extracted() hívása előtt, ha nem biztos benne, hogy a extract() már lefutott.
  • Az új kódhoz részesítsd előnyben az elsődleges aspose_pdf.Document API-t, hacsak kifejezetten nem szükséges a csökkentett, generált-kompatibilitási felület.

Gyakori problémák

ProblémaOkJavítás
Rossz Document metódusok érhetők el (hiányzik pages, form, xmp_metadata, és hasonlók)Importált generated.document.Document az elsődleges aspose_pdf.Document helyettImportáld az elsődleges osztályt (import aspose_pdf; aspose_pdf.Document()), hacsak nem a csökkent felületet akarod
PdfAValidateOptions/PdfAValidationResult a(z) generated.pdfa-ból nem működik a(z) PdfAValidator.process()-valAz elsődleges API PdfAValidator a saját PdfAValidateOptions/PdfAValidationResult osztályait várja, nem a generated.pdfa verziókatHasználd a PdfAValidateOptions/PdfAValidationResult osztályokat, amelyeket a aspose_pdf exportál, PdfAValidator munkafolyamatokhoz
get_extracted() visszaadja Noneextract() soha nem lett meghívva azon UnsignedContentAbsorber példányonHívd meg a extract() előbb, mint a get_extracted(), vagy először ellenőrizd a has_extracted() értékét
A generated.document.Document tulajdonságai Any típusúak, és nem biztosítanak automatikus kiegészítéstA generált felület a statikus típusosságot egy kisebb, egyszerűbb API javára cseréliKastáld vagy dokumentáld a várt típust a hívási helyen, vagy válts a fő Document osztályra a gazdagabb típusosság érdekében

FAQ

A aspose_pdf.generated stub vagy placeholder?

Nem. Ez egy valós, importálható alcsomag működő osztályokkal — Document, UnsignedContent, UnsignedContentAbsorber, PdfAValidateOptions és PdfAValidationResult — egyszerűen egy kisebb, önálló felület a könyvtár elsődleges API-jához képest.

Miért rendelkezik a generated.document.Document ugyanazzal a névvel, mint a aspose_pdf.Document?

Két önállóan definiált osztályról van szó, amelyek véletlenül ugyanazt a nevet viselik. A aspose_pdf.generated.document-ból történő importálás a kompatibilitási verziót adja; a aspose_pdf.Document (vagy from aspose_pdf import Document) importálása az elsődleges verziót adja.

Átadhatok egy generated.pdfa.PdfAValidateOptions objektumot a PdfAValidator.process()-nek?

Nem. PdfAValidator.process() a fő API része, és a fő API saját PdfAValidateOptions osztályát várja, amelynek más a metódus aláírása (add_input(source) egy argumentum nélküli add_input() helyett).

A UnsignedContentAbsorber.extract() igényel Document argumentumot?

Nem. extract() nem vesz fel argumentumokat a generált kompatibilitási felületen; hozd létre az abszorbert, és hívd meg közvetlenül a extract()-t.


API Reference összegzés

Osztály / MetódusLeírás
Document.load_fromBetölt egy dokumentumot fájlútvonalról, bájtokból vagy adatfolyamból
Document.saveElmenti a dokumentumot a célhelyre
Document.optimizeÁltalános optimalizációt végez, opcionálisan képeket tömörítve
Document.optimize_resourcesOptimalizálja a megosztott erőforrásokat, például betűtípusokat és képeket
Document.encryptA dokumentumot egyetlen jelszóval titkosítja
Document.change_passwordsMódosítja a dokumentum jelszavát
Document.validateVisszaadja, hogy a dokumentum szerkezetileg érvényes-e
Document.disposeFelszabadítja a dokumentummal kapcsolatos erőforrásokat
UnsignedContent.add_page / remove_pageOldalt ad hozzá vagy távolít el egy unsigned-content csomagból
UnsignedContent.add_form_field / remove_form_fieldŰrlapmezőt ad hozzá vagy távolít el egy unsigned-content csomagból
UnsignedContent.add_annotation / remove_annotationAnnotációt ad hozzá vagy távolít el egy unsigned-content csomagból
UnsignedContentAbsorber.extractKicsomagolja az unsigned content-et egy UnsignedContent példányba
UnsignedContentAbsorber.get_extractedVisszaadja az utolsó kicsomagolt UnsignedContent-t, ha van
UnsignedContentAbsorber.has_extractedJelzi, hogy a kicsomagolás megtörtént-e
PdfAValidateOptions.add_inputRegisztrál egy bemeneti forrást az ellenőrzéshez
PdfAValidateOptions.set_option / get_optionsBeállítja vagy olvassa a validációs opció értékeket
PdfAValidationResult.add_errorHibaüzenetet ad hozzá, és az eredményt érvénytelennek jelöli.
PdfAValidationResult.to_dictVisszaad egy szótár reprezentációt az érvényesítési eredményről

Lásd még:

 Magyar