Aspose.PDF FOSS for Python विशेषताएँ

Aspose.PDF FOSS for Python विशेषताएँ

Aspose.PDF Python के लिए FOSS सुविधाएँ

Aspose.PDF FOSS for Python एक शुद्ध-Python लाइब्रेरी है जो PDF दस्तावेज़ों को बनाने, खोलने, संशोधित करने और सहेजने के लिए उपयोग होती है। यह पृष्ठ प्रमुख क्षमता क्षेत्रों और उन वर्गों का सर्वेक्षण करता है जो उनके प्रवेश बिंदु के रूप में कार्य करते हैं। प्रत्येक क्षेत्र को उसके स्वयं के डेवलपर-गाइड पृष्ठ पर विस्तार से कवर किया गया है।


दस्तावेज़ और पृष्ठ प्रबंधन

Document हर ऑपरेशन के लिए मूल वस्तु है। इसे बिना किसी तर्क के बनाकर एक नया, खाली दस्तावेज़ शुरू करें, या load_from() को कॉल करके किसी पथ, बाइट्स, या स्ट्रीम से मौजूदा दस्तावेज़ पढ़ें। document.pages परिवर्तनीय PageCollection को उजागर करता है, और Page.add_text पृष्ठ पर स्थित पाठ रखता है।

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

पाठ निष्कर्षण और खोज

PdfExtractor एक दस्तावेज़ से बंधता है और पृष्ठ दर पृष्ठ पाठ निकालता है। bind_pdf() स्रोत को खोलता है, extract_text() निष्कर्षण करता है, और get_text() संकलित परिणाम लौटाता है।

from aspose_pdf import PdfExtractor

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

स्थित, प्रति-फ़्रैगमेंट खोज और प्रतिस्थापन के लिए, TextFragmentAbsorber मेल खाते TextFragment ऑब्जेक्ट्स को उजागर करता है जहाँ text_search_options केस संवेदनशीलता और नियमित अभिव्यक्ति मिलान को नियंत्रित करता है।


पृष्ठ रेंडरिंग को छवियों में

Document.save_page_as_image एक पृष्ठ को सीधे PNG या TIFF फ़ाइल में कॉन्फ़िगर करने योग्य DPI पर रेंडर करता है। निचले-स्तर की पहुँच के लिए, Page.render get_pixel() और pixels के माध्यम से कच्चा पिक्सेल डेटा के साथ एक RasterizedPage लौटाता है।

from aspose_pdf import Document

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

फ़ॉर्म और इंटरैक्टिव फ़ील्ड्स

AcroForm फ़ील्ड्स को Document.form के माध्यम से प्रबंधित किया जाता है, जो एक Form फ़साद है। Form.add_text_field() (और चेकबॉक्स, रेडियो, सूची, तथा कॉम्बो बॉक्स के समकक्ष) एक नया फ़ील्ड बनाता है जो किसी पृष्ठ और एक विजेट आयत से जुड़ा होता है, और एक Field लौटाता है। Form.fields दस्तावेज़ में वर्तमान में मौजूद सभी फ़ील्ड्स की सूची देता है।

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

सुरक्षा, एन्क्रिप्शन और हस्ताक्षर

Document.encrypt एक दस्तावेज़ को उपयोगकर्ता पासवर्ड (जिसे खोलने के लिए आवश्यक है) और मालिक पासवर्ड (जिसे अनुमतियों को बदलने के लिए आवश्यक है) से सुरक्षित करता है; decrypt() और change_passwords() पहले से खुले दस्तावेज़ पर सुरक्षा प्रबंधन करते हैं। is_encrypted वर्तमान स्थिति की रिपोर्ट करता है।

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

डिजिटल हस्ताक्षर सत्यापन PdfSignature.validate द्वारा संभाला जाता है, जो भरोसे और निरस्तीकरण स्थिति का विवरण देने वाला एक ValidationResult लौटाता है, और SigningUtils प्रमाणपत्र और PKCS#7/CAdES साइनिंग सहायक प्रदान करता है।


PDF/A और PDF/UA अनुपालन

Document.validate_pdfa एक heuristic PDF/A अनुपालन जांच चलाता है और एक PdfAValidationResult लौटाता है; convert_to_pdfa() दस्तावेज़ को उस स्तर की ओर सुधारने का प्रयास करता है। validate_pdfua() और auto_tag() 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")

टिप्स और सर्वोत्तम प्रथाएँ

  • ऑब्जेक्ट को सीधे document.pages, page.annotations, या document.form द्वारा लौटाए गए को संशोधित करें — पृष्ठ या फ़ील्ड की अलग प्रति पर किए गए संपादन save() को कॉल करने पर प्रतिबिंबित नहीं होते।
  • इस Python बाइंडिंग में PageCollection शून्य-इंडेक्स्ड है (document.pages[0] पहली पृष्ठ है)।
  • अविश्वसनीय इनपुट पर load_from() को कॉल करते समय व्यापक AsposePdfException से पहले InvalidPasswordException और PdfParseException को पकड़ें, ताकि आप खराब पासवर्ड और भ्रष्ट फ़ाइल के प्रति अलग प्रतिक्रिया दे सकें।
  • बहुत अधिक संपादित दस्तावेज़ों पर अनावश्यक संसाधनों को हटाने और फ़ाइल आकार को कम करने के लिए save() से पहले document.optimize() या compress_streams() को कॉल करें।
  • अविश्वसनीय स्रोत से प्राप्त PDFs को प्रोसेस करते समय load_from() को एक सीमित PdfLoadLimits पास करें, ताकि पार्सिंग के दौरान मेमोरी और ऑब्जेक्ट काउंट को सीमित किया जा सके।

