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:
| Metode | Indtastetype | Anvendelsestilfælde |
|---|---|---|
load_file(filepath) | Filvejstrækning | Læse fra disk |
load_stream(stream) | Filerlignende objekt | Læse fra opladning eller netværksstrøm |
load_bytes(data) | bytes | Læ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:
DocFileReaderCoreKun når du har brug for direkte adgang til binær analyselagen. - For filer modtaget som:
bytes(f.eks. fra HTTP-optagelser), foretrækkerload_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 dette | Forklaret |
|---|---|---|
load_file() forhøjelser FileNotFoundError | Fejlspørgningsvej | Verificer, at der findes en vej før opkald |
| Forvrænget tekst efter indlæsning | Fil er ikke en gyldig OLE2-binær . | Bekræft filen er ægte. .doc format, ikke omdøbt .docx |
| Manglende formatering i output | Nogle avancerede DOC-funktioner ikke understøttet endnu | Kontrollering 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/metode | Beskrivelse: |
|---|---|
DocFileReader | Fuld DOC-læser med LDM-konstruktionsmulighed |
DocFileReader.to_light_document() | Konverterer analyserede DOC-data til et LDM-dokument |
DocFileReaderCore | Core-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 |
DocumentFormatReader | Protokolgrænseflade til alle dokumentlæser |
create_reader(path) | Fabrik, der returnerer den korrekte læser for en filudvidelse |