Arbeta med DOC Reader
Arbeta med DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Filtrera . den DocFileReader Klasspars OLE2 binärt format och producerar en Light Document Model (LDM) som kan manipuleras eller konverteras till andra format.
Ladda upp en DOC-fil
Användning DocFileReader att öppna en .doc fil från en disk och konvertera den till en Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")Den Document Konstruktionsdelegater till create_reader(),som väljer DocFileReader automatiskt baserat på .doc förlängning .
Använd DocFileReaderCore direkt
För lägre kontrollnivå, instantiva DocFileReaderCore och kalla dess lastmetoder:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore Det finns tre inputmetoder:
| Method | Inträde typ | Används fallet |
|---|---|---|
load_file(filepath) | Filvägen sträng | Läs från disk |
load_stream(stream) | Filliknande objekt | Läs från upload eller network stream |
load_bytes(data) | bytes | Läs om in-memory buffer |
Bygg en ljusdokumentmodell
Efter laddning, ringa to_light_document() på DocFileReader Att producera 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()LSD är den interna representationen som delas mellan alla läsare (DocFileReader, DocumentReader, TextFileReaderNär du har ett LDM-dokument kan du spara det i något stöds utgångsformat.
DokumentFormatReader protokollet
Alla läsare genomför den DocumentFormatReader protokoll, som definierar det gemensamma gränssnittet: load_file(), load_stream(),och load_bytes(). den create_reader() Fabriksfunktionen returnerar lämplig läsare baserat på filutvidgningen:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Tips och bästa praxis
- Använd hög nivå
Document("file.doc")konstruktor för de flesta arbetsflöden – den hanterar läsarevalet automatiskt. - Användning
DocFileReaderCoreendast när du behöver direkt tillgång till binär parsinglagret. - För filer som mottagits som
bytes(t.ex. från HTTP-upload) föredrar attload_bytes()För att undvika att skriva tillfälliga filer. - DOC-läsaren stöder samma rundtur-troende som DOCX-läraren för text, stycken och grundläggande formatering.
Vanliga frågor
| Issue | Cause | Fixar |
|---|---|---|
load_file() upphöjning FileNotFoundError | Felaktig filvägen | Kontrollera vägen existerar innan du ringer |
| Gärande text efter laddning | Filen är inte en giltig OLE2 binär | Bekräfta att filen är äkta .doc format, inte ett omnamn .docx |
| Saknar format i produktionen | Vissa avancerade DOC-funktioner stöds inte ännu | Check limitations.md För okomplicerade funktioner |
FAQ
Vad är skillnaden mellan DocFileReader och DocfileRaderCore?
DocFileReaderCore Hantera den låga nivå binära parsningen av OLE2-format. DocFileReader utöka den genom att lägga till to_light_document() Metod som producerar en full LDM Document Lämplig för konvertering.
Kan jag ladda en DOC-fil från ett ström?
Ja, använd DocFileReaderCore.load_stream(stream) eller passera ett filliknande objekt. Detta är användbart för webbapplikationer där filer laddas upp som strömmar.
Handlar DOC-läsaren lösenordsskyddade filer?
Passwordskyddad .doc filer stöds inte för närvarande. läsaren kommer att ta ett undantag om filen är krypterad.
API Referens sammanfattning
| Klass / Metod | Beskrivning |
|---|---|
DocFileReader | Full DOC-läsare med LDM byggförmåga |
DocFileReader.to_light_document() | Konverterar parsed DOC-data till ett LDM-dokument |
DocFileReaderCore | Kärnläsare för Word 97-2003 (.doc) binära filer |
DocFileReaderCore.load_file(filepath) | Ladda upp en DOC-fil från en väg |
DocFileReaderCore.load_stream(stream) | Ladda upp en DOC-fil från ett ström |
DocFileReaderCore.load_bytes(data) | Ladda upp en DOC-fil från en byte buffer |
DocumentFormatReader | Protokolgränssnitt för alla dokumentläsare |
create_reader(path) | Fabrik som returnerar rätt läsare för en filutvidgning |