Lavorare con DOC Reader
Lavorare con DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc I documenti. DocFileReader la classe analizza il formato binario OLE2 e produce un Light Document Model (LDM) che può essere manipolato o convertito in altri formati.
Caricamento di un file DOC
Utilizzo: DocFileReader per aprire un .doc file da disco e convertire in un Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")Il Consiglio ha adottato: Document delegati del costruttore a: create_reader(), che seleziona: DocFileReader La Commissione ha adottato una decisione del Consiglio in data 22 luglio. .doc - Prolungamento.
Utilizzare DocFileReaderCore direttamente
Per il controllo di livello inferiore, istanziare: DocFileReaderCore e chiamare i suoi metodi di carico:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore fornisce tre metodi di input:
| Metodo di valutazione | Tipo di input | Caso d’uso |
|---|---|---|
load_file(filepath) | Stringa del percorso file | Leggere dal disco |
load_stream(stream) | Oggetto tipo file | Leggere dall’upload o dal flusso di rete |
load_bytes(data) | bytes | Leggere dal buffer in-memory |
Costruire il modello di documento leggero
Dopo il caricamento, chiamare to_light_document() in cui: DocFileReader per produrre un 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()L’LDM è la rappresentazione interna condivisa tra tutti i lettori (DocFileReader, DocumentReader, TextFileReader) Una volta che si dispone di un documento LDM, è possibile salvarlo in qualsiasi formato di uscita supportato.
Il protocollo DocumentFormatReader
Tutti i lettori applicano la direttiva. DocumentFormatReader protocollo che definisce l’interfaccia comune: load_file(), load_stream(), e load_bytes().- Il … create_reader() funzione factory restituisce il lettore appropriato basato sull’estensione del file:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Suggerimenti e migliori pratiche
- Utilizzare l’ alto livello di
Document("file.doc")gestisce automaticamente la selezione del lettore. - Utilizzo:
DocFileReaderCoreSolo quando hai bisogno di accesso diretto al livello di analisi binaria. - Per i file ricevuti come:
bytes(ad esempio, da caricazioni HTTP), preferireload_bytes()per evitare di scrivere file temporanei. - Il lettore DOC supporta la stessa fedeltà di andata e ritorno del letture DODX per testo, paragrafi e formattazione di base.
Problemi comuni
| Numero di pubblicazione | Causa di morte | Rettifica |
|---|---|---|
load_file() aumento di reddito FileNotFoundError | Strada di file non corretta | Verificare l’ esistenza del percorso prima di chiamare |
| Testo confuso dopo il caricamento | Il file non è un binario OLE2 valido . | Conferma che il file è autentico. .doc formato, non un nome in nuovo .docx |
| Manca la formattazione in uscita | Alcune funzionalità avanzate DOC non supportate ancora | Controllo limitations.md per caratteristiche non supportate |
FAQ
Qual è la differenza tra DocFileReader e DocFiLeaderCore?
DocFileReaderCore gestisce l’analisi binaria a basso livello del formato OLE2. DocFileReader si estende aggiungendo il to_light_document() metodo che produce un’LDM completa. Document idoneo per la conversione.
Posso caricare un file DOC da una stream?
Sì, usate. DocFileReaderCore.load_stream(stream) Questo è utile per le applicazioni web in cui i file vengono caricati come stream.
Il lettore DOC gestisce i file protetti da password?
Protezione con password .doc Il lettore solleverà un’eccezione se il file è crittografato.
Riassunto di riferimento API
| Classe / metodo | Descrizione |
|---|---|
DocFileReader | Legatore DOC completo con capacità di costruzione LDM |
DocFileReader.to_light_document() | Converte i dati DOC analizzati in un documento LDM |
DocFileReaderCore | Core reader per file binari di Word 97-2003 (.doc) |
DocFileReaderCore.load_file(filepath) | Caricare un file DOC da una traccia |
DocFileReaderCore.load_stream(stream) | Caricare un file DOC da una corrente |
DocFileReaderCore.load_bytes(data) | Caricare un file DOC da un buffer di bytes |
DocumentFormatReader | Interfaccia di protocollo per tutti i lettori di documenti |
create_reader(path) | Fabbrica che restituisce il lettore corretto per un’estensione di file |