सामान्य समस्याएँ

समस्याकारणसमाधान
save() एक फ़ाइल बनाता है जिसमें संपादनों में कोई बदलाव नहीं हैसंपादन पृष्ठ, एनोटेशन, या फ़ील्ड कॉपी पर किए गए, न कि document.pages, annotations, या form से प्राप्त वस्तु परउन संग्रहों द्वारा सीधे लौटाए गए वस्तु को संशोधित करें
InvalidPasswordException पर load_from()दस्तावेज़ पासवर्ड-सुरक्षित है और कोई पासवर्ड, या गलत पासवर्ड, प्रदान नहीं किया गया।सही पासवर्ड पास करें: document.load_from(path, password="...")
validate_pdfa() अभी भी convert_to_pdfa() के बाद फ़ॉन्ट त्रुटि रिपोर्ट करता हैप्रदान किए गए font_lookup_directory में कोई मिलती-जुलती फ़ॉन्ट फ़ाइल नहीं मिलीगुम फ़ॉन्ट को लुकअप डायरेक्टरी में जोड़ें, या परिवर्तन से पहले इसे FontRepository के साथ पंजीकृत करें
रेंडर की गई छवि खाली लगती हैगलत पेज इंडेक्स save_page_as_image() या render() को पास किया गयाpages शून्य-इंडेक्स्ड है — इंडेक्स की पुष्टि करें, और जाँचें कि क्या PdfExtractor उस पृष्ठ के लिए कोई टेक्स्ट लौटाता है
Form.add_text_field() के साथ जोड़ा गया फ़ील्ड पृष्ठ पर नहीं दिख रहा हैविजेट आयत पृष्ठ के media_box के बाहर गिरती हैपुष्टि करें कि आयत के निर्देशांक Page.media_box के भीतर हैं

FAQ

क्या Aspose.PDF Python के लिए FOSS एक व्यावसायिक PDF इंजन पर निर्भर करता है?

नहीं। यह शून्य से बना, शुद्ध-Python PDF इंजन है जो MIT लाइसेंस के तहत जारी किया गया है। इसके एकमात्र रनटाइम निर्भरताएँ cryptography और asn1crypto हैं, जो एन्क्रिप्शन और हस्ताक्षर सत्यापन के लिए उपयोग की जाती हैं।

क्या मैं मौजूदा PDF को खोलने के बजाय शून्य से एक PDF बना सकता हूँ?

हां। बिना किसी तर्क के Document() एक खाली, इन-मेमोरी दस्तावेज़ बनाता है; सहेजने से पहले पृष्ठ जोड़ने के लिए document.pages.add() को कॉल करें।

मैं पृष्ठ को कौन-से रास्टर फॉर्मेट में रेंडर कर सकता हूँ?

Page.render और Document.save_page_as_image PNG या TIFF रास्टर आउटपुट उत्पन्न करते हैं; लौटाया गया RasterizedPage भी get_pixel() और pixels प्रॉपर्टी के माध्यम से कच्चा पिक्सेल डेटा उजागर करता है।

पैकेज-विशिष्ट त्रुटियों के लिए मुझे कौन सा अपवाद पकड़ना चाहिए?

Catch AsposePdfException. प्रत्येक पैकेज-विशिष्ट त्रुटि — जिसमें पार्सिंग (PdfParseException), पासवर्ड और एन्क्रिप्शन (PdfSecurityException, InvalidPasswordException), और वैधता (PdfValidationException) विफलताएँ शामिल हैं — इसका मूल कारण है।

मैं आगे कहाँ जाऊँ?

Getting Started में स्थापना, लाइसेंसिंग और पहला कार्यशील उदाहरण शामिल है। यह डेवलपर गाइड दस्तावेज़ प्रबंधन विषयों जैसे फ़ॉर्म, एम्बेडेड फ़ाइल अटैचमेंट, फ़ॉन्ट खोज, और रूपरेखा/बुकमार्क लेखन के साथ जारी रहता है।


API Reference सारांश

क्लास/मेथडविवरण
Documentरूट ऑब्जेक्ट — PDF बनाएं, लोड करें, सेव करें, और प्रबंधित करें
Document.pagesदस्तावेज़ का परिवर्तनीय PageCollection
Document.load_from / Document.saveपथ, बाइट्स, या स्ट्रीम से पढ़ें या लिखें
Document.encrypt / Document.decryptपासवर्ड से सुरक्षित करें या सुरक्षा हटाएँ
Document.validate_pdfa / Document.convert_to_pdfaह्यूरिस्टिक PDF/A अनुपालन जांच और रूपांतरण
Document.validate_pdfua() / Document.auto_tagPDF/UA सुगमता जांच और संरचना ऑटो-टैगिंग
Page.add_textपृष्ठ पर स्थित टेक्स्ट जोड़ें
Page.renderपृष्ठ को RasterizedPage में रेंडर करें
PdfExtractorपृष्ठ टेक्स्ट और एम्बेडेड अटैचमेंट निकालें
PdfFileEditorफ़ाइलों में पृष्ठों को जोड़ें, विभाजित करें, सम्मिलित करें और हटाएँ
Form / FieldAcroForm कंटेनर और व्यक्तिगत फ़ॉर्म फ़ील्ड
PdfSignature / SigningUtilsडिजिटल हस्ताक्षर सत्यापन और निर्माण
AsposePdfExceptionहर पैकेज-विशिष्ट अपवाद के लिए मूल वर्ग

यह भी देखें

 हिन्दी