Φόρτωση Εγγράφων με LoadOptions

Φόρτωση Εγγράφων με LoadOptions

Φόρτωση εγγράφων με LoadOptions

Αυτός ο οδηγός δείχνει πώς να ελέγχετε τη φόρτωση εγγράφων πέρα από μια απλή διαδρομή αρχείου ή ροή, χρησιμοποιώντας την κλάση LoadOptions. Η Document διαθέτει υπερφορτώσεις κατασκευαστών που δέχονται μια παρουσία LoadOptions — Document(fileName, loadOptions) και Document(stream, loadOptions) — ώστε οποιεσδήποτε από τις ρυθμίσεις που περιγράφονται εδώ να ισχύουν κατά τη φόρτωση, πριν το αντικείμενο εγγράφου παραδοθεί στον κώδικά σας.


Η κλάση LoadOptions

LoadOptions μεταφέρει τις ρυθμίσεις Aspose.Words που χρειάζεται το FOSS κατά τη φόρτωση ενός εγγράφου σε ένα αντικείμενο Document. Οι κατασκευαστές του περιλαμβάνουν ένα χωρίς παραμέτρους LoadOptions(), LoadOptions(password) για άνοιγμα αρχείου προστατευμένου με κωδικό πρόσβασης απευθείας, και LoadOptions(loadFormat, password, baseUri) για ρητή καθορισμό της μορφής. Πέρα από τα Password και BaseUri (που χρησιμοποιούνται για την επίλυση σχετικών αναφορών όπως συνδεδεμένοι πόροι), το LoadOptions εκθέτει το Encoding για μορφές κειμένου, το TempFolder για επεξεργασία μεγάλων εγγράφων, το MswVersion για να καθορίσετε ποιες συμβάσεις μορφοποίησης του Word εφαρμόζονται, και τα UpdateDirtyFields, IgnoreOleData και UseSystemLcid για πιο λεπτομερή έλεγχο της συμπεριφοράς φόρτωσης. Το LoadOptions.FontSettings σας επιτρέπει να παρέχετε FontSettings κατά τη φόρτωση αντί να ρυθμίζετε τις γραμματοσειρές μόνο μετά τη φόρτωση του εγγράφου.

Επιλογές φόρτωσης ανά μορφή

Ορισμένες μορφές έχουν τη δική τους υποκατηγορία LoadOptions που εκθέτει ρυθμίσεις ειδικές για εκείνη τη μορφή. Η TxtLoadOptions (για απλό κείμενο) προσθέτει τα AutoNumberingDetection, DetectNumberingWithWhitespaces, DetectHyperlinks, DocumentDirection, και ξεχωριστά LeadingSpacesOptions/TrailingSpacesOptions τύπου TxtLeadingSpacesOptions/TxtTrailingSpacesOptions για τον έλεγχο του τρόπου διαχείρισης των αρχικών και τελικών κενών χαρακτήρων σε κάθε γραμμή. Η MarkdownLoadOptions προσθέτει τα PreserveEmptyLines, ImportUnderlineFormatting και SoftLineBreakCharacter για τον έλεγχο του πώς οι συμβάσεις αλλαγής γραμμής του Markdown αντιστοιχίζονται σε παραγράφους και τμήματα του εγγράφου. Και οι δύο υποκατηγορίες κληρονομούν κάθε γενική ιδιότητα LoadOptions, έτσι ώστε ένας κωδικός πρόσβασης ή μια κλήση φόρτωσης πόρων που ορίζεται σε μια παρουσία TxtLoadOptions ή MarkdownLoadOptions να συμπεριφέρεται το ίδιο όπως στη βασική κλάση.

Κλήσεις φόρτωσης πόρων

LoadOptions.ResourceLoadingCallback δέχεται μια υλοποίηση του IResourceLoadingCallback, η οποία ενημερώνεται καθώς ο φορτωτής επιλύει εξωτερικούς πόρους που αναφέρονται στο έγγραφο που φορτώνεται. Η κλήση επανάκλησης λαμβάνει ένα ResourceLoadingArgs που περιγράφει το ResourceType του πόρου που φορτώνεται, και επιστρέφει ένα ResourceLoadingAction για να πει στον φορτωτή αν πρέπει να φορτώσει τον πόρο κανονικά, να τον παραλείψει ή να αντικαταστήσει με προσαρμοσμένα δεδομένα. Αυτό είναι το σημείο επέκτασης για τον έλεγχο ή την παρεμβολή στην επίλυση πόρων κατά τη φόρτωση, ανεξάρτητα από τη μορφή που διαβάζεται.

