עבודה עם 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) | מפעל שמחזיר את הקורא הנכון להרחבת קובץ |