जनरेटेड संगतता API के साथ काम करना

जनरेटेड संगतता API के साथ काम करना

जेनरेटेड कम्पैटिबिलिटी API के साथ काम करना

Aspose.PDF FOSS for Python एक दूसरा, छोटा API सतह aspose_pdf.generated सबपैकेज के तहत प्रदान करता है: generated.document.Document, generated.forms.UnsignedContent और UnsignedContentAbsorber, तथा generated.pdfa.PdfAValidateOptions और PdfAValidationResult। इन प्रत्येक क्लासों का नाम लाइब्रेरी की मुख्य API (aspose_pdf.Document, aspose_pdf.UnsignedContent, आदि) में मौजूद क्लास के समान है, लेकिन ये अलग, स्वतंत्र रूप से परिभाषित क्लासें हैं जिनमें मेथड सतह कम की गई है। वे एक स्टैंडअलोन कम्पैटिबिलिटी लेयर के रूप में मौजूद हैं — हमेशा उन्हें उनके पूर्ण aspose_pdf.generated.* पाथ द्वारा इम्पोर्ट करें ताकि आपको पता रहे कि आप कौन सी कॉल कर रहे हैं।


जेनरेटेड Document के माध्यम से दस्तावेज़ जीवनचक्र

generated.document.Document मूल दस्तावेज़ जीवनचक्र को समर्थन देता है: लोडिंग, सहेजना, बुनियादी अनुकूलन, एन्क्रिप्शन, और वैधता। इसकी अधिकांश प्रॉपर्टी Any टाइप की गई हैं, बजाय मुख्य Document क्लास में प्रदर्शित अधिक समृद्ध प्रकारों के।

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

एन्क्रिप्शन और पासवर्ड बदलने के लिए एकल-पासवर्ड फॉर्म का उपयोग किया जाता है, बजाय मुख्य Document.encrypt के अलग-अलग उपयोगकर्ता/स्वामी पासवर्ड के:

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

अहस्ताक्षरित सामग्री निकालना

generated.forms.UnsignedContentAbsorber एक दस्तावेज़ के उन पृष्ठों, फॉर्म फ़ील्ड्स, और एनोटेशन को निकालता है जो अभी तक एक UnsignedContent कंटेनर में साइन नहीं हुए हैं। निष्कर्षण चलाने के लिए extract() को कॉल करें, फिर परिणाम को फिर से चलाए बिना जांचने के लिए get_extracted() या has_extracted() का उपयोग करें।

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

UnsignedContent को सीधे निर्मित और भरा भी जा सकता है, बिना absorber के निर्भरता के:

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 सत्यापन विकल्प और परिणाम

