Trabalhar com o DOC Reader

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çãoTipo de entradaCaso de utilização
load_file(filepath)String de caminho do arquivoLeitura de disco
load_stream(stream)Objeto tipo arquivoLeitura a partir de upload ou fluxo de rede
load_bytes(data)bytesLeitura 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: DocFileReaderCore Só quando precisares de acesso directo à camada de análise binária.
  • Para os ficheiros recebidos como: bytes (por exemplo, de carregamentos HTTP), preferem load_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ãoCausa da morteCorreção
load_file() aumentos de valor FileNotFoundErrorPercurso de arquivo incorretoVerificar que o caminho existe antes de ligar
Texto confuso após carregamentoArquivo não é um binário OLE2 válidoConfirme que o ficheiro é genuíno . .doc formato, não um nome de novo .docx
Falta de formatação na saídaAlguns recursos avançados do DOC ainda não suportadosVerificaçã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étodoDescrição:
DocFileReaderLeitora completa de documentos com capacidade para construção LDM
DocFileReader.to_light_document()Converte dados DOC analisados para um documento LDM
DocFileReaderCoreLeitor 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
DocumentFormatReaderInterfaces de protocolo para todos os leitores de documentos
create_reader(path)Fábrica que retorna o leitor correto para uma extensão de arquivo
 Português