Trabalhar com o DOC Reader
Trabalhar com o DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Os ficheiros. DocFileReader classe analisa o formato binário OLE2 e produz um Modelo de Documento Légero (LDM) que pode ser manipulado ou convertido para outros formatos.
Carregamento de um ficheiro DOC
Utilização: DocFileReader para abrir um .doc arquivo do disco e convertê-lo em um Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")A Comissão Document delegados do construtor para: create_reader(), que selecciona: DocFileReader O sistema de gestão é automaticamente baseado no .doc extensão.
Usando DocFileReaderCore diretamente
Para controlo de nível inferior, instanciar DocFileReaderCore e chamar os seus métodos de carga:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore fornece três métodos de entrada:
| Método de avaliação | Tipo de entrada | Caso de utilização |
|---|---|---|
load_file(filepath) | String de caminho do arquivo | Leitura de disco |
load_stream(stream) | Objeto tipo arquivo | Leitura a partir de upload ou fluxo de rede |
load_bytes(data) | bytes | Leitura do buffer de memória |
Construção do Modelo de Documentos Light
Após o carregamento, ligar para a rede. to_light_document() em 1 de Setembro de DocFileReader para produzir um 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()O LDM é a representação interna partilhada por todos os leitores (DocFileReader, DocumentReader, TextFileReader) Uma vez que você tem um documento LDM, pode salvá-lo para qualquer formato de saída suportado.
Protocolo do DocumentFormatReader
Todos os leitores aplicam o DocumentFormatReader Protocolo que define a interface comum: load_file(), load_stream(), e load_bytes().O . create_reader() função factory retorna o leitor adequado com base na extensão de arquivo:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Dicas e melhores práticas
- Utilize o nível superior.
Document("file.doc")constructor para a maioria dos fluxos de trabalho ele lida com selecção do leitor automaticamente. - Utilização:
DocFileReaderCoreSó quando precisares de acesso directo à camada de análise binária. - Para os ficheiros recebidos como:
bytes(por exemplo, de carregamentos HTTP), preferemload_bytes()para evitar a escrita de ficheiros temporários. - O leitor DOC suporta a mesma fidelidade de ida e volta do lector DODX para texto, parágrafos e formatação básica.
Problemas comuns
| Emissão | Causa da morte | Correção |
|---|---|---|
load_file() aumentos de valor FileNotFoundError | Percurso de arquivo incorreto | Verificar que o caminho existe antes de ligar |
| Texto confuso após carregamento | Arquivo não é um binário OLE2 válido | Confirme que o ficheiro é genuíno . .doc formato, não um nome de novo .docx |
| Falta de formatação na saída | Alguns recursos avançados do DOC ainda não suportados | Verificação limitations.md para características não suportadas |
FAQ
Qual é a diferença entre o DocFileReader e o docFireReaterCore?
DocFileReaderCore O sistema de análise binária do formato OLE2 é executado em baixo nível. DocFileReader Estende-se acrescentando o artigo 1.°, n.° 1, do Regulamento (CE) n". to_light_document() método que produz uma LDM completa. Document adequado para conversão.
Posso carregar um arquivo DOC de uma corrente?
Sim, usa. DocFileReaderCore.load_stream(stream) Isto é útil para aplicações web onde os arquivos são carregados como streams.
O leitor DOC lida com ficheiros protegidos por senha?
Protegido por senha .doc O leitor irá levantar uma exceção se o arquivo estiver criptografado.
Resumo de referência da API
| Classe / Método | Descrição: |
|---|---|
DocFileReader | Leitora completa de documentos com capacidade para construção LDM |
DocFileReader.to_light_document() | Converte dados DOC analisados para um documento LDM |
DocFileReaderCore | Leitor de núcleo para arquivos binários do Word 97-2003 (.doc) |
DocFileReaderCore.load_file(filepath) | Carregar um arquivo DOC a partir de uma rota |
DocFileReaderCore.load_stream(stream) | Carregar um arquivo DOC de uma corrente |
DocFileReaderCore.load_bytes(data) | Carregar um arquivo DOC a partir de um buffer de bytes |
DocumentFormatReader | Interfaces de protocolo para todos os leitores de documentos |
create_reader(path) | Fábrica que retorna o leitor correto para uma extensão de arquivo |