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_validTippek és bevált gyakorlatok
- Importáljon minden
generatedosztályt a teljes almodul útvonalán keresztül (from aspose_pdf.generated.document import Document, és hasonlóan agenerated.formsésgenerated.pdfaesetén) — soha ne feltételezze, hogy egy egyszerűDocumentvagyUnsignedContentimport 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/PdfAValidationResultpá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 aadd_error()segítségével — ezeket nem tölti ki automatikusan aDocument.validate_pdfa(). - Ellenőrizze a
UnsignedContentAbsorber.has_extracted()-t aget_extracted()hívása előtt, ha nem biztos benne, hogy aextract()már lefutott. - Az új kódhoz részesítsd előnyben az elsődleges
aspose_pdf.DocumentAPI-t, hacsak kifejezetten nem szükséges a csökkentett, generált-kompatibilitási felület.
Gyakori problémák
| Probléma | Ok | Javí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 helyett | Importá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()-val | Az elsődleges API PdfAValidator a saját PdfAValidateOptions/PdfAValidationResult osztályait várja, nem a generated.pdfa verziókat | Használd a PdfAValidateOptions/PdfAValidationResult osztályokat, amelyeket a aspose_pdf exportál, PdfAValidator munkafolyamatokhoz |
get_extracted() visszaadja None | extract() soha nem lett meghívva azon UnsignedContentAbsorber példányon | Hí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ést | A generált felület a statikus típusosságot egy kisebb, egyszerűbb API javára cseréli | Kastá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ódus | Leírás |
|---|---|
Document.load_from | Betölt egy dokumentumot fájlútvonalról, bájtokból vagy adatfolyamból |
Document.save | Elmenti a dokumentumot a célhelyre |
Document.optimize | Általános optimalizációt végez, opcionálisan képeket tömörítve |
Document.optimize_resources | Optimalizálja a megosztott erőforrásokat, például betűtípusokat és képeket |
Document.encrypt | A dokumentumot egyetlen jelszóval titkosítja |
Document.change_passwords | Módosítja a dokumentum jelszavát |
Document.validate | Visszaadja, hogy a dokumentum szerkezetileg érvényes-e |
Document.dispose | Felszabadítja a dokumentummal kapcsolatos erőforrásokat |
UnsignedContent.add_page / remove_page | Oldalt 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_annotation | Annotációt ad hozzá vagy távolít el egy unsigned-content csomagból |
UnsignedContentAbsorber.extract | Kicsomagolja az unsigned content-et egy UnsignedContent példányba |
UnsignedContentAbsorber.get_extracted | Visszaadja az utolsó kicsomagolt UnsignedContent-t, ha van |
UnsignedContentAbsorber.has_extracted | Jelzi, hogy a kicsomagolás megtörtént-e |
PdfAValidateOptions.add_input | Regisztrál egy bemeneti forrást az ellenőrzéshez |
PdfAValidateOptions.set_option / get_options | Beállítja vagy olvassa a validációs opció értékeket |
PdfAValidationResult.add_error | Hibaüzenetet ad hozzá, és az eredményt érvénytelennek jelöli. |
PdfAValidationResult.to_dict | Visszaad egy szótár reprezentációt az érvényesítési eredményről |