Δημιουργία ενός μοντέλου εγγράφου φωτός με το DocumentReader

Δημιουργία ενός μοντέλου εγγράφου φωτός με το DocumentReader

Δημιουργία ενός μοντέλου εγγράφου φωτός με το DocumentReader

DocumentReader είναι το σημείο εισόδου για την ανάγνωση αρχείων DOCX στο Aspose.Words FOSS. Αποδέχεται την εισαγωγή ως διαδρομή αρχείου, ροή I/O ή πρώτες bytes και στη συνέχεια εκθέτει το Το έγγραφο ως α light_document_model.Document (LDM) - ένα δομημένο αντικείμενο Python Ένα δέντρο που είναι εύκολο να εξεταστεί και να μεταμορφωθεί.


Προϋποθέσεις

ΑΠΑΙΤΗΣΕΙΣΛεπτομέρειες
Python3.9 or later
Πακέτοaspose-words-foss (Επίσημη από το ΜΜΕ)
εισαγωγώνΑ .docx αρχείο, ροή ή bytes
pip install aspose-words-foss

Κατεβάστε από ένα αρχείο δρόμο

DocumentReader.load_file(filepath) Διαβάστε ένα αρχείο DOCX ανά διαδρομή. to_light_document() Αργότερα, θα αποκτήσουν την εκπροσώπηση της LDM.

from aspose.words_foss import DocumentReader

reader = DocumentReader()
reader.load_file("data/report.docx")
doc = reader.to_light_document()

print("Page count:", doc.page_count)
print("Sections:", len(doc.sections))

Κατεβάστε από ένα ρεύμα

DocumentReader.load_stream(stream) Αποδέχεται οποιοδήποτε αντικείμενο όπως το αρχείο με ένα read() Αυτό είναι χρήσιμο για τα δεδομένα που προέρχονται από απαντήσεις HTTP, αρχεία ZIP ή Μνημεία του Μπουφέ.

from aspose.words_foss import DocumentReader

reader = DocumentReader()
with open("data/report.docx", "rb") as fh:
    reader.load_stream(fh)

doc = reader.to_light_document()
print("Paragraphs:", len(doc.all_paragraphs))

Κατεβάστε από το Bytes

DocumentReader.load_bytes(data) Αποδέχεται το A bytes ή bytearray Στόχος: Χρήση Αυτό συμβαίνει όταν το περιεχόμενο του DOCX είναι ήδη στη μνήμη (π.χ. καταχωρισμένο από βάση δεδομένων) ή προγραμματισμένα.

from aspose.words_foss import DocumentReader

with open("data/report.docx", "rb") as fh:
    data = fh.read()

reader = DocumentReader()
reader.load_bytes(data)
doc = reader.to_light_document()
print("Text preview:", doc.text[:200])

Ναυτιλία της δομής LDM

Μετά την κλήση to_light_document(),Η επιστροφή του Document Το αντικείμενο εκθέτει το Πλήρης έκθεση του δέντρου:

from aspose.words_foss import DocumentReader

reader = DocumentReader()
reader.load_file("data/report.docx")
doc = reader.to_light_document()

# Sections
for section in doc.sections:
    print("Section paragraphs:", len(section.paragraphs))

# All paragraphs (flat list across all sections)
for para in doc.all_paragraphs:
    if para.text.strip():
        print(" -", para.text[:80])

# Headings
for heading in doc.headings(max_level=2):
    print("H:", heading.text)

Διαβάστε το πλήρες κείμενο του εγγράφου

Document.text επιστρέφει το πλήρες περιεχόμενο του εγγράφου, Συμπληρώνοντας το κείμενο των παραγράφων σε όλες τις ενότητες:

reader = DocumentReader()
reader.load_file("data/report.docx")
doc = reader.to_light_document()
print(doc.text[:500])

