LdmDocxWriter के साथ DOCX फ़ाइल लिखना

LdmDocxWriter के साथ DOCX फ़ाइल लिखना

LdmDocxWriter के साथ DOCX फ़ाइल लिखना

LdmDocxWriter A को बदलना light_document_model.Document (LDM) एक वस्तु में प्रवेश करने के लिए DOCX फ़ाइल. यह लिखने के लिए प्रतिद्वंद्वी है DocumentReader, जो DOCX फ़ाइलों को पढ़ता है और उन्हें एलडीएम पेड़ के रूप में प्रदर्शित करता है. एक साथ वे एक गोल-ट्रॉप पाइपलाइन बनाते हैं: DocumentReader में , LdmDocxWriter बाहर निकलना।.


Prerequisites

RequirementDetail
Python3.9 or later
Packageaspose-words-foss (मैं लाइसेंस प्राप्त करता हूं)
InputA light_document_model.Document उदाहरण
pip install aspose-words-foss

फ़ाइल मार्ग पर लिखें

LdmDocxWriter.write(doc, output_path) LDM दस्तावेज़ को DOCX में सीरियल करें फ़ाइल उस मार्ग पर है. यदि मार्ग के मातृ निर्देशिका मौजूद नहीं है, तो कॉल बढ़ेगा FileNotFoundError.

from aspose.words_foss import DocumentReader, LdmDocxWriter

# Load a DOCX and obtain its LDM representation
reader = DocumentReader()
reader.load_file("input/original.docx")
ldm_doc = reader.to_light_document()

# Write the LDM document back to a DOCX file
writer = LdmDocxWriter()
writer.write(ldm_doc, "output/result.docx")
print("Written to output/result.docx")

लिखें बिट्स (In-Memory Output)

LdmDocxWriter.write_to_bytes(doc) DOCX सामग्री को वापस करने के लिए एक bytes वस्तुओं का।. इसे उपयोग करें जब आपको फ़ाइल को एक नेटवर्क के माध्यम से भेजने, इसे एक डेटाबेस में संग्रहीत करने की आवश्यकता होती है, या फ़ाइल सिस्टम को पूरी तरह से लिखने से बचें।.

reader = DocumentReader() reader.load_file(“input/report.docx”) ldm_doc = reader.to_light_document()

writer = LdmDocxWriter() docx_bytes = writer.write_to_bytes(ldm_doc) print(f"DOCX bytes: {len(docx_bytes)}")

Save manually if desired

with open(“output/report_copy.docx”, “wb”) as f: f.write(docx_bytes)


---

### रॉड-ट्रिप पैटर्न

सबसे आम उपयोग के मामले में, एक पढ़ने-संपादित-लेखन दौर यात्रा है:

reader = DocumentReader()
reader.load_file("input/template.docx")
ldm_doc = reader.to_light_document()

# Inspect or modify the LDM here
print("Sections:", len(ldm_doc.sections))
print("Paragraphs:", len(ldm_doc.all_paragraphs))

writer = LdmDocxWriter()
writer.write(ldm_doc, "output/modified.docx")

हानिकारक चेतावनी लिखें

When LdmDocxWriter एक एलडीएम संरचना को DOCX प्रारूप में वफादार रूप से प्रतिनिधित्व नहीं कर सकते हैं यह एक को जारी करता है DocxWriterLossyWarning.आप Python के साथ इन को पकड़ सकते हैं warnings मॉड्यूल जो गिरा दिया गया है की जांच करने के लिए:

import warnings
from aspose.words_foss import DocumentReader, LdmDocxWriter, DocxWriterLossyWarning

reader = DocumentReader()
reader.load_file("input/complex.docx")
ldm_doc = reader.to_light_document()

writer = LdmDocxWriter()
with warnings.catch_warnings(record=True) as w:
    warnings.simplefilter("always", DocxWriterLossyWarning)
    writer.write(ldm_doc, "output/complex_out.docx")

for warning in w:
    print("Lossy:", warning.message)

टिप्स और सर्वश्रेष्ठ अभ्यास

  • हमेशा कॉल करें DocumentReader.to_light_document() दस्तावेज़ को पारित करने से पहले, LdmDocxWriter लेखक को एलडीएम की उम्मीद है। Document,नहीं, एक रॉय DocumentReader.
  • उपयोग करें write_to_bytes() Web Manager में, अस्थायी फ़ाइल प्रबंधन से बचें।.
  • Check DocxWriterLossyWarning रेंज-ट्रॉप पुनरावृत्ति का पता लगाने के लिए परीक्षण में जब पुस्तकालय को अपग्रेड करें।.
  • LdmDocxWriter.options लेखन स्तर पर कॉन्फ़िगरेशन के लिए उपलब्ध है; जांच करें कि ऑब्जेक्ट के बाद, उपलब्ध सेटिंग्स को देखने के लिए।.

सामान्य मुद्दे

IssueCauseफिक्स करें
FileNotFoundError पर write()माता-पिता का प्रबंधन नहीं है।आउटपुट निर्देशिका बनाएं Path.mkdir(parents=True, exist_ok=True) कॉल करने से पहले write()
DocxWriterLossyWarning जारी किए गएLDM Constructs DOCX में प्रतिनिधित्व योग्य नहीं हैचेतावनी संदेश की समीक्षा करें; लिखने से पहले LDM को स्वीकार करें या समायोजित करें
खाली आउटपुट DOCXएलडीएम दस्तावेज़ में कोई अनुभाग या पैराग्राफ नहीं हैंVerify ldm_doc.sections और ldm_doc.all_paragraphs लोड के बाद अनैच्छिक हैं

FAQ

क्या है एलडीएम (light_document_model)?

LDM Aspose.Words FOSS का एक शब्द दस्तावेज़ का एम्बेड, पायथन-आधारित प्रतिनिधित्व है. यह DOCX बाइनरी प्रारूप से दस्त तर्क को अलग करता है और इसे प्रोग्राम के माध्यम से वस्तु संरचना की जांच और हेरफेर करना आसान बनाता है।.

क्या मैं DOCX के बजाय PDF में लिख सकता हूं?

हाँ - उपयोग करें LdmPdfWriter.write(doc, output_path) PDF के लिए एक ही पैकेज से उत्पादन या LdmMarkdownWriter.write(doc, output_path) मार्कडॉन के लिए।.

Does write_to_bytes() एक आउटपुट मार्ग की जरूरत है?

नहीं है।. write_to_bytes(doc) केवल एलडीएम दस्तावेज़ लेता है और एक वापस करता है bytes वस्तुएं फ़ाइल सिस्टम के साथ कोई बातचीत नहीं है।.


API संदर्भ सारांश

वर्ग / विधिDescription
LdmDocxWriterएक LDM को बदलना Document एक DOCX फ़ाइल में
LdmDocxWriter.write(doc, output_path)फ़ाइल मार्ग पर DOCX लिखें
LdmDocxWriter.write_to_bytes(doc)DOCX सामग्री को वापस करने के लिए bytes
LdmDocxWriter.optionsWriter Configuration विकल्पों के बारे में
DocxWriterLossyWarningचेतावनी उठाया जब लिखने के दौरान एक एलडीएम संरचना गिरती है
DocumentReaderएक DOCX फ़ाइल पढ़ता है और LDM प्रतिनिधित्व बनाता हैं
DocumentReader.to_light_document()लोड किए गए दस्तावेज़ को एक एलडीएम के रूप में वापस लाता है Document

See Also

 हिन्दी