Εισαγωγή Κόμβων με NodeImporter
Εισαγωγή Κόμβων με NodeImporter
Αυτός ο οδηγός δείχνει πώς να μετακινήσετε περιεχόμενο μεταξύ δύο διαφορετικών Document παραδείγματα στο Aspose.Words FOSS για .NET χρησιμοποιώντας το αφιερωμένο NodeImporter κλάση και λεπτομερή ImportFormatOptions, για σενάρια όπου χρειάζεται να εισάγετε πολλούς κόμβους αποτελεσματικά ή να ελέγχετε τη συμπεριφορά εισαγωγής πέρα από το βασικό ImportFormatMode επιλογή. Για τις πιο απλές Document.ImportNode, Document.AppendDocument, και DocumentBuilder.InsertDocument μεθόδους ευκολίας, δείτε το Εργασία με Έγγραφα οδηγός.
NodeImporter: Επαναλαμβανόμενες Εισαγωγές Χωρίς Επαναλαμβανόμενη Ρύθμιση
NodeImporter είναι σχεδιασμένο για επαναλαμβανόμενη εισαγωγή κόμβων από ένα έγγραφο σε άλλο, αποφεύγοντας το κόστος ρύθμισης ανά κλήση μιας εφάπαξ εισαγωγής. Δημιουργήστε ένα με new NodeImporter(srcDoc, dstDoc, importFormatMode) — ή την υπερφόρτωση new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) για πιο ακριβή έλεγχο — μία φορά, και, στη συνέχεια, καλέστε ImportNode(srcNode, isImportChildren) στην ίδια αυτή εμφάνιση για κάθε κόμβο που χρειάζεται να μεταφερθεί. Η επαναχρησιμοποίηση μιας εμφάνισης NodeImporter σε πολλές κλήσεις αποφεύγει το κόστος ρύθμισης που προκαλεί μια ευκολία εισαγωγής ανά κλήση κάθε φορά.
Λεπτομερής Έλεγχος Εισαγωγής με ImportFormatOptions
ImportFormatOptions συμπληρώνει την βασική επιλογή ImportFormatMode (UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) με πιο ακριβείς διακόπτες: SmartStyleBehavior (bool) ελέγχει πώς εισάγονται τα στυλ με ίδιες ονομασίες στην πηγή και στον προορισμό. KeepSourceNumbering (bool) ελέγχει πώς εισάγεται η αρίθμηση όταν συγκρούεται μεταξύ πηγής και προορισμού. IgnoreTextBoxes και IgnoreHeaderFooter (bool) καταστέλλουν τη μορφοποίηση της πηγής για το περιεχόμενο των πλαισίων κειμένου και των κεφαλίδων/πατών, ειδικά όταν ισχύει το KeepSourceFormatting. MergePastedLists (bool) συγχωνεύει τις επικολλημένες λίστες με τις γύρω λίστες αντί να τις διατηρεί ξεχωριστές. ForceCopyStyles (bool) αντιγράφει τα συγκρουόμενα στυλ αντί να ξαναχρησιμοποιεί την έκδοση του προορισμού, σε λειτουργία KeepSourceFormatting. AdjustSentenceAndWordSpacing (bool) ρυθμίζει αυτόματα το διάστημα. AppendDocumentWithNewPage (bool) επιβάλλει ο τύπος της πρώτης εισαγόμενης ενότητας να είναι NewPage.
Συμβουλές και Καλές Πρακτικές
- Δημιουργήστε ένα μοναδικό αντικείμενο
NodeImporterκαι επαναχρησιμοποιήστε το σε έναν βρόχο κλήσεωνImportNodeόταν εισάγετε πολλούς κόμβους — η δημιουργία νέου εισαγωγέα ανά κόμβο επαναλαμβάνει την εργασία ρύθμισης άσκοπα. - Περάστε ένα αντικείμενο
ImportFormatOptionsστον υπερφορτωμένο κατασκευαστήNodeImporterόταν η απλή επιλογήImportFormatModeδεν είναι αρκετά ακριβής — για παράδειγμα, για να διατηρήσετε την αρίθμηση λίστας πηγών μεKeepSourceNumberingενώ εξακολουθείτε να χρησιμοποιείτε τοKeepSourceFormattingσυνολικά. - Ορίστε
IgnoreTextBoxesήIgnoreHeaderFooterόταν τοKeepSourceFormattingφέρνει περισσότερο στυλ πηγής από ό,τι θέλετε για μόνο αυτούς τους τύπους περιεχομένου. NodeImporter.ImportNode(srcNode, isImportChildren)αντικατοπτρίζει την κλήση εισαγωγής σε επίπεδο εγγράφου στην υπογραφή και τη συμπεριφορά· η διαφορά είναι η αποδοτικότητα επαναχρησιμοποίησης, όχι η σημασιολογία της εισαγωγής.
Συχνά Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
| Η επαναλαμβανόμενη εισαγωγή πολλών κόμβων είναι αργή | Κάθε κόμβος χρησιμοποιεί μια κλήση εισαγωγής ευκολίας αντί για μία επαναχρησιμοποιήσιμη NodeImporter | Δημιουργήστε ένα ενιαίο NodeImporter και καλέστε το ImportNode για κάθε κόμβο |
| Η αρίθμηση λίστας επαναφέρεται απροσδόκητα μετά την εισαγωγή | ImportFormatOptions.KeepSourceNumbering δεν ορίστηκε | Δομήστε το NodeImporter με μια παρουσία ImportFormatOptions που ορίζει το KeepSourceNumbering όπως απαιτείται |
| Το πλαίσιο κειμένου ή το περιεχόμενο της κεφαλίδας/υποσέλιδου απορροφά ανεπιθύμητη μορφοποίηση της πηγής | Η λειτουργία KeepSourceFormatting εφαρμόζει τη μορφοποίηση της πηγής ευρέως από προεπιλογή | Ορίστε IgnoreTextBoxes ή IgnoreHeaderFooter στο ImportFormatOptions που περνιέται στο NodeImporter |
FAQ
Πότε πρέπει να χρησιμοποιήσω το NodeImporter αντί για μια μονή κλήση εισαγωγής;
Κατά την εισαγωγή πολλών κόμβων σε βρόχο — δημιουργήστε ένα NodeImporter εκ των προτέρων και καλέστε το ImportNode επανειλημμένα, αντί να πληρώνετε το κόστος ρύθμισης σε κάθε κλήση.
Τι προσθέτει το ImportFormatOptions πέρα από το ImportFormatMode;
Πιο λεπτομερείς διακόπτες όπως SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing και AppendDocumentWithNewPage, τοποθετημένα πάνω από την βασική επιλογή ImportFormatMode.
Συμπεριφέρεται το NodeImporter.ImportNode διαφορετικά από την εισαγωγή σε επίπεδο εγγράφου;
Όχι — και τα δύο λαμβάνουν έναν κόμβο προέλευσης και μια σημαία isImportChildren και το εισάγουν στο έγγραφο προορισμού· το NodeImporter υπάρχει ώστε η ρύθμιση να γίνει μία φορά και να επαναχρησιμοποιείται σε πολλές κλήσεις.
Πώς μπορώ να διατηρήσω την αρίθμηση λιστών του εγγράφου προέλευσης αμετάβλητη κατά την εισαγωγή;
Δομήστε το NodeImporter με ένα ImportFormatOptions όπου το KeepSourceNumbering είναι true.
API Reference Σύνοψη
| Κλάση/Μέθοδος | Περιγραφή |
|---|---|
NodeImporter | Εκτελεί επαναλαμβανόμενη εισαγωγή κόμβων από ένα έγγραφο σε άλλο, επαναχρησιμοποιώντας τη ρύθμιση μεταξύ κλήσεων |
NodeImporter(srcDoc, dstDoc, importFormatMode) | Κατασκευαστής για βασικές εισαγωγές μόνο σε import-format-mode-only |
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) | Κατασκευαστής που δέχεται λεπτομερή ImportFormatOptions |
NodeImporter.ImportNode(srcNode, isImportChildren) | Εισάγει έναν κόμβο από το πηγαίο έγγραφο στο προορισμένο έγγραφο |
ImportFormatOptions | Ρυθμίσεις εισαγωγής λεπτομερούς επιπέδου πάνω από ImportFormatMode |
ImportFormatOptions.SmartStyleBehavior | Πώς εισάγονται τα στυλ με το ίδιο όνομα |
ImportFormatOptions.KeepSourceNumbering | Πώς εισάγεται η συγκρουόμενη αρίθμηση |
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooter | Καταστέλλει τη μορφοποίηση προέλευσης για πλαίσια κειμένου / κεφαλίδες-υποσέλιδα κάτω από KeepSourceFormatting |
ImportFormatOptions.MergePastedLists | Συγχωνεύει τις επικολλημένες λίστες με τις περιβάλλουσες λίστες |
ImportFormatOptions.ForceCopyStyles | Αντιγράφει συγκρουόμενα στυλ αντί να επαναχρησιμοποιεί την έκδοση του προορισμού |
ImportFormatOptions.AppendDocumentWithNewPage | Επιβάλλει τον τύπο της πρώτης εισαγόμενης ενότητας σε NewPage |