Εργασία με το DOCX Reader
Εργασία με το DOCX Reader
Η DocumentReader class διαβάζει Office Open XML (.docxΗ Ελλάδα έχει ήδη καταρτίσει ένα πρόγραμμα για την ανάπτυξη της τεχνολογίας του ηλεκτρονικού εξοπλισμού.
Διαβάζοντας ένα αρχείο DOCX
Η απλούστερη προσέγγιση είναι η χρήση του Document κατασκευαστή, ο οποίος επιλέγει αυτόματα: DocumentReader για το .docx αρχεία:
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)Αρχιτεκτονική του DocumentReader
DocumentReader χρησιμοποιεί δύο συνδυασμούς για την κατανομή των αρμοδιοτήτων:
| Συμπερίγραφο | Ο ρόλος |
|---|---|
DocumentReader | Κύριος αναλυτής DOCX διαβάζει τμήματα XML από το πακέτο OPC |
LdmBuilderMixin | Κατασκευάζει το μοντέλο του Light Document από ανάλυση δεδομένων |
ShapeParserMixin | Αναλύει τα στοιχεία σχεδιασμού και διαμόρφωσης που ενσωματώνονται στο έγγραφο. |
Οι τρεις εργάζονται μαζί εσωτερικά. Ενεργοποιείτε το αποτέλεσμα μέσω του συστήματος ελέγχου των επιδόσεων και της τεχνολογίας. Document API.
Εξήγηση κειμένου
Χρήση: get_text() σε φορτισμένο έγγραφο για την εξαγωγή κειμένου χωρίς αποθήκευση σε αρχείο:
import aspose.words_foss as aw
doc = aw.Document("contract.docx")
text = doc.get_text()
print(text[:500])Εργασία με παραγράφους και μορφοποίηση
Πρόσβαση σε ιδιότητες επιπέδου παραγράφου μέσω του 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}")Κάθε ένα. Run μεταφέρει ιδιότητες γραμματοσειράς (περίφρασμα, ιταλικά, μέγεθος, χρώμα) που αναλύθηκαν από το DOCX XML.
Χειραγώγηση Σχημάτων και Εικόνων
Η ShapeParserMixin Τα σχήματα εμφανίζονται στο LDM ως: ShapeNode αντικείμενα εντός περιεχομένου παραγράφου:
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}")Συμβουλές και Καλύτερες Πρακτικές
- Χρήση:
Document("file.docx")για τις τυποποιημένες ροές εργασίας χειρίζεται αυτόματα την επιλογή αναγνώστης, τη επικύρωση πακέτου και την κατασκευή LDM. - Για εισροές που βασίζονται σε ροή (υποβάσεις στο διαδίκτυο), περάστε ένα αντικείμενο σαν αρχείο στην
DocumentΚατασκευαστής. - Για αρχεία με πίνακες, πρόσβαση σε αυτά μέσω του παραρτήματος “Διαβάστε” της ιστοσελίδας.
doc.tablesήdoc.all_tables. - Για τη διαδικασία παρτίδας, επαναχρησιμοποιήστε την ίδια διαδικασία Python για να αποφευχθεί η επανάληψη των επιπλέον δαπανών εισαγωγής.
Κοινά ζητήματα
| Επισκόπηση | Αιτία | Επανόρθωση |
|---|---|---|
| Δεν φορτώνεται αρχείο (εξαίρεση) | Κατεστραμμένο ή ελλιπές αρχείο ZIP | Επαλήθευσε ότι το αρχείο είναι έγκυρο . .docx (Κατά βάση ZIP πακέτο OPC) |
| Ελλείψεις εικόνων στην έξοδο | Μέρη εικόνας που δεν είναι ενσωματωμένα στην συσκευασία | Ελέγξτε εάν το DOCX περιέχει ενσωματωμένες (μη συνδεδεμένες) εικόνες. |
| Λείπει περιεχόμενο στην παραγωγή | Απαιτούμενα τμήματα XML που λείπουν από το πακέτο | Το αρχείο μπορεί να συντριβεί· επανεκπομπή από την εφαρμογή προέλευσης. |
FAQ
Τι είναι το μοντέλο ελαφρού εγγράφου (LDM);?
Το LDM είναι η εσωτερική αναπαράσταση που μοιράζεται σε όλους τους αναγνώστες. Αποκλείει λεπτομέρειες ειδικής μορφής (OPC XML, OLE2 δυαδικό) σε μια κοινή δομή τμημάτων, παραγράφων, τρέχων, πινάκων και σχημάτων.
Μπορεί το DocumentReader να χειριστεί αρχεία DOCM (με δυνατότητα μακροστοιχίας);?
Ενεργοποιημένη μακροστοιχία .docm Το πρόγραμμα αναγνώρισης μπορεί να αναλύσει το περιεχόμενο του εγγράφου, αλλά οι μακρογραφίες δεν διατηρούνται ή εκτελούνται.
Πώς χειρίζεται ο αναγνώστης μεγάλα έγγραφα;?
Ο αναγνώστης επεξεργάζεται τα τμήματα XML διαδοχικά. Η χρήση μνήμης κλιμακώνεται με το μέγεθος του εγγράφου. Για πολύ μεγάλα έγγραφα, εξετάστε την επεξηγημένη ενότητα ξεχωριστά.
Συνοπτική αναφορά API
| Τάξη / Μέθοδος | Περιγραφή: |
|---|---|
DocumentReader | Διαβάζει έγγραφα DOCX και παράγει αφηρημένες δομές δεδομένων. |
LdmBuilderMixin | Μέθοδοι κατασκευής του μοντέλου φωτεινών εγγράφων που παρέχουν το μείγμα |
ShapeParserMixin | Συμπλέγματα που παρέχουν μεθόδους σχεδιασμού/διαλογής σχημάτων |
Document | Αντιπροσωπεύει ένα έγγραφο Word (η ρίζα LDM) |
create_reader(path) | Εργοστάσιο που επιστρέφει το σωστό αναγνώστη για μια επέκταση αρχείου |