Εργασία με το DOC Reader
Εργασία με το DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Τα αρχεία. DocFileReader Η κατηγορία αναλύει τη δυαδική μορφή OLE2 και παράγει ένα μοντέλο ελαφρού εγγράφου (LDM) που μπορεί να χειριστεί ή μετατραπεί σε άλλες μορφές.
Εισάγετε αρχείο DOC
Χρήση: DocFileReader για να ανοίξει ένα .doc αρχείο από δίσκο και να το μετατρέψετε σε ένα Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")Η Document εκπροσώπους κατασκευαστή για την create_reader(), η οποία επιλέγει: DocFileReader αυτόματα με βάση το .doc - Επεκτάσεις.
Χρησιμοποιώντας απευθείας το DocFileReaderCore
Για τον έλεγχο χαμηλότερου επιπέδου, εκτοπίστε το: DocFileReaderCore και καλεί τις μεθόδους φορτίου:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore παρέχει τρεις μεθόδους εισόδου:
| Μέθοδος | Τύπος εισόδου | Χρήση περίπτωση |
|---|---|---|
load_file(filepath) | Διάδρομος αρχείου: | Διαβάστε από δίσκο . |
load_stream(stream) | Αντικείμενο τύπου αρχείου | Διαβάστε από την αποστολή ή το ρεύμα δικτύου |
load_bytes(data) | bytes | Διαβάστε από το μπουφέ της ενδομνήμης . |
Κατασκευή του μοντέλου Light Document
Μετά την φόρτωση, καλέστε το to_light_document() στις: DocFileReader για την παραγωγή 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 είναι η εσωτερική αναπαράσταση που μοιράζεται μεταξύ όλων των αναγνωστών (DocFileReader, DocumentReader, TextFileReader) Μόλις έχετε ένα έγγραφο LDM, μπορείτε να το αποθηκεύσετε σε οποιαδήποτε υποστηριζόμενη μορφή εξόδου.
Το πρωτόκολλο DocumentFormatReader
Όλες οι αναγνώστες εφαρμόζουν το DocumentFormatReader πρωτόκολλο, το οποίο ορίζει την κοινή διεπαφή: load_file(), load_stream(), και load_bytes().- Το . create_reader() Η λειτουργία factory επιστρέφει το κατάλληλο αναγνώστη βάσει της επέκτασης αρχείου:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Συμβουλές και Καλύτερες Πρακτικές
- Χρησιμοποιήστε το υψηλό επίπεδο
Document("file.doc")χειρίζεται αυτόματα την επιλογή του αναγνώστη. - Χρήση:
DocFileReaderCoreΜόνο όταν χρειάζεστε άμεση πρόσβαση στο διπλό επίπεδο ανάλυσης. - Για τα αρχεία που λαμβάνονται ως:
bytes(π.χ., από HTTP uploads), προτιμούνload_bytes()για να αποφύγουμε τη συγγραφή προσωρινών αρχείων. - Ο αναγνώστης DOC υποστηρίζει την ίδια πιστότητα επιστροφής-επιστροπής με τον αναγεννήτη DODX για κείμενο, παραγράφους και βασική μορφοποίηση.
Κοινά ζητήματα
| Επισκόπηση | Αιτία | Επανόρθωση |
|---|---|---|
load_file() αυξήσεις FileNotFoundError | Λάθος διαδρομή αρχείου | Επαλήθευσε ότι υπάρχει η διαδρομή πριν καλέσεις . |
| Διαστρεβλωμένο κείμενο μετά την φόρτωση | Το αρχείο δεν είναι έγκυρο δυαδικό OLE2 . | Επιβεβαιώστε ότι το αρχείο είναι γνήσιο. .doc Σχήμα, όχι μετονομάζεται σε: .docx |
| Λείπει μορφοποίηση στην έξοδο | Ορισμένες προηγμένες λειτουργίες DOC δεν υποστηρίζονται ακόμα | Τσεκ. limitations.md για μη υποστηριζόμενα χαρακτηριστικά |
FAQ
Ποια είναι η διαφορά μεταξύ του DocFileReader και του docFireReaterCore;?
DocFileReaderCore χειρίζεται τη διπλή ανάλυση χαμηλού επιπέδου του μορφότυπου OLE2. DocFileReader Επεκτείνεται προσθέτοντας το to_light_document() μέθοδος που παράγει πλήρη LDM. Document κατάλληλη για μετατροπή.
Μπορώ να φορτώσω ένα αρχείο DOC από μια ροή;?
Ναι, χρησιμοποιήστε. DocFileReaderCore.load_stream(stream) Αυτό είναι χρήσιμο για εφαρμογές του διαδικτύου όπου τα αρχεία ανεβάζονται ως streams.
Το πρόγραμμα ανάγνωσης DOC χειρίζεται αρχεία που προστατεύονται με κωδικό πρόσβασης;?
Προστατευμένο από κωδικό πρόσβασης .doc Το πρόγραμμα ανάγνωσης θα εγείρει μια εξαίρεση εάν το αρχείο είναι κρυπτογραφημένο.
Συνοπτική αναφορά API
| Τάξη / Μέθοδος | Περιγραφή: |
|---|---|
DocFileReader | Πλήρης αναγνώστης DOC με δυνατότητα κατασκευής LDM |
DocFileReader.to_light_document() | Μετατρέπει τα ανιχνευμένα δεδομένα DOC σε έγγραφο LDM |
DocFileReaderCore | Διαβαστής πυρήνα για τα δυαδικά αρχεία Word 97-2003 (.doc) |
DocFileReaderCore.load_file(filepath) | Εγκατάσταση αρχείου DOC από μια διαδρομή . |
DocFileReaderCore.load_stream(stream) | Εισάγετε ένα αρχείο DOC από μια ροή |
DocFileReaderCore.load_bytes(data) | Εγκατάσταση αρχείου DOC από ένα αποθηκευτικό στοιχείο bytes |
DocumentFormatReader | Διασύνδεση πρωτοκόλλου για όλους τους αναγνώστες εγγράφων |
create_reader(path) | Εργοστάσιο που επιστρέφει το σωστό αναγνώστη για μια επέκταση αρχείου |