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

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

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

Aspose.Words FOSS for Python में लेगेसी Word 97-2003 .doc फ़ाइलों के लिए एक समर्पित रीडर शामिल है। DocFileReader क्लास OLE2 बाइनरी फ़ॉर्मेट को पार्स करती है और एक Light Document Model (LDM) बनाती है जिसे हेरफेर किया जा सकता है या अन्य फ़ॉर्मेट में परिवर्तित किया जा सकता है।


DOC फ़ाइल लोड करना

डिस्क से .doc फ़ाइल खोलने और उसे Document में परिवर्तित करने के लिए DocFileReader का उपयोग करें:

import aspose.words_foss as aw

doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")

Document कंस्ट्रक्टर create_reader() को सौंपता है, जो .doc एक्सटेंशन के आधार पर DocFileReader को स्वचालित रूप से चुनता है।


DocFileReaderCore का प्रत्यक्ष उपयोग

निचले स्तर के नियंत्रण के लिए, DocFileReaderCore को इंस्टैंशिएट करें और उसकी लोड मेथड्स को कॉल करें:

from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore

reader = DocFileReaderCore()
reader.load_file("legacy.doc")

DocFileReaderCore तीन इनपुट विधियाँ प्रदान करता है:

विधिइनपुट प्रकारउपयोग मामला
load_file(filepath)फ़ाइल पथ स्ट्रिंगडिस्क से पढ़ें
load_stream(stream)फ़ाइल-समान ऑब्जेक्टअपलोड या नेटवर्क स्ट्रीम से पढ़ें
load_bytes(data)bytesइन-मेमोरी बफ़र से पढ़ें

लाइट डॉक्यूमेंट मॉडल बनाना

लोड करने के बाद, DocFileReader पर to_light_document() को कॉल करें ताकि एक LDM Document उत्पन्न हो:

from aspose.words_foss.doc_reader.doc_file_reader import DocFileReader

reader = DocFileReader()
reader.load_file("input.doc")
ldm_doc = reader.to_light_document()

LDM सभी रीडर्स (DocFileReader, DocumentReader, TextFileReader) के बीच साझा की गई आंतरिक प्रतिनिधित्व है। एक बार जब आपके पास LDM दस्तावेज़ हो, तो आप इसे किसी भी समर्थित आउटपुट फ़ॉर्मेट में सहेज सकते हैं।


यह DocumentFormatReader प्रोटोकॉल

सभी रीडर्स DocumentFormatReader प्रोटोकॉल को लागू करते हैं, जो सामान्य इंटरफ़ेस को परिभाषित करता है: load_file(), load_stream(), और load_bytes(). create_reader() फ़ैक्ट्री फ़ंक्शन फ़ाइल एक्सटेंशन के आधार पर उपयुक्त रीडर लौटाता है:

from aspose.words_foss.reader_factory import create_reader

reader = create_reader("data.doc")  # returns DocFileReader
reader.load_file("data.doc")

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

  • अधिकांश वर्कफ़्लो के लिए हाई-लेवल Document("file.doc") कन्स्ट्रक्टर का उपयोग करें — यह रीडर चयन को स्वचालित रूप से संभालता है।
  • केवल तब DocFileReaderCore का उपयोग करें जब आपको बाइनरी पार्सिंग लेयर तक सीधे पहुँच की आवश्यकता हो।
  • bytes के रूप में प्राप्त फ़ाइलों के लिए (उदा., HTTP अपलोड्स से), अस्थायी फ़ाइलों को लिखने से बचने के लिए load_bytes() को प्राथमिकता दें।
  • DOC रीडर टेक्स्ट, पैराग्राफ और बुनियादी फ़ॉर्मेटिंग के लिए DOCX रीडर के समान राउंड-ट्रिप फ़िडेलिटी का समर्थन करता है।

आम समस्याएँ

समस्याकारणसमाधान
load_file() उठाता है FileNotFoundErrorगलत फ़ाइल पथकॉल करने से पहले पुष्टि करें कि पथ मौजूद है
लोड करने के बाद गड़बड़ टेक्स्टफ़ाइल वैध OLE2 बाइनरी नहीं हैपुष्टि करें कि फ़ाइल वास्तव में .doc फ़ॉर्मेट है, न कि पुनःनामित .docx
आउटपुट में फ़ॉर्मेटिंग गायब हैकुछ उन्नत DOC सुविधाएँ अभी तक समर्थित नहीं हैंlimitations.md में असमर्थित सुविधाओं की जाँच करें

FAQ

DocFileReader और DocFileReaderCore में क्या अंतर है?

DocFileReaderCore OLE2 फ़ॉर्मेट की लो-लेवल बाइनरी पार्सिंग को संभालता है। DocFileReader इसमें to_light_document() मेथड जोड़कर इसे विस्तारित करता है, जो रूपांतरण के लिए उपयुक्त पूर्ण LDM Document उत्पन्न करता है।

क्या मैं एक DOC फ़ाइल को स्ट्रीम से लोड कर सकता हूँ?

हां। DocFileReaderCore.load_stream(stream) का उपयोग करें या फ़ाइल-समरूप ऑब्जेक्ट पास करें। यह वेब अनुप्रयोगों के लिए उपयोगी है जहाँ फाइलें स्ट्रीम के रूप में अपलोड की जाती हैं।

क्या DOC रीडर पासवर्ड-सुरक्षित फाइलों को संभालता है?

पासवर्ड-सुरक्षित .doc फाइलें वर्तमान में समर्थित नहीं हैं। यदि फ़ाइल एन्क्रिप्टेड है तो रीडर एक अपवाद उठाएगा।


API Reference सारांश

क्लास / मेथडविवरण
DocFileReaderपूरी DOC रीडर जिसमें LDM निर्माण क्षमता है
DocFileReader.to_light_document()पार्स किए गए DOC डेटा को LDM दस्तावेज़ में परिवर्तित करता है
DocFileReaderCoreWord 97-2003 (.doc) बाइनरी फ़ाइलों के लिए कोर रीडर
DocFileReaderCore.load_file(filepath)एक पथ से DOC फ़ाइल लोड करें
DocFileReaderCore.load_stream(stream)एक स्ट्रीम से DOC फ़ाइल लोड करें
DocFileReaderCore.load_bytes(data)एक बाइट्स बफ़र से DOC फ़ाइल लोड करें
DocumentFormatReaderसभी दस्तावेज़ रीडर्स के लिए प्रोटोकॉल इंटरफ़ेस
create_reader(path)फ़ैक्टरी जो फ़ाइल एक्सटेंशन के लिए सही रीडर लौटाती है

यह भी देखें

 हिन्दी