Bekerja dengan DOC Reader
Bekerja dengan DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Berkas-berkas itu. DocFileReader kelas menganalisis format biner OLE2 dan menghasilkan Light Document Model (LDM) yang dapat dimanipulasi atau dikonversi ke format lain.
Mengunggah File DOC
Penggunaan DocFileReader untuk membuka sebuah .doc file dari disk dan mengkonversi ke sebuah Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")Pengelolaan Document delegasi konstruktor untuk create_reader(), yang memilih DocFileReader secara otomatis berdasarkan pada .doc perpanjangan.
Menggunakan DocFileReaderCore secara langsung
Untuk kontrol tingkat rendah, instansiate DocFileReaderCore dan memanggil metode beban:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore memberikan tiga metode input:
| Metode | Jenis input | Kasus penggunaan |
|---|---|---|
load_file(filepath) | File path string | Membaca dari disk |
load_stream(stream) | Obyek seperti file | Membaca dari upload atau jaringan stream |
load_bytes(data) | bytes | Membaca dari buffer in-memori |
Membangun Model Dokumen Ringan
Setelah loading, telepon to_light_document() pada tanggal: DocFileReader untuk menghasilkan 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 adalah representasi internal yang dibagi di semua pembaca (DocFileReader, DocumentReader, TextFileReader). Setelah Anda memiliki dokumen LDM, Anda dapat menyimpannya ke format output yang didukung.
Protokol DocumentFormatReader
Semua pembaca menerapkan DocumentFormatReader Protokol, yang mendefinisikan antarmuka umum: load_file(), load_stream(), dan load_bytes().- Aku tidak tahu. create_reader() fungsi factory mengembalikan pembaca yang sesuai berdasarkan ekstensi file:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Tips dan Praktik Terbaik
- Gunakan tingkat tinggi
Document("file.doc")Konstruktor untuk sebagian besar alur kerja memanipulasi pemilihan pembaca secara otomatis. - Penggunaan
DocFileReaderCorehanya ketika Anda membutuhkan akses langsung ke lapisan biner parsing. - Untuk file yang diterima sebagai:
bytes(misalnya, dari upload HTTP), lebih sukaload_bytes()untuk menghindari menulis file sementara. - Pembaca DOC mendukung kesetiaan perjalanan yang sama dengan pembaca DODX untuk teks, paragraf, dan pemformatan dasar.
Masalah Umum
| Isu | Penyebabnya | Perbaiki |
|---|---|---|
load_file() kenaikan FileNotFoundError | Jalur file yang salah | Periksa jalur sebelum menelepon |
| Teks yang tergores setelah dimuat | File bukan biner OLE2 yang valid | Konfirmasi file itu asli. .doc format, bukan nama ulang .docx |
| Format yang hilang pada output | Beberapa fitur DOC canggih belum didukung | Periksa limitations.md untuk fitur yang tidak didukung |
FAQ
Apa perbedaan antara DocFileReader dan DocPfileReaterCore?
DocFileReaderCore menangani analisis biner tingkat rendah dari format OLE2. DocFileReader memperpanjangnya dengan menambahkan to_light_document() metode yang menghasilkan LDM penuh. Document cocok untuk konversi.
Bisakah saya memuat file DOC dari stream?
Ya, gunakan. DocFileReaderCore.load_stream(stream) Ini berguna untuk aplikasi web di mana file dimuat sebagai stream.
Apakah pembaca DOC menangani file yang dilindungi kata sandi?
Dilindungi kata sandi .doc file tidak didukung saat ini. Pembaca akan mengangkat pengecualian jika file dienkripsi.
Ringkasan Referensi API
| Kelas / Metode | Deskripsi |
|---|---|
DocFileReader | Pembaca DOC penuh dengan kemampuan membangun LDM |
DocFileReader.to_light_document() | Mengkonversi data DOC yang diuraikan ke LDM Document |
DocFileReaderCore | Pembaca inti untuk file biner Word 97-2003 (.doc) |
DocFileReaderCore.load_file(filepath) | Mengunggah file DOC dari path |
DocFileReaderCore.load_stream(stream) | Mengunggah file DOC dari stream |
DocFileReaderCore.load_bytes(data) | Mengunggah file DOC dari buffer byte |
DocumentFormatReader | Antarmuka protokol untuk semua pembaca dokumen |
create_reader(path) | Pabrik yang mengembalikan pembaca yang benar untuk ekstensi file |