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:

MetodeJenis inputKasus penggunaan
load_file(filepath)File path stringMembaca dari disk
load_stream(stream)Obyek seperti fileMembaca dari upload atau jaringan stream
load_bytes(data)bytesMembaca 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 DocFileReaderCore hanya ketika Anda membutuhkan akses langsung ke lapisan biner parsing.
  • Untuk file yang diterima sebagai: bytes (misalnya, dari upload HTTP), lebih suka load_bytes() untuk menghindari menulis file sementara.
  • Pembaca DOC mendukung kesetiaan perjalanan yang sama dengan pembaca DODX untuk teks, paragraf, dan pemformatan dasar.

Masalah Umum

IsuPenyebabnyaPerbaiki
load_file() kenaikan FileNotFoundErrorJalur file yang salahPeriksa jalur sebelum menelepon
Teks yang tergores setelah dimuatFile bukan biner OLE2 yang validKonfirmasi file itu asli. .doc format, bukan nama ulang .docx
Format yang hilang pada outputBeberapa fitur DOC canggih belum didukungPeriksa 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 / MetodeDeskripsi
DocFileReaderPembaca DOC penuh dengan kemampuan membangun LDM
DocFileReader.to_light_document()Mengkonversi data DOC yang diuraikan ke LDM Document
DocFileReaderCorePembaca 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
DocumentFormatReaderAntarmuka protokol untuk semua pembaca dokumen
create_reader(path)Pabrik yang mengembalikan pembaca yang benar untuk ekstensi file
 Bahasa Indonesia