Συμβουλές και βέλτιστες πρακτικές

  • Πάντα καλέστε load_file(), load_stream()load_bytes() Πριν καλέσει to_light_document() - Καλέστε to_light_document() Σε έναν ανανεωμένο αναγνώστη Μπορεί να προκαλέσει σφάλμα ή να επιστρέψει ένα κενό έγγραφο.
  • Χρησιμοποιήστε load_bytes() όταν ελέγχετε τον κύκλο ζωής του εγγράφου στη μνήμη, αποφεύγεται η Ανοίγοντας τα αρχεία.
  • Χρησιμοποιήστε doc.all_paragraphs για μια επίπεδη ιθερά πάνω από όλες τις παραγράφους· χρήση doc.sections Όταν χρειάζεται να εργαστείτε τμήμα-κατά τμήματα.
  • DocumentReader Εφαρμογές LdmBuilderMixin, που σημαίνει to_light_document() Διατίθεται ως μέθοδος μίξης - η ίδια διεπαφή κοινοποιείται με άλλους αναγνώστες. Μαθήματα στη βιβλιοθήκη.

κοινά ζητήματα

ΘέμαΑιτίαΦΙΛΕΞΗ
Αδειά doc.sections Μετά το φορτίοΤο αρχείο δεν είναι έγκυρο DOCX.Ελέγξτε το αρχείο ανοίγει στο Word, ελέγξουμε ότι δεν προστατεύεται από κωδικό πρόσβασης.
doc.all_paragraphs Είναι άδειοΤο έγγραφο δεν έχει κείμενο σώματος (π.χ. μόνο κεφαλές/ποδούς)Ελέγξτε doc.header_paragraphs και doc.footer_paragraphs Αντί να
AttributeError Ο ΣΕ to_light_document()Η μέθοδος φόρτωσης δεν καλείται πριν από τη μετατροπήΚαλέστε ένα από τα load_file(), load_stream()load_bytes() Πρώτα

FAQ

Τι είναι το LDM;?

Το μοντέλο ετικέτας (light_document_model.DocumentΕίναι μια αφηρημένη, Το δέντρο αντικειμένων Python που αντιπροσωπεύει ένα έγγραφο Word. Διαχωρίζει τη λογική του εγγράφου Το DOCX είναι ένα δυαδικό μορφότυπο και έχει σχεδιαστεί για εύκολη προγραμματική χειραγώγηση.

Μπορώ να τροποποιήσω το LDM και να το γράψω πίσω στο DOCX;?

Μετά την τροποποίηση του doc Στόχος, να το περάσει στο LdmDocxWriter.write(doc, path) Για να δημιουργήσετε ένα ενημερωμένο αρχείο DOCX. δείτε το Οδηγός του LdmDocxWriter Για λεπτομέρειες.

Τι κάνει LdmBuilderMixin προσθέτει;?

LdmBuilderMixin Παρέχει το to_light_document() Μεθοδολογία . DocumentReader κληρονομιά από αυτό, έτσι ώστε να έχετε πάντα πρόσβαση σε αυτή τη μέθοδο μέσω της παραδείγματος του αναγνώστη.


Συνοπτική αναφορά API

Κλάση / ΜέθοδοςΠεριγραφή
DocumentReaderΔιαβάζει την εισαγωγή DOCX και δημιουργεί την LDM αντιπροσωπεία
DocumentReader.load_file(filepath)Κατεβάστε ένα αρχείο DOCX ανά διαδρομή
DocumentReader.load_stream(stream)Κατεβάστε από ένα αρχείο-όπως ροή
DocumentReader.load_bytes(data)Κατεβάζει από το A bytes αντικείμενο
DocumentReader.to_light_document()Επιστρέφει το φορτισμένο έγγραφο ως LDM Document
LdmBuilderMixinΜίγμα που παρέχει to_light_document()
Document.sectionsΚατάλογος των ενόδων στο έγγραφο
Document.all_paragraphsΠλήρης λίστα όλων των παραγράφων
Document.textΠλήρης κείμενο του εγγράφου
Document.page_countΑριθμός σελίδων
Document.headings(max_level)Κατάλογος των παραγράφων προς τα πάνω max_level

Δείτε επίσης

 Ελληνικά