Πώς να εργάζεστε με τα στυλ στο .NET

Πώς να εργάζεστε με τα στυλ στο .NET

Αυτός ο οδηγός δείχνει πώς να αναζητήσετε, να εφαρμόσετε και να δημιουργήσετε στυλ παραγράφου, χαρακτήρα, πίνακα και λίστας σε Aspose.Words FOSS για .NET, χρησιμοποιώντας το Style, StyleCollection, και TableStyle κλάσεις. Καλύπτει την ανάγνωση της συλλογής στυλ ενός εγγράφου, την αξιόπιστη αναζήτηση στυλ μεταξύ γλωσσών, την εφαρμογή στυλ σε παραγράφους και τμήματα κειμένου, τη δημιουργία και αντιγραφή στυλ, καθώς και τη διαμόρφωση υπό-περιφερειακής υπό-όρους μορφοποίησης στα στυλ πινάκων.

Οδηγός βήμα προς βήμα

Βήμα 1: Εγκατάσταση του πακέτου

Aspose.Words FOSS for .NET δεν έχει ακόμη δημοσιεύσει ένα πακέτο NuGet – δημιουργήστε τη βιβλιοθήκη από τον πηγαίο κώδικα αντ’ αυτού. Κλωνοποιήστε το https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, στη συνέχεια δημιουργήστε το Aspose.Words.sln σε ρύθμιση Release με το SDK .NET και αναφερθείτε στη δημιουργημένη συναρμολόγηση Aspose.Words από το έργο σας. Η βιβλιοθήκη στοχεύει στο .NET Standard 2.0, ώστε να λειτουργεί στο .NET Framework 4.6.2+ και .NET 6/8/10.


Βήμα 2: Εισαγωγή των απαιτούμενων κλάσεων

Προσθέστε μια οδηγία using Aspose.Words; – τα Style, StyleCollection, TableStyle, StyleType, StyleIdentifier, ConditionalStyle, ConditionalStyleCollection και ConditionalStyleType βρίσκονται όλα στον χώρο ονομάτων Aspose.Words μαζί με το Document.


Βήμα 3: Διαβάστε τη Συλλογή Στυλ Εγγράφου

Document.Styles επιστρέφει ένα StyleCollection – κάθε ενσωματωμένο και προσαρμοσμένο Style που είναι συνημμένο στο έγγραφο. StyleCollection.Count αναφέρει πόσα στυλ περιέχει, και DefaultFont / DefaultParagraphFormat περιγράφουν τη προεπιλεγμένη μορφοποίηση σε όλο το έγγραφο που κληρονομεί το νέο περιεχόμενο πριν εφαρμοστεί οποιοδήποτε ρητό στυλ.


Βήμα 4: Αναζητήστε ένα Στυλ Αξιόπιστα

Ανακτήστε ένα στυλ με το εμφανιζόμενο όνομά του χρησιμοποιώντας τον ευρετήρα StyleCollection, styles[name]. Για ενσωματωμένα στυλ, προτιμήστε τον ίδιο ευρετήρα με μια τιμή enum StyleIdentifier — styles[sti] — τα ονόματα είναι τοπικοποιημένα, αλλά οι τιμές StyleIdentifier δεν είναι, έτσι η αναζήτηση με αναγνωριστικό λειτουργεί με τον ίδιο τρόπο ανεξαρτήτως της γλώσσας του εγγράφου. Ελέγξτε το Style.Aliases για εναλλακτικά ονόματα που αναγνωρίζει το Word για το ίδιο στυλ αν ο ευρετήρας δεν βρει αυτό που περιμένετε, και ελέγξτε το Style.BuiltIn πριν αφαιρέσετε ή μετονομάσετε ένα στυλ προγραμματιστικά, καθώς τα ενσωματωμένα στυλ συχνά αναφέρονται με όνομα αλλού στο έγγραφο.


Βήμα 5: Εφαρμόστε ένα Στυλ σε Παραγράφους ή Τμήματα

Τα αντικείμενα μορφοποίησης που φέρουν ένα στυλ εκθέτουν τόσο μια ιδιότητα Style (το ίδιο το αντικείμενο Style) όσο και μια ιδιότητα StyleName (μια συντόμευση που επιλύει ή δημιουργεί ένα στυλ με όνομα). Ορίστε το ParagraphFormat.Style ή το ParagraphFormat.StyleName για να εφαρμόσετε στυλ παραγράφου, και το Font.Style ή το Font.StyleName για να εφαρμόσετε στυλ χαρακτήρων στη μορφοποίηση ενός τμήματος. Η ανάθεση του StyleName με ένα όνομα που δεν υπάρχει ήδη στη συλλογή δημιουργεί αυτό το στυλ — επιβεβαιώστε ότι το στυλ υπάρχει πρώτα με τον ευρετήρα StyleCollection, ή αντιστοιχίστε απευθείας το αντικείμενο Style, εάν αυτή δεν είναι η επιθυμητή συμπεριφορά.