Ρυθμίσεις Γλώσσας, Κατεύθυνσης και Ανάκτησης

LoadOptions.LanguagePreferences είναι ένα αντικείμενο LanguagePreferences του οποίου το DefaultEditingLanguage (μια τιμή enum EditingLanguage) ορίζει τη γλώσσα Aspose.Words που το FOSS υποθέτει όταν ένα έγγραφο δεν καθορίζει ρητά μία; AddEditingLanguage(language) και AddEditingLanguages(languages) καταγράφουν επιπλέον γλώσσες που το έγγραφο μπορεί να χρησιμοποιήσει. DocumentDirection (επίσης εκτεθειμένο άμεσα στο TxtLoadOptions) είναι ένα enum με τιμές LeftToRight, RightToLeft και Auto για τον έλεγχο της κατεύθυνσης ροής κειμένου κατά τη φόρτωση. LoadOptions.RecoveryMode λαμβάνει μια τιμή DocumentRecoveryMode, η οποία ελέγχει πώς ο φορτωτής αντιδρά όταν συναντά ένα κατεστραμμένο ή μερικώς εσφαλμένο έγγραφο.

Κλήσεις Επανάκλησης Προόδου και Προειδοποίησης

Πέρα από τη φόρτωση πόρων, το LoadOptions.WarningCallback και το LoadOptions.ProgressCallback δέχονται υλοποιήσεις κλήσεων επανάκλησης που ενημερώνονται για μη θανάσιμα προβλήματα που αντιμετωπίζονται κατά τη φόρτωση και για την πρόοδο της φόρτωσης, αντίστοιχα — χρήσιμα για την εμφάνιση ανακτήσιμων προβλημάτων στον κώδικα που καλεί ή για την αναφορά προόδου σε μεγάλα έγγραφα χωρίς περιοδικό έλεγχο.


Συμβουλές και Καλές Πρακτικές

  • Περάστε το LoadOptions(password) (ή ορίστε το LoadOptions.Password) αντί να πιάσετε μια εξαίρεση φόρτωσης και να δοκιμάσετε ξανά — το Aspose.Words FOSS χρειάζεται τον κωδικό πρόσβασης πριν μπορέσει να αναλύσει καθόλου το έγγραφο.
  • Ορίστε το LanguagePreferences.DefaultEditingLanguage κατά τη φόρτωση εγγράφων των οποίων τα μεταδεδομένα γλώσσας λείπουν ή είναι αναξιόπιστα, ώστε η επεξεργασία που εξαρτάται από τη γλώσσα να συμπεριφέρεται προβλέψιμα.
  • Προτιμήστε την κλάση επιλογών ειδικής μορφής (TxtLoadOptions, MarkdownLoadOptions) αντί της βασικής LoadOptions κατά τη φόρτωση αυτών των μορφών, καθώς η συγκεκριμένη υποκλάση εκθέτει ρυθμίσεις σχετικές με τη μορφή που η βασική κλάση δεν διαθέτει.
  • Εφαρμόστε το IResourceLoadingCallback όταν χρειάζεται να ανακατευθύνετε, να αποθηκεύσετε στην cache ή να εμποδίσετε την επίλυση εξωτερικών πόρων κατά τη φόρτωση, αντί μετά το έγγραφο να βρίσκεται ήδη στη μνήμη.
  • Ορίστε το LoadOptions.RecoveryMode σκόπιμα για αγωγούς που επεξεργάζονται έγγραφα από μη αξιόπιστες ή τρίτων πηγές, αντί να βασίζεστε στη προεπιλεγμένη συμπεριφορά αποκατάστασης.

Συνηθισμένα προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
Η φόρτωση ενός εγγράφου με προστασία κωδικού πρόσβασης προκαλεί εξαίρεσηΔεν δόθηκε κωδικός πρόσβασης, ή δόθηκε μετά την έναρξη της φόρτωσηςΠεράστε το LoadOptions(password) (ή ορίστε το Password σε ένα στιγμιότυπο LoadOptions) στην υπερφόρτωση κατασκευής Document που δέχεται LoadOptions
Τα αρχικά/τελικά κενά διαστήματα σε ένα φορτωμένο αρχείο κειμένου δεν αντιμετωπίζονται όπως αναμένεταιΗ προεπιλεγμένη συμπεριφορά TxtLeadingSpacesOptions/TxtTrailingSpacesOptions δεν ταιριάζει με τις συμβάσεις κενών διαστημάτων του αρχικού αρχείουΟρίστε το TxtLoadOptions.LeadingSpacesOptions / TrailingSpacesOptions ρητά
Οι αλλαγές γραμμής στο Markdown δεν αντιστοιχούν στην αναμενόμενη δομή παραγράφωνMarkdownLoadOptions.PreserveEmptyLines ή SoftLineBreakCharacter δεν ταιριάζει με τις συμβάσεις του πηγαίου MarkdownΡυθμίστε την σχετική ιδιότητα MarkdownLoadOptions πριν τη φόρτωση
Η φόρτωση εξωτερικών πόρων δεν παρατηρείται ή ελέγχεταιΔεν καταγράφηκε κανένα IResourceLoadingCallback στο LoadOptions.ResourceLoadingCallbackΕφαρμόστε το IResourceLoadingCallback και εκχωρήστε το πριν τη φόρτωση

