עבודה עם DOC Reader
עבודה עם DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc קובץ - The DocFileReader המעמד מתאים את פורמט OLE2 הבינארי ומייצר מודל מסמך קל (LDM) שניתן לנהל או להמיר לתבניות אחרות.
הורד קובץ DOC
שימוש DocFileReader לפתוח את A .doc הקובץ מחוץ לדיסק ולהפוך אותו לאחד Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")The Document המנהלים המובילים ל create_reader(),מי שבחר DocFileReader באופן אוטומטי, בהתבסס על .doc הרחבה .
שימוש ב- DocFileReaderCore ישירות
בקרת רמה נמוכה יותר, מיידית DocFileReaderCore קראו את שיטות ההעלאה:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore ישנם שלושה שיטות כניסה:
| שיטת | סוג הכניסה | שימוש במקרה |
|---|---|---|
load_file(filepath) | קובץ מסלול string | קראו מהדיסק |
load_stream(stream) | אובייקט דומה ל-File | קרא מהעלאת או רשת זרימה |
load_bytes(data) | bytes | קראו על In-Memory Buffer |
בניית מודל מסמך אור
לאחר ההתחלה, התקשר to_light_document() על DocFileReader להפיק LDM Document:
from aspose.words_foss.doc_reader.doc_file_reader import DocFileReader
reader = DocFileReader()
reader.load_file("input.doc")
ldm_doc = reader.to_light_document()ה-LCD הוא המערכת הפנימית ששיתפה את כל הקוראים (DocFileReader, DocumentReader, TextFileReaderלאחר שיש לך מסמך LDM, אתה יכול לשמור אותו לכל פורמט היציאה תומך.
פרוטוקול DocumentFormatReader
כל הקוראים משתמשים ב DocumentFormatReader פרוטוקול, אשר מגדיר את הממשק המשותף: load_file(), load_stream(), ו load_bytes().• The create_reader() הפונקציה המפעלת מחזירה את הקורא המתאים בהתבסס על הרחבת קובץ:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")טיפים ושיטות טובות
- השתמש ברמה הגבוהה
Document("file.doc")יצרן עבור רוב זרימת העבודה – הוא מנהל את בחירת הקורא באופן אוטומטי. - שימוש
DocFileReaderCoreרק כאשר אתה צריך גישה ישירה לשכבה בינארית. - עבור קבצים שהתקבלו כ
bytes(לדוגמה, מתוך הורדות HTTP), מעדיףload_bytes()כדי למנוע את הכתיבה של קבצים זמניים. - הקורא DOC תומך באותה סדנאות סיבוב כמו הקריא Docx עבור טקסט, פסוקים ופורמט בסיסי.
בעיות נפוצות
| נושא | סיבה | קבע |
|---|---|---|
load_file() גדלים FileNotFoundError | מסלול קובץ לא נכון | בדוק את המסלול קיים לפני שיתקשר |
| טקסט מוטבע לאחר ההעלאה | קובץ אינו OLE2 בינארי. | אישור שהקובץ אמיתי .doc תגית: לא מחדש, לא שם אחר .docx |
| חוסר עיצוב בתהליך הפריסה | חלק מהתכונות המתקדמות של DOC עדיין לא נתמכות | צפו limitations.md תכונות שאינן נתמכות |
FAQ
מה ההבדל בין DocFileReader ו-DocFideRead?
DocFileReaderCore הוא פועל על ידי הפריסה הבינארית ברמה נמוכה של פורמט OLE2. DocFileReader להגדיל את זה על ידי הוספת to_light_document() שיטה שמייצרת LDM מלא Document מתאים לשינוי.
האם אני יכול להעלות קובץ DOC מתוך זרם?
כן – שימוש DocFileReaderCore.load_stream(stream) זה שימושי עבור יישומים אינטרנט שבהם קבצים מוטבעים כמו זרמים.
האם קורא DOC מתמודד עם קבצים מוגנים באמצעות סיסמה?
סיסמה מוגנת .doc הקבצים אינם נתמכים כרגע.הקורא יעלה יוצא מן הכלל אם הקובץ מוצפן.
סיכום התייחסות API
| שיעור / שיטה | תיאור |
|---|---|
DocFileReader | קורא DOC מלא עם יכולת בניית LDM |
DocFileReader.to_light_document() | להמיר נתונים DOC ל- LDM Document |
DocFileReaderCore | קורא ליבה עבור Word 97-2003 (.doc) קבצים בינאריים |
DocFileReaderCore.load_file(filepath) | הורד קובץ DOC ממסלול אחד |
DocFileReaderCore.load_stream(stream) | הורד קובץ DOC מתוך זרם |
DocFileReaderCore.load_bytes(data) | הורד קובץ DOC מתוך באפטים |
DocumentFormatReader | הפרוטוקול של כל הקוראים של המסמכים |
create_reader(path) | מפעל שמחזיר את הקורא הנכון להרחבת קובץ |