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

ראה גם

 עברית