Робота з читачем DOC

Робота з читачем DOC

Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Файли. DocFileReader клас аналізує двоякісний формат OLE2 і виробляє модель світлого документа (LDM), яка може бути маніпульована або перетворена в інші формати.


Завантаження файлу DOC

Використання DocFileReader відкрити .doc файл з диска і перетворити його на Document:

import aspose.words_foss as aw

doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")

У. 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 надає три методи введення:

MethodТип введенняВикористання
load_file(filepath)Строка шляху файлуЧитання з диска
load_stream(stream)Файлоподібний об’єктЧитання з завантаження або мережевого потоку
load_bytes(data)bytesЧитання з буфера в пам’яті

Створення моделі Light Document

Після завантаження, подзвонить. 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()

LDM - це внутрішнє представлення, яке ділиться між усіма читачами (DocFileReader, DocumentReader, TextFileReader). Як тільки у вас є LDM-документ, ви можете зберегти його в будь-який підтримуваний формат вихідного файлу.


Протокол DocumentFormatReader

Всі читачі впроваджують DocumentFormatReader протокол, який визначає спільний інтерфейс: load_file(), load_stream(), і load_bytes().- Я знаю. create_reader() функція factory повертає відповідний читач на основі розширення файлу:

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 для тексту, параграфів та базового форматирування.

Загальні питання

IssueCauseВиправлення
load_file() піднімає FileNotFoundErrorНеправильний шлях файлуПеревірте, що шлях існує перед закликом.
Збіжений текст після завантаженняФайл не є дійсним двомірною формою OLE2Перевірте, що файл є справжнім. .doc формат, не перейменований .docx
Відсутність форматирування в виходіДеякі розширені функції DOC ще не підтримуютьсяCheck limitations.md для функцій, які не підтримуються.

FAQ

У чому різниця між DocFileReader і DocPfileReaterCore?

DocFileReaderCore обробляє двояковий аналіз формату OLE2 на низькому рівні. DocFileReader розширює його шляхом додавання до нього to_light_document() метод, що дає повний LDM; Document підходяще для перетворення.

Чи можу я завантажити файл DOC з потоку?

Так, використовуйте. DocFileReaderCore.load_stream(stream) Це корисно для веб-додатків, де файли завантажуються як потоки.

Чи читач DOC обробляє файли, захищені паролем?

Захищений паролем .doc файли не підтримуються. Читач підніме винятковий випадок, якщо файл зашифрований.


Реферат на API

Клас / методDescription
DocFileReaderПовний читач DOC з можливостями створення LDM.
DocFileReader.to_light_document()Перераховує аналізовані дані DOC в LDM-документ
DocFileReaderCoreЧитач ядра для двоякісних файлів Word 97-2003 (.doc)
DocFileReaderCore.load_file(filepath)Завантажити файл DOC з шляху
DocFileReaderCore.load_stream(stream)Завантажити файл DOC з потоку
DocFileReaderCore.load_bytes(data)Завантажити файл DOC з буфера байтів
DocumentFormatReaderПротокольний інтерфейс для всіх читачів документів
create_reader(path)Фабрика, яка повертає правильний читач для розширення файлу

See Also

 Українська