LdmDocxWriter ile Dosyaları Yazmak

LdmDocxWriter ile Dosyaları Yazmak

LdmDocxWriter ile Dosyaları Yazmak

LdmDocxWriter dönüştürücü a light_document_model.Document (LDM) nesneye giren bir DOCX dosyası. yazma eşdeğeri DocumentReader,DOCX dosyalarını okuyanlar Birlikte bir LDM ağaç olarak ortaya çıkarlar ve yuvarlak bir boru hattı oluştururlar: DocumentReader içinde , LdmDocxWriter dışarı çıkıyor.


Prerequisites

RequirementDetail
Python3.9 or later
Packageaspose-words-foss (MİLLENİM İÇİN TIKLAYIN)
InputA light_document_model.Document İstekler
pip install aspose-words-foss

Bir dosya yoluna yazın

LdmDocxWriter.write(doc, output_path) LDM belgesini bir DOCX’e serialize eder. Dosya verilen yolda. eğer yolun ana dizininde çağrı yoksa, Yükselecek 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")

Notlar için yazma (in-memory output)

LdmDocxWriter.write_to_bytes(doc) DOCX içeriğini A olarak geri getirir. bytes nesne için. Dosyayı bir ağ üzerinden göndermeniz, bir veritabanına kaydetmeniz veya Tüm dosya sistemine yazmaktan kaçının.

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)


---

### Round-Trip Modeli

En yaygın kullanım durumunda, okuma-değiştirme-yazma döngüsü yolculuğu:

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

Kaybı- Yazılı Uyarılar

When LdmDocxWriter • Bir LDM konektörü DOCX biçiminde sadıkça temsil edemez. A’yı yayınlar DocxWriterLossyWarning.Bunları Python ile yakalayabilirsiniz. warnings Modül düştüğü şeyi incelemek için:

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)

İpuçları ve En İyi Uygulamalar

  • Her zaman arama DocumentReader.to_light_document() belgeyi iletmeden önce, LdmDocxWriter - yazar bir LDM bekliyor Document,Bir çamur değil DocumentReader.
  • Kullanım write_to_bytes() Web yöneticileri geçici dosya yönetimini önlemek için.
  • Check DocxWriterLossyWarning • Trafikte regresyonlar tespit etmek için yapılan testler, Kütüphanenin yükseltilmesi.
  • LdmDocxWriter.options yazar düzeyinde yapılandırma için mevcuttur; kontrol etmek için mevcut ayarları görmek için bir örnekten sonra.

ortak sorunlar

IssueCauseFix
FileNotFoundError Üzerinde write()Anasayfa > Evler > Doğumdan yokçıkış dizinini oluşturun Path.mkdir(parents=True, exist_ok=True) Çağrıdan Önce write()
DocxWriterLossyWarning YayınlananLDM konstrüksiyonu DOCX’te temsil edilemezUyarı mesajını inceleyin; kaybı kabul edin veya yazmadan önce LDM’yi ayarlayın
Boş çıkış DOCXLDM belgesinde bölümler veya paragraflar yoktur.Verify ldm_doc.sections ve ldm_doc.all_paragraphs Yükten sonra boş kalmazlar

FAQ

LDM nedir (light_document_model)?

LDM, Aspose.Words FOSS’in bir Word belgesinin abstrak ve Python-native temsilidir.Doküman mantığını DOCX ikili biçiminden çifte eder ve doküman yapısını programlı olarak incelemek ve manipüle etmek için kolaylaştırır.

DOCX yerine PDF yazabilir miyim?

Evet - Kullanım LdmPdfWriter.write(doc, output_path) PDF için aynı paketden üretimi veya LdmMarkdownWriter.write(doc, output_path) Markdown için.

Does write_to_bytes() Bir çıkış yolu gerektirir mi?

Hayır hayır. write_to_bytes(doc) Sadece LDM belgesini alır ve geri verir. bytes nesne Fil sisteminin etkileşimine sahip değil.


API Referans Özetleri

Sınıf / YöntemDescription
LdmDocxWriterLDM dönüştürücü Document DOCX dosyası için
LdmDocxWriter.write(doc, output_path)Dosya yoluna dokunmatik yazın
LdmDocxWriter.write_to_bytes(doc)DOCX içeriğini geri getirir bytes
LdmDocxWriter.optionsYazıcı Konfigürasyon Seçenekleri
DocxWriterLossyWarningYazma sırasında bir LDM yapı düştüğünde uyarı yükselir
DocumentReaderDOCX dosyasını okuyor ve LDM temsilciliğini oluşturuyor.
DocumentReader.to_light_document()Yüklenen belgeyi LDM olarak geri getirir. Document

See Also

 Türkçe