Βήμα 6: Δημιουργήστε Ιεραρχίες Στυλ

Διαβάστε το BaseStyleName για να βρείτε το στυλ από το οποίο κληρονομεί ένα δεδομένο στυλ μορφοποίηση που δεν έχει οριστεί, το LinkedStyleName για ένα ζεύγος στυλ παράγραφος/χαρακτήρα (όπως ορίζει το Word για ενσωματωμένα στυλ όπως ένας τίτλος και το συνδεδεμένο του στυλ χαρακτήρων), και το NextParagraphStyleName για το στυλ που το Word αναθέτει σε μια νέα παράγραφο που πληκτρολογείται μετά από μια που χρησιμοποιεί αυτό το στυλ. Ορίστε το BaseStyleName όταν ορίζετε ένα σύνολο σχετικών στυλ — όπως μια οικογένεια στυλ τίτλων που πρέπει όλα να κληρονομούν τις επιλογές γραμματοσειράς από ένα βασικό στυλ — αντί να επαναλαμβάνετε την ίδια μορφοποίηση σε κάθε στυλ.


Βήμα 7: Δημιουργία ή Αντιγραφή Στυλ

Καλείτε το StyleCollection.Add(type, name) με ένα StyleType (Paragraph, Character, Table ή List) και ένα όνομα για να δημιουργήσετε ένα νέο, κενό στυλ, στη συνέχεια ορίστε τις ιδιότητες Font και ParagraphFormat του όπως απαιτείται. Για να αντιγράψετε ένα υπάρχον στυλ — συμπεριλαμβανομένου ενός από το StyleCollection ενός διαφορετικού Document — καλέστε το StyleCollection.AddCopy(style) αντί να διαβάζετε και να εφαρμόζετε χειροκίνητα κάθε ιδιότητα μορφοποίησης. Καλείτε το Style.Remove() για να διαγράψετε ένα στυλ από τη συλλογή του.


Βήμα 8: Διαμόρφωση Στυλ Πίνακα και Μορφοποίηση υπό όρους

TableStyle επεκτείνει το Style με ιδιότητες διάταξης πίνακα — Alignment, CellSpacing, LeftIndent, Shading, VerticalAlignment, και τις τέσσερις ιδιότητες padding (LeftPadding, RightPadding, TopPadding, BottomPadding) — συν το RowStripe και ColumnStripe, που ελέγχουν πόσες γραμμές ή στήλες επαναλαμβάνει ένα μοτίβο λωρίδας. Για μορφοποίηση ανά περιοχή, διαμορφώστε το TableStyle.ConditionalStyles — ένα ConditionalStyleCollection που περιέχει ένα ConditionalStyle ανά περιοχή: FirstRow, LastRow, FirstColumn, LastColumn, OddRowBanding, EvenRowBanding, OddColumnBanding, EvenColumnBanding, και τις τέσσερις γωνιακές κυψέλες (TopLeftCell, TopRightCell, BottomLeftCell, BottomRightCell). Κάθε ConditionalStyle διαθέτει το δικό του Font, ParagraphFormat, Shading, Borders, και padding κυψέλης, με το Type να αναφέρει ποια περιοχή ConditionalStyleType αντιπροσωπεύει· ορίστε τη μορφοποίηση σε αυτές τις περιοχές αντί για μεμονωμένες γραμμές πίνακα ώστε να επιτύχετε μορφοποίηση λωρίδας, γραμμής κεφαλίδας ή γωνιακής κυψέλης που παραμένει μετά τις επεξεργασίες του πίνακα.


Βήμα 9: Επαναφορά ή Αφαίρεση Μορφοποίησης

Καλείτε το ConditionalStyle.ClearFormatting() για να επαναφέρετε μία περιοχή υπό όρους, ή το ConditionalStyleCollection.ClearFormatting() για να επαναφέρετε όλες τις περιοχές σε ένα TableStyle ταυτόχρονα. Το StyleCollection.ClearQuickStyleGallery() αφαιρεί κάθε στυλ από τη γκαλερί γρήγορων στυλ του Word UI χωρίς να διαγράφει τα ίδια τα στυλ — χρήσιμο για τη μείωση της γκαλερί χωρίς να επηρεαστεί το περιεχόμενο του εγγράφου.

Κοινά Προβλήματα και Διορθώσεις