FAQ

Πώς φορτώνω ένα έγγραφο προστατευμένο με κωδικό πρόσβασης;

Δημιουργήστε το LoadOptions με τον κωδικό πρόσβασης — new LoadOptions(password) — ή ορίστε το LoadOptions.Password, και στη συνέχεια περάστε το στο new Document(fileName, loadOptions) ή στο new Document(stream, loadOptions).

Χρειάζομαι μια υποκλάση LoadOptions ειδική για τη μορφή, ή η βασική κλάση είναι αρκετή;

Η βασική κλάση LoadOptions καλύπτει ρυθμίσεις κοινές σε κάθε μορφή (συνθηματικό, κωδικοποίηση, callbacks). Χρησιμοποιήστε μια υποκλάση ειδική για τη μορφή, όπως TxtLoadOptions ή MarkdownLoadOptions, όταν χρειάζεστε ρυθμίσεις συγκεκριμένες για εκείνη τη μορφή, όπως διαχείριση λευκών διαστημάτων για αρχεία κειμένου ή συμβάσεις αλλαγής γραμμής για το Markdown.

Πώς μπορώ να παρεμβάλλω ή να ανακατευθύνω τους πόρους που αναφέρει ένα έγγραφο κατά τη φόρτωση;

Εφαρμόστε το IResourceLoadingCallback και εκχωρήστε το στο LoadOptions.ResourceLoadingCallback πριν τη φόρτωση. Η callback λαμβάνει ένα ResourceLoadingArgs ανά πόρο και επιστρέφει ένα ResourceLoadingAction που αποφασίζει πώς θα προχωρήσει ο φορτωτής.

Πώς μπορώ να ελέγξω ποια γλώσσα υποθέτει το Aspose.Words FOSS για ένα φορτωμένο έγγραφο;

Ορίστε το LoadOptions.LanguagePreferences.DefaultEditingLanguage σε μια τιμή EditingLanguage πριν τη φόρτωση· χρησιμοποιήστε το AddEditingLanguage/AddEditingLanguages για να καταχωρήσετε πρόσθετες γλώσσες που μπορεί να περιέχει το έγγραφο.

Τι συμβαίνει αν ο φορτωτής συναντήσει ένα κατεστραμμένο έγγραφο;

Η συμπεριφορά ελέγχεται από το LoadOptions.RecoveryMode, μια τιμή DocumentRecoveryMode που καθορίζει πώς ο φορτωτής ανταποκρίνεται σε δομικά προβλήματα του αρχικού εγγράφου.


API Reference Περίληψη

Κλάση/ΜέθοδοςΠεριγραφή
LoadOptionsΒασικό αντικείμενο επιλογών που ελέγχει πώς φορτώνεται ένα έγγραφο
Document(fileName, loadOptions) / Document(stream, loadOptions)Υπερφορτώσεις κατασκευής που εφαρμόζουν το LoadOptions κατά τη φόρτωση
TxtLoadOptionsΕπιλογές φόρτωσης ειδικές για έγγραφα απλού κειμένου
MarkdownLoadOptionsΕπιλογές φόρτωσης ειδικές για έγγραφα Markdown
IResourceLoadingCallbackΔιεπαφή callback για την παρέμβαση στην επίλυση εξωτερικών πόρων κατά τη φόρτωση
ResourceLoadingArgs / ResourceLoadingActionΔεδομένα γεγονότος ανά πόρο και η ενέργεια που επιστρέφεται στον φορτωτή
LanguagePreferencesΡυθμίζει τις προεπιλεγμένες και πρόσθετες γλώσσες επεξεργασίας που υποτίθενται κατά τη φόρτωση
DocumentDirectionEnum που ελέγχει την κατεύθυνση ροής κειμένου (LeftToRight, RightToLeft, Auto)
DocumentRecoveryModeΕλέγχει τη συμπεριφορά του φορτωτή όταν ένα έγγραφο είναι κατεστραμμένο

Δείτε επίσης

 Ελληνικά