DOCX रीडर के साथ काम करना

DOCX रीडर के साथ काम करना

DOCX रीडर के साथ काम करना

DocumentReader क्लास Office Open XML (.docx) फ़ाइलों को पढ़ती है और एक सारांशित डेटा संरचना — Light Document Model (LDM) बनाती है। यह पैराग्राफ, तालिकाएँ, आकार, छवियाँ और फॉर्मेटिंग को संभालती है, जिससे सामग्री को हेरफेर या रूपांतरण के लिए उपलब्ध किया जा सके।


DOCX फ़ाइल पढ़ना

सबसे सरल तरीका Document कंस्ट्रक्टर का उपयोग करना है, जो स्वचालित रूप से DocumentReader को .docx फ़ाइलों के लिए चुनता है:

import aspose.words_foss as aw

doc = aw.Document("input.docx")
print(f"Sections: {len(doc.sections)}")
for para in doc.all_paragraphs:
    print(para.text)

DocumentReader आर्किटेक्चर

DocumentReader दो मिक्सिन्स का उपयोग करके जिम्मेदारियों को विभाजित करता है:

ComponentRole
DocumentReaderमुख्य DOCX पार्सर — OPC पैकेज से XML भाग पढ़ता है
LdmBuilderMixinपार्स किए गए डेटा से Light Document Model बनाता है
ShapeParserMixinदस्तावेज़ में एम्बेडेड ड्रॉइंग और शेप तत्वों को पार्स करता है

तीनों एक साथ आंतरिक रूप से कार्य करते हैं — आप परिणाम के साथ Document API के माध्यम से इंटरैक्ट करते हैं।


पाठ निकालना

लोड किए गए दस्तावेज़ पर text प्रॉपर्टी का उपयोग करके फ़ाइल में सहेजे बिना सादा पाठ निकालें:

import aspose.words_foss as aw

doc = aw.Document("contract.docx")
text = doc.text
print(text[:500])

पैराग्राफ और फॉर्मेटिंग के साथ काम करना

LDM के माध्यम से पैराग्राफ-स्तर की प्रॉपर्टीज़ तक पहुँचें:

import aspose.words_foss as aw

doc = aw.Document("styled.docx")
for para in doc.all_paragraphs:
    for run in para.runs:
        if run.font.bold:
            print(f"Bold: {run.text}")

हर Run में फ़ॉन्ट प्रॉपर्टीज़ (बोल्ड, इटैलिक, आकार, रंग) होते हैं जो DOCX XML से पार्स किए गए थे।


आकार और छवियों को संभालना

ShapeParserMixin पार्सिंग के दौरान ड्राइंग तत्व निकालता है। आकार LDM में पैराग्राफ सामग्री के भीतर ShapeNode ऑब्जेक्ट्स के रूप में प्रकट होते हैं:

import aspose.words_foss as aw

doc = aw.Document("with-images.docx")
for para in doc.all_paragraphs:
    for node in para.content_sequence:
        if hasattr(node, 'shape_type'):
            print(f"Shape: {node.shape_type}")

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

  • मानक कार्यप्रवाहों के लिए Document("file.docx") का उपयोग करें — यह पाठक चयन, पैकेज वैधता, और LDM निर्माण को स्वचालित रूप से संभालता है।
  • स्ट्रीम-आधारित इनपुट (वेब अपलोड) के लिए, Document कंस्ट्रक्टर को एक फ़ाइल-समतुल्य ऑब्जेक्ट पास करें।
  • टेबल वाले फ़ाइलों के लिए, उन्हें doc.tables या doc.all_tables के माध्यम से एक्सेस करें।
  • बैच प्रोसेसिंग के लिए, दोहराए गए इम्पोर्ट ओवरहेड से बचने हेतु वही Python प्रक्रिया पुनः उपयोग करें।

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

समस्याकारणसुधारें
फ़ाइल लोड नहीं हो रही है (अपवाद)क्षतिग्रस्त या अधूरी ZIP आर्काइवजांचें कि फ़ाइल वैध .docx (ZIP-आधारित OPC पैकेज) है
आउटपुट में छवियां अनुपलब्ध हैंपैकेज में चित्र भाग एम्बेड नहीं किए गए हैंजांचें कि DOCX में एम्बेडेड (लिंक किए बिना) चित्र हैं
आउटपुट में सामग्री अनुपलब्ध हैआवश्यक XML भाग पैकेज में अनुपस्थित हैंफ़ाइल में ट्रंकेटेड हो सकती है; स्रोत अनुप्रयोग से पुनः निर्यात करें

FAQ

Light Document Model (LDM) क्या है?

LDM सभी रीडर्स के बीच साझा की गई आंतरिक प्रतिनिधित्व है। यह फ़ॉर्मेट-विशिष्ट विवरणों (OPC XML, OLE2 बाइनरी) को सेक्शन, पैराग्राफ, रन, टेबल और शेप्स की एक सामान्य संरचना में सारांशित करता है।

क्या DocumentReader DOCM (मैक्रो-सक्षम) फ़ाइलों को संभाल सकता है?

मैक्रो-सक्षम .docm फ़ाइलें वही OPC संरचना उपयोग करती हैं। रीडर दस्तावेज़ की सामग्री को पार्स कर सकता है, लेकिन मैक्रो को संरक्षित नहीं किया जाता या निष्पादित नहीं किया जाता।

रीडर बड़े दस्तावेज़ों को कैसे संभालता है?

रीडर XML भागों को क्रमिक रूप से प्रोसेस करता है। मेमोरी उपयोग दस्तावेज़ के आकार के साथ बढ़ता है। बहुत बड़े दस्तावेज़ों के लिए, अनुभागों को व्यक्तिगत रूप से प्रोसेस करने पर विचार करें।


API Reference सारांश

क्लास / मेथडविवरण
DocumentReaderDOCX दस्तावेज़ पढ़ता है और सारात्मक डेटा संरचनाएँ बनाता है
LdmBuilderMixinMixin जो Light Document Model निर्माण विधियों को प्रदान करता है
ShapeParserMixinड्रॉइंग/शेप पार्सिंग मेथड्स प्रदान करने वाला मिक्सिन
Documentएक Word दस्तावेज़ (LDM मूल) का प्रतिनिधित्व करता है
create_reader(path)फ़ैक्टरी जो फ़ाइल एक्सटेंशन के लिए सही रीडर लौटाती है

यह भी देखें

 हिन्दी