Mit DOC Reader arbeiten

Mit DOC Reader arbeiten

Die DocumentReader Die Formate des Open XML (.docx) Dateien und produziert eine abstrakte Datenstruktur – das Light Document Model (LDM). Es verarbeitet Paragrafen, Tabellen, Formen, Bilder und Formatierung, die Inhalte zur Verfügung stellen für Manipulation oder Konvertierung.


Lesen Sie ein DOCX-Datei

Der einfachste Ansatz ist die Verwendung der Document Konstruktor, der automatisch wählt DocumentReader Für .docx Dateien zu:

import aspose.words_foss as aw

doc = aw.Document("input.docx")
print(f"Sections: {len(doc.sections)}")
for para in doc.all_paragraphs:
    print(para.text)

Architektur des DocumentReader

DocumentReader Sie verwenden zwei Mischungen, um Verantwortung zu teilen:

KomponentenRolle
DocumentReaderHauptdokx-Parser – Lesen von XML-Delemente aus dem OPC-Paket
LdmBuilderMixinErstellt das Lichtdokumentmodell aus parsed Daten
ShapeParserMixinParse Zeichnen und Gestalten von Elementen, die in das Dokument eingebettet sind

Alle drei arbeiten intern zusammen – Sie interagieren mit dem Ergebnis durch die Document API.


Text extrahieren

Gebrauch get_text() auf einem hochgeladenen Dokument, um reiches Text ohne Speicherung in eine Datei zu extrahieren:

import aspose.words_foss as aw

doc = aw.Document("contract.docx")
text = doc.get_text()
print(text[:500])

Arbeiten mit Paragrafen und Formatering

Zugang zu Paragraph-Level-Eigenschaften durch die LDM:

import aspose.words_foss as aw

doc = aw.Document("styled.docx")
for para in doc.all_paragraphs:
    for run in para.runs:
        if run.font.bold:
            print(f"Bold: {run.text}")

Jeder Run trägt die Schrift Eigenschaften (Bold, italic, Größe, Farbe), die aus dem DOCX XML vertrieben wurden.


Verarbeitung von Formen und Bilder

Die ShapeParserMixin extrakten Zeichnung Elemente während der Parsing. Formen erscheinen in der LDM als ShapeNode Gegenstände im Sinne des Absatzes:

import aspose.words_foss as aw

doc = aw.Document("with-images.docx")
for para in doc.all_paragraphs:
    for node in para.content_sequence:
        if hasattr(node, 'shape_type'):
            print(f"Shape: {node.shape_type}")

Tipps und beste Praktiken

  • Gebrauch Document("file.docx") für Standard-Workflows – es verwalt die Leserwahl, die Packungs validierung und die LDM-Konstruktion automatisch.
  • Für Stream-basierte Einträge (Web-Upload), übertragen Sie ein Datei-like-Objekt auf Document Der Konstrukteur.
  • Für Dateien mit Tabellen, können Sie sie über doc.tables oder doc.all_tables.
  • Für die Batch-Verarbeitung verwenden Sie den gleichen Python-Prozess erneut, um wiederholte Import-Überhöhungen zu vermeiden.

Gemeinsame Probleme

ThemaUrsacheFix
Datei nicht laden (Ausnahme)Korrupte oder unvollständige ZIP-ArchiveÜberprüfen Sie, ob das Datei gültig ist .docx (ZIP-basierte OPC-Paket
Vermisst Bilder in der ProduktionBildteile, die nicht in das Paket eingebettet sindÜberprüfen Sie, ob DOCX eingebaut (nicht verbunden) Bilder enthält
Fehlende Inhalte in der ProduktionXML-Dienstleistungen, die aus dem Paket fehlenDie Datei kann verblüffert werden; neu aus der Quellanwendung exportiert

FAQ

Was ist das Lichtdokumentmodell (LDM)?

Die LDM ist die interne Vertretung, die in allen Lesern geteilt wird. Es abstraktiert Format-spezifische Details (OPC XML, OLE2 binär) in eine gemeinsame Struktur von Abschnitte, Absätze, Runden, Tabellen und Formen.

Kann DocumentReader DOCM (Macro-fähige) Dateien verwalten?

Macro-fähig .docm Die Dateien verwenden die gleiche OPC-Struktur. Der Leser kann die Dokumenteinhalte verfassen, aber die Makro werden nicht beibehalten oder ausgeführt.

Wie verarbeitet der Leser große Dokumente?

Der Leser verarbeitet die XML-Parteien sequentiell. Speicher-Nutzungsstufen mit Dokumentgröße. Für sehr große Dokumente, berücksichtigen Sie die Verarbeitungssektionen individuell.


API Referenzabschnitt

Klasse / MethodeBeschreibung
DocumentReaderLesen DOCX-Dokumente und produzieren abstrakte Datenstrukturen
LdmBuilderMixinMixin bietet Lichtdokument Modelle Konstruktionsmethoden
ShapeParserMixinMixin bietet Zeichnung/Form Parsing Methoden
DocumentVertretung eines Word-Dokuments (die LDM-Röhr)
create_reader(path)Fabrik, die den richtigen Leser für eine Dateierweiterung zurückgibt
 Deutsch