Làm việc với DOC Reader
Làm việc với DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc file. là DocFileReader lớp phân phối định dạng nhị phân OLE2 và sản xuất một mô hình tài liệu ánh sáng (LDM) có thể được thao tác hoặc chuyển đổi sang các định vị khác.
tải file DOC
Sử dụng DocFileReader để mở a .doc file từ đĩa và chuyển đổi nó thành một Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")Các Document Nhà sản xuất đại diện cho create_reader(), mà chọn DocFileReader Tự động dựa trên .doc mở rộng .
Sử dụng DocFileReaderCore trực tiếp
- Đối với kiểm soát cấp thấp, ngay lập tức
DocFileReaderCoreVà gọi phương pháp tải của nó:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore Nó cung cấp ba phương pháp nhập:
| Method | Loại nhập khẩu | Sử dụng trường hợp |
|---|---|---|
load_file(filepath) | File Path String - Đường dẫn file | Đọc từ đĩa |
load_stream(stream) | File-like đối tượng | Đọc từ upload hoặc network stream |
load_bytes(data) | bytes | Đọc từ in-memory buffer |
Xây dựng mô hình tài liệu ánh sáng
Sau khi tải, gọi điện thoại to_light_document() trên DocFileReader Để sản xuất 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()Mã sản phẩm là một trong những bài viết được chia sẻ giữa tất cả các nhà đọc (DocFileReader, DocumentReader, TextFileReaderMột khi bạn có một tài liệu LDM, bạn sẽ có thể lưu nó vào bất kỳ định dạng phát hành được hỗ trợ.
Thông tin về DocumentFormatReader Protocol
Tất cả các độc giả thực hiện DocumentFormatReader Protocol, định nghĩa giao diện chung: load_file(), load_stream(), và load_bytes().The create_reader() chức năng nhà máy trả về người đọc thích hợp dựa trên phần mở rộng tệp:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Mẹo và Thực hành Tốt nhất
- Sử dụng cấp độ cao
Document("file.doc")nhà xây dựng cho hầu hết các dòng công việc - nó tự động xử lý sự lựa chọn của người đọc. - Sử dụng
DocFileReaderCoreChỉ khi bạn cần truy cập trực tiếp vào lớp phân phối nhị phân. - Đối với các tập tin được nhận như
bytes(ví dụ, từ HTTP upload), thíchload_bytes()Tránh viết tệp tạm thời. - DOC Reader hỗ trợ cùng độ trung thành vòng tròn như DOCX Reater cho văn bản, đoạn và định dạng cơ bản.
Các vấn đề thường gặp
| Issue | Cause | Fix Đặt |
|---|---|---|
load_file() Lớn lên FileNotFoundError | Đường file sai | Kiểm tra đường có mặt trước khi gọi điện thoại |
| Text sau khi tải | File không phải là một OLE2 binary hợp lệ. | xác nhận file là thực sự .doc định dạng, không phải tên gọi .docx |
| Thiếu định dạng trong sản xuất | Một số tính năng DOC nâng cao chưa được hỗ trợ | Check limitations.md Đối với các tính năng không hỗ trợ |
FAQ
Sự khác biệt giữa DocFileReader và DocfileRaderCore là gì?
DocFileReaderCore xử lý các phân vùng nhị phân cấp thấp của định dạng OLE2. DocFileReader Tăng thêm bằng cách thêm vào to_light_document() Phương pháp tạo ra một LDM đầy đủ Document Tùy chỉnh cho chuyển đổi.
Tôi có thể tải một tập tin DOC từ dòng không?
Có. sử dụng DocFileReaderCore.load_stream(stream) hoặc đi qua một đối tượng giống như tệp. Điều này hữu ích cho các ứng dụng web nơi tách tắt tông tin là dòng.
DOC Reader có xử lý các tệp được bảo vệ bằng mật khẩu không?
mật khẩu bảo vệ .doc file không được hỗ trợ hiện tại. người đọc sẽ đưa ra một ngoại lệ nếu tệp được mã hóa.
Tóm tắt Tham chiếu API
| Class / Phương pháp | Description |
|---|---|
DocFileReader | Đọc đầy đủ DOC với khả năng xây dựng LDM |
DocFileReader.to_light_document() | Chuyển đổi dữ liệu DOC parsed thành một tài liệu LDM |
DocFileReaderCore | Đọc Core cho Word 97-2003 (.doc) tệp nhị phân |
DocFileReaderCore.load_file(filepath) | Tải file DOC từ một con đường |
DocFileReaderCore.load_stream(stream) | Tải file DOC từ một dòng |
DocFileReaderCore.load_bytes(data) | Tải về một tập tin DOC từ buffer byte |
DocumentFormatReader | Giao diện giao thức cho tất cả các độc giả tài liệu |
create_reader(path) | Nhà máy trả về người đọc chính xác cho một phần mở rộng tệp |