StyleCollection ο ευρετήρας επιστρέφει null για αναζήτηση ονόματος Το όνομα του στυλ δεν υπάρχει σε αυτό το έγγραφο, ή ένα ενσωματωμένο στυλ δεν έχει χρησιμοποιηθεί ακόμη, έτσι το Word δεν το έχει υλοποιήσει. Ελέγξτε Style.Aliases για εναλλακτικά ονόματα, ή χρησιμοποιήστε το StyleCollection δείκτης με ένα StyleIdentifier για ενσωματωμένα στυλ αντί αυτού.

Η ρύθμιση του StyleName δημιουργεί απροσδόκητα ένα νέο στυλ StyleName δημιουργεί το ονομασμένο στυλ εάν δεν υπάρχει ήδη στη συλλογή. Χρησιμοποιήστε το StyleCollection πρώτα τον δείκτη για να επιβεβαιώσετε ότι το στυλ υπάρχει, ή εκχωρήστε το Style αντικείμενο άμεσα μέσω του Style ιδιότητα αντί για StyleName.

Η λωρίδωση πίνακα δεν εμφανίζεται μετά την εφαρμογή ενός TableStyle Οι περιοχές μορφοποίησης υπό προϋποθέσεις – OddRowBanding, EvenRowBanding, και παρόμοια – δεν ρυθμίστηκαν ποτέ στο TableStyle.ConditionalStyles. Ορίστε μορφοποίηση στα σχετικά ConditionalStyle καταχωρήσεις στο ConditionalStyleCollection.

Η αλλαγή ενός στυλ δεν επηρεάζει το περιεχόμενο που ήδη χρησιμοποιεί το στυλ Η άμεση (χειροκίνητη) μορφοποίηση που εφαρμόζεται πάνω από το στυλ υπερισχύει των ρυθμίσεων του στυλ. Καθαρίστε την άμεση μορφοποίηση στα επηρεαζόμενα τμήματα ή παραγράφους, ή ορίστε Style.AutomaticallyUpdate ώστε το στυλ να επαναπροσδιοριστεί από αυτή τη χειροκίνητη μορφοποίηση.

Η ενσωματωμένη αναζήτηση στυλ αποτυγχάνει σε ένα έγγραφο που έχει συνταχθεί σε άλλη γλώσσα Το StyleCollection Ο ευρετηριαστής ταιριάζει με το όνομα εμφάνισης, το οποίο είναι τοπικοποιημένο, όταν καλείται με ένα όνομα. Χρησιμοποιήστε τον ίδιο ευρετηριαστή με την αντίστοιχη StyleIdentifier τιμή enum value αντί αυτού, επειδή αυτό το αναγνωριστικό είναι ανεξάρτητο από τη γλώσσα.

Συχνές Ερωτήσεις

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

Διαβάστε το Document.Styles, το οποίο επιστρέφει ένα StyleCollection που περιέχει κάθε ενσωματωμένο και προσαρμοσμένο Style σε αυτό το έγγραφο.

Ποια είναι η διαφορά μεταξύ του Style και του StyleIdentifier;

Style είναι το πραγματικό αντικείμενο στυλ με τη μορφοποίησή του· StyleIdentifier είναι μια ανεξάρτητη από την τοπική ρύθμιση τιμή enum που χρησιμοποιείται για την αναζήτηση ενός συγκεκριμένου ενσωματωμένου στυλ, ανεξάρτητα από τη γλώσσα του εγγράφου, μέσω του ευρετηρίου StyleCollection.

Πώς διαφέρουν τα στυλ πίνακα από τα στυλ παραγράφου ή χαρακτήρα;

TableStyle είναι μια υποκατηγορία του Style που προσθέτει ιδιότητες διάταξης πίνακα (Alignment, CellSpacing, padding) και μια συλλογή ConditionalStyles για μορφοποίηση ειδική για περιοχή, όπως ζώνες γραμμών, γραμμές κεφαλίδας και γωνιακά κελιά — έννοιες μορφοποίησης που δεν εφαρμόζονται σε στυλ παραγράφου ή χαρακτήρα.

Μπορώ να δημιουργήσω ένα ολοκαίνουργιο στυλ αντί να τροποποιήσω ένα υπάρχον;

Ναι — καλέστε το StyleCollection.Add(type, name) με το επιθυμητό StyleType και ένα νέο όνομα για να δημιουργήσετε ένα κενό στυλ, έπειτα ορίστε τις ιδιότητες μορφοποίησής του (Font, ParagraphFormat κ.λπ. για στυλ παραγράφου ή χαρακτήρα).

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

Καλέστε το StyleCollection.AddCopy(style), περνώντας ένα αντικείμενο Style — το οποίο μπορεί να προέρχεται από το StyleCollection ενός διαφορετικού Document — για να προσθέσετε ένα αντίγραφό του στη συλλογή προορισμού.

Δείτε επίσης

 Ελληνικά