DOCX fájlok írása LdmDocxWriter-rel
DOCX fájlok írása LdmDocxWriter-rel
LdmDocxWriter átalakítja a light_document_model.Document (LDM) objektum egy A DOCX fájl. Ez a írás-egyenleget az DocumentReader, amely DOCX fájlok olvasását teszi lehetővé. Együtt egy körbe-körbe vezetéket alkotnak: DocumentReader a következőkben:, LdmDocxWriter - Kifelé.
Prerequisites
| Requirement | Detail |
|---|---|
| Python | 3.9 or later |
| Package | aspose-words-foss (MIT-licenc) |
| Input | A. Az alábbiak: light_document_model.Document példány |
pip install aspose-words-fossÍrás egy fájl útvonalra
LdmDocxWriter.write(doc, output_path) a LDM dokumentum DOCX-re történő sorozatosítása. Ha a út alapkönyvtár nem létezik, akkor az hívás: fel fogja emelni. 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")Írjon Bytes-be (memóriában lévő kimenetel)
LdmDocxWriter.write_to_bytes(doc) a DOCX tartalmat egy formában adja vissza. bytes Az objektum. Használja ezt, ha a fájlt egy hálózaton keresztül kell elküldeni, tárolni az adatbázisban, vagy a fájlrendszerbe való teljes írás elkerülése.
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)
---
### A kör- és forduló mintája
A leggyakoribb felhasználási eset az olvasás-módosítás-írás körbe-körbe:
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")Elvesztett figyelmeztetések
When LdmDocxWriter nem képes hűségesen bemutatni egy LDM-konstrukciót DOCX formátumban a szén-dioxidot kibocsátja. DocxWriterLossyWarning.Ezt Python-szel is el lehet készíteni. warnings A leállított anyag ellenőrzésére szolgáló modul:
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)Tippek és legjobb gyakorlatok
- Mindig hívj.
DocumentReader.to_light_document()a dokumentum átadása előtt az alábbiakhoz:LdmDocxWritera szerző egy LDM-t vár el.Document, nem nyers.DocumentReader. - Használat
write_to_bytes()a webes kezelőkben, hogy elkerüljék az ideiglenes fájlkezelést. - Check
DocxWriterLossyWarninga kör- és térregresszió felderítéséhez szükséges vizsgálatok során, amikor: A könyvtár felújítása. LdmDocxWriter.optionsA program a következőképpen alakítható: objektum a rendelkezésre álló beállítások megtekintése után.
Általános kérdések
| Issue | Cause | Megjavítani. |
|---|---|---|
FileNotFoundError a következő napon: write() | A szülőkönyv nem létezik. | A kimeneti könyvtár létrehozása: Path.mkdir(parents=True, exist_ok=True) mielőtt hívná. write() |
DocxWriterLossyWarning kibocsátott | LDM-konstrukció nem képzhető DOCX-ben | A figyelmeztető üzenetet felülvizsgálja; elfogadja a veszteséget vagy módosítja az LDM-t, mielőtt írná. |
| Üres kimeneti dokumentáció DOCX | Az LDM dokumentum nem tartalmaz szakaszokat vagy bekezdéseket. | Verify ldm_doc.sections és a következők: ldm_doc.all_paragraphs nem üresek a betöltés után. |
FAQ
Mi az LDM (light_document_model)?
Az LDM az Aspose.Words FOSS absztrakt, Python-native képzése egy Word dokumentumról. Elválasztja a dokumentumszabályt a DOCX bináris formátumból és megkönnyíti a programmatizált dokumentumok felmérését és manipulálását.
Írhatok PDF-re a DOCX helyett?
Igen használat LdmPdfWriter.write(doc, output_path) ugyanabból a PDF-csomagból. a kibocsátás, vagy LdmMarkdownWriter.write(doc, output_path) Markdown-ra.
Does write_to_bytes() Kiadó útvonalra van szükség?
- Nem, nem. - Mi az?.
write_to_bytes(doc)csak az LDM dokumentumot veszi és abytestárgy A fájlrendszer nem kölcsönhat.
API-referencia összefoglaló
| Rendszer / módszer | Description |
|---|---|
LdmDocxWriter | LDM-t alakít át. Document DOCX-fájlba |
LdmDocxWriter.write(doc, output_path) | A megadott fájl útvonalra írja a DOCX- t . |
LdmDocxWriter.write_to_bytes(doc) | A DOCX tartalmat úgy adja vissza: bytes |
LdmDocxWriter.options | Író konfigurációs lehetőségek |
DocxWriterLossyWarning | Figyelmeztetés, ha egy LDM-konstrukció a leírás során lemerül. |
DocumentReader | Olvassa el a DOCX fájlt és létrehozja az LDM-reprezentációt. |
DocumentReader.to_light_document() | A feltöltött dokumentumot LDM-ként adja vissza. Document |