Arbejde med DOC-læser

Arbejde med DOC-læser

Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc - Filerne. DocFileReader klassen analyserer OLE2-binært format og producerer en Light Document Model (LDM), som kan manipuleres eller konverteres til andre formater.


Indlæse en DOC-fil

Anvendelse: DocFileReader at åbne en .doc fil fra disk og konvertere den til en Document:

import aspose.words_foss as aw

doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")

Den Europæiske Union Document konstruktorens delegerede til create_reader(), som udvælger: DocFileReader Det er ikke muligt at få en sådan løsning. .doc forlængelse.


Brug af DocFileReaderCore direkte

For kontrol på lavere niveau instancieret DocFileReaderCore og opkalder dens belastningsmetoder:

from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore

reader = DocFileReaderCore()
reader.load_file("legacy.doc")

DocFileReaderCore giver tre indgangsmetoder:

MetodeIndtastetypeAnvendelsestilfælde
load_file(filepath)FilvejstrækningLæse fra disk
load_stream(stream)Filerlignende objektLæse fra opladning eller netværksstrøm
load_bytes(data)bytesLæse fra buffer i hukommelsen

Opbygning af Light-dokumentmodellen

Efter indlæsning, ring til to_light_document() på: DocFileReader til fremstilling af en 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 er den interne repræsentation, som alle læsere deler (DocFileReader, DocumentReader, TextFileReader) Når man har et LDM-dokument, kan man gemme det i ethvert understøttet udgangsformat.


Dokumentformatslæserprotokollen

Alle læsere gennemfører den fælles holdning. DocumentFormatReader protokol, der definerer den fælles grænseflade: load_file(), load_stream(), og load_bytes().- Det er … create_reader() factory-funktionen returnerer den relevante læser baseret på filudvidelsen:

from aspose.words_foss.reader_factory import create_reader

reader = create_reader("data.doc")  # returns DocFileReader
reader.load_file("data.doc")

Tips og bedste praksis

  • Brug det højt niveau Document("file.doc") Konstruktor for de fleste arbejdsprocesser det håndterer automatisk læservalg.
  • Anvendelse: DocFileReaderCore Kun når du har brug for direkte adgang til binær analyselagen.
  • For filer modtaget som: bytes (f.eks. fra HTTP-optagelser), foretrækker load_bytes() at undgå at skrive midlertidige filer.
  • DOC-læseren understøtter samme returtilstand som DODX-læseren for tekst, afsnit og grundlæggende formatering.

Almindelige problemer

Udgave:Årsagen til detteForklaret
load_file() forhøjelser FileNotFoundErrorFejlspørgningsvejVerificer, at der findes en vej før opkald
Forvrænget tekst efter indlæsningFil er ikke en gyldig OLE2-binær .Bekræft filen er ægte. .doc format, ikke omdøbt .docx
Manglende formatering i outputNogle avancerede DOC-funktioner ikke understøttet endnuKontrollering limitations.md for ikke-understøttede funktioner

FAQ

Hvad er forskellen mellem DocFileReader og DocFiLeaderCore?

DocFileReaderCore håndterer binærparsering på lavt niveau af OLE2-formatet. DocFileReader udvides ved at tilføje den to_light_document() metode, der giver et fuldt LDM Document egnet til omdannelse.

Kan jeg indlæse en DOC-fil fra et stream?

Ja, brug det. DocFileReaderCore.load_stream(stream) Dette er nyttigt for webapplikationer, hvor filer uploades som streams.

Kan DOC-læseren håndtere filer, der er beskyttet med adgangskode?

Passordbeskyttet .doc Hvis filen er krypteret, vil læseren oplyse om en undtagelse.


API-referenceoversigt

Klasse/metodeBeskrivelse:
DocFileReaderFuld DOC-læser med LDM-konstruktionsmulighed
DocFileReader.to_light_document()Konverterer analyserede DOC-data til et LDM-dokument
DocFileReaderCoreCore-læser til Word 97-2003 (.doc) binære filer
DocFileReaderCore.load_file(filepath)Lade en DOC-fil fra et path
DocFileReaderCore.load_stream(stream)Lade en DOC-fil fra et stream
DocFileReaderCore.load_bytes(data)Lade en DOC-fil fra bytesbuffer
DocumentFormatReaderProtokolgrænseflade til alle dokumentlæser
create_reader(path)Fabrik, der returnerer den korrekte læser for en filudvidelse
 Dansk