generated.pdfa.PdfAValidateOptions और PdfAValidationResult PDF/A-शैली के सत्यापन कार्यप्रवाहों के लिए एक स्वतंत्र विकल्प/परिणाम जोड़ी हैं। वे प्राथमिक API के Document.validate_pdfa() द्वारा लौटाए गए क्लास नहीं हैं और न ही PdfAValidator.process() द्वारा उपयोग किए जाते हैं — उन क्लासों के अपने, अलग से परिभाषित PdfAValidateOptions और PdfAValidationResult क्लास होते हैं जिनमें अधिक समृद्ध सतह (level, warnings, is_heuristic, और एक 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

सलाह और सर्वोत्तम प्रथाएँ

  • हर generated क्लास को उसके पूर्ण सबमॉड्यूल पथ के माध्यम से आयात करें (from aspose_pdf.generated.document import Document, और इसी तरह generated.forms और generated.pdfa के लिए) — कभी यह न मानें कि एक साधारण Document या UnsignedContent आयात संगतता संस्करण में हल हो जाएगा।
  • जब भी किसी फ़ाइल में उसी मॉड्यूल में प्राथमिक API भी उपयोग किया जाता है, आयात किए गए क्लास को एक विशिष्ट स्थानीय नाम दें, ताकि दोनों सतहें प्रत्येक कॉल साइट पर स्पष्ट रूप से अलग बनी रहें।
  • generated.pdfa.PdfAValidateOptions/PdfAValidationResult को एक स्वतंत्र जोड़ी के रूप में मानें: विकल्प बनाएं, अपना स्वयं का सत्यापन तर्क चलाएँ, और निष्कर्षों को स्वयं add_error() के साथ रिकॉर्ड करें — इन्हें Document.validate_pdfa() द्वारा स्वचालित रूप से नहीं भरा जाता।
  • यदि आप सुनिश्चित नहीं हैं कि extract() पहले ही चल चुका है, तो get_extracted() को कॉल करने से पहले UnsignedContentAbsorber.has_extracted() की जाँच करें।
  • नए कोड के लिए प्राथमिक aspose_pdf.Document API को प्राथमिकता दें, जब तक कि आपको विशेष रूप से घटाए गए, जेनरेटेड-कम्पैटिबिलिटी सतह की आवश्यकता न हो।

आम समस्याएँ

समस्याकारणसमाधान
गलत Document मेथड उपलब्ध हैं (अनुपलब्ध pages, form, xmp_metadata, और इसी तरह)मुख्य aspose_pdf.Document के बजाय generated.document.Document आयात किया गयायदि आप घटित सतह चाहते हैं तो छोड़ें; अन्यथा मुख्य क्लास (import aspose_pdf; aspose_pdf.Document()) आयात करें
generated.pdfa से PdfAValidateOptions/PdfAValidationResult PdfAValidator.process() के साथ काम नहीं करतेमुख्य API का PdfAValidator अपने स्वयं के PdfAValidateOptions/PdfAValidationResult क्लासेस की अपेक्षा करता है, न कि generated.pdfa संस्करणों कीaspose_pdf से निर्यात किए गए PdfAValidateOptions/PdfAValidationResult क्लासेज़ का उपयोग PdfAValidator वर्कफ़्लोज़ के लिए करें
get_extracted() None लौटाता हैextract() को उस UnsignedContentAbsorber इंस्टेंस पर कभी कॉल नहीं किया गयापहले extract() को कॉल करें, फिर get_extracted(), या पहले has_extracted() की जाँच करें
generated.document.Document पर प्रॉपर्टीज़ Any टाइप की गई हैं और ऑटोकम्प्लीट नहीं देतींजनरेट किया गया सरफ़ेस स्थैतिक टाइपिंग को छोटे, सरल API के बदले में बदलता हैकॉल साइट पर अपेक्षित टाइप को कास्ट या डॉक्यूमेंट करें, या अधिक समृद्ध टाइपिंग के लिए प्राइमरी Document क्लास पर स्विच करें

FAQ

क्या aspose_pdf.generated एक स्टब या प्लेसहोल्डर है?

नहीं। यह एक वास्तविक, आयात करने योग्य सबपैकेज है जिसमें कार्यशील क्लासेस हैं — Document, UnsignedContent, UnsignedContentAbsorber, PdfAValidateOptions, और PdfAValidationResult — यह लाइब्रेरी के प्राथमिक API की तुलना में केवल एक छोटा, स्वतंत्र सतह है।

generated.document.Document का aspose_pdf.Document के समान नाम क्यों है?

वे दो स्वतंत्र रूप से परिभाषित क्लासेस हैं जो संयोगवश एक ही नाम साझा करती हैं। aspose_pdf.generated.document से आयात करने पर आपको संगतता संस्करण मिलता है; aspose_pdf.Document (या from aspose_pdf import Document) को आयात करने पर आपको प्राथमिक संस्करण मिलता है।

क्या मैं एक generated.pdfa.PdfAValidateOptions को PdfAValidator.process() में पास कर सकता हूँ?

नहीं। PdfAValidator.process() प्राथमिक API का हिस्सा है और यह प्राथमिक API की अपनी PdfAValidateOptions क्लास की अपेक्षा करता है, जिसकी मेथड सिग्नेचर अलग है (add_input(source) की बजाय कोई-आर्ग्युमेंट add_input())।

क्या UnsignedContentAbsorber.extract() को एक Document आर्ग्युमेंट की आवश्यकता है?

नहीं। extract() उत्पन्न संगतता सतह में कोई आर्ग्युमेंट नहीं लेता; एब्जॉर्बर बनाएं और सीधे extract() को कॉल करें।


API Reference सारांश

क्लास / मेथडविवरण
Document.load_fromफ़ाइल पथ, बाइट्स, या स्ट्रीम से दस्तावेज़ लोड करता है
Document.saveदस्तावेज़ को गंतव्य पर सहेजता है
Document.optimizeसामान्य अनुकूलन करता है, वैकल्पिक रूप से छवियों को संपीड़ित करता है
Document.optimize_resourcesफ़ॉन्ट्स और छवियों जैसी साझा संसाधनों का अनुकूलन करता है
Document.encryptदस्तावेज़ को एकल पासवर्ड के साथ एन्क्रिप्ट करता है
Document.change_passwordsदस्तावेज़ का पासवर्ड बदलता है
Document.validateलौटाता है कि दस्तावेज़ संरचनात्मक रूप से वैध है या नहीं
Document.disposeदस्तावेज़ से जुड़े संसाधनों को मुक्त करता है
UnsignedContent.add_page / remove_pageएक unsigned-content बंडल से पृष्ठ जोड़ता या हटाता है
UnsignedContent.add_form_field / remove_form_fieldएक unsigned-content बंडल से फ़ॉर्म फ़ील्ड जोड़ता या हटाता है
UnsignedContent.add_annotation / remove_annotationएक unsigned-content बंडल से एनोटेशन जोड़ता या हटाता है
UnsignedContentAbsorber.extractunsigned content को एक UnsignedContent इंस्टेंस में निकालता है
UnsignedContentAbsorber.get_extractedयदि कोई हो, तो अंतिम निकाला गया UnsignedContent लौटाता है
UnsignedContentAbsorber.has_extractedरिपोर्ट करता है कि निकासी की गई है या नहीं
PdfAValidateOptions.add_inputवैधता के लिए एक इनपुट स्रोत को पंजीकृत करता है
PdfAValidateOptions.set_option / get_optionsवैधता विकल्प मानों को सेट करता है या पढ़ता है
PdfAValidationResult.add_errorएक त्रुटि संदेश जोड़ता है और परिणाम को अमान्य चिह्नित करता है
PdfAValidationResult.to_dictमान्यकरण परिणाम का शब्दकोश प्रतिनिधित्व लौटाता है

यह भी देखें

 हिन्दी