עבודה עם DOCX Reader

עבודה עם DOCX Reader

The DocumentReader הקורס קורא Office Open XML (.docx• קבצים ומייצרים מבנה נתונים אבסטרטי – מודל מסמך אור (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 משתמשים בשני מיקרוסופט כדי לחלק את האחריות:

מרכיבתפקיד
DocumentReaderהדוקטור הראשי של DOCX – קורא חלקים XML מהחבילה OPC
LdmBuilderMixinיצירת מודל מסמך אור מתוך נתונים מעורבים
ShapeParserMixinציור וצורה של פריטים המוטבעים במסמך

כל השלושה עובדים יחד פנימית – אתה אינטראקציה עם התוצאה דרך Document API.


הוצאת טקסט

שימוש get_text() על מסמך מחובר כדי להוציא טקסט שטוח ללא חיסכון לקובץ:

import aspose.words_foss as aw

doc = aw.Document("contract.docx")
text = doc.get_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.


ניהול צורות ותמונות

The 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 (חבילת OPC מבוססת ZIP)
תמונות חסרות בתמונהחלקים של תמונה שאינם מוטבעים בחבילהבדוק אם ה-DOCX מכיל תמונות מוטבעות (לא מקושרות)
חוסר תוכן בתהליך הפריסהחלקים XML הנדרשים שאינם נלקחים מהחבילההקובץ עשוי להיות מעוות; מחדש לייצא מהיישום המקור

FAQ

מהו מודל מסמך אור (LDM)?

LDM הוא הדמות הפנימית המשותפת בין כל הקוראים.זה אוסף את הפרטים הספציפיים פורמט (OPC XML, OLE2 בינארי) לתוך מבנה משותף של סעיפים, פסוקים, רצים, טבלאות וצורות.

האם Doctrine יכול לנהל את קבצי DOCM (מקרו-אפשר)?

מאקרו-אפשר .docm הקובץ משתמש באותו מבנה OPC.הקורא יכול לחתוך את התוכן של המסמך, אך המאקרים אינם נשמרים או מתבצעים.

כיצד מתייחסים לקוראים לסמכים גדולים?

הקורא מעבד את החלקים של XML ברציפות.מזכרת משתמש בקנה מידה עם גודל מסמך.למסמכים גדולים מאוד, לשקול את הפרקים עיבוד בנפרד.


סיכום התייחסות API

שיעור / שיטהתיאור
DocumentReaderקורא מסמכים DOCX ומייצר מבנים נתונים אבסולוטיים
LdmBuilderMixinמיקסן מספקת שיטות בנייה של מודל מסמך אור
ShapeParserMixinמיקסן מספקת שיטות ציור / צורה של פריז
Documentמייצג מסמך Word (השורש LDM)
create_reader(path)מפעל שמחזיר את הקורא הנכון להרחבת קובץ

ראה גם

 עברית