Εργασία με Θέματα Εγγράφου
Εργασία με Θέματα Εγγράφων
Αυτός ο οδηγός δείχνει πώς να διαβάζετε και να προσαρμόζετε το σχήμα χρωμάτων και γραμματοσειρών που τα έγγραφα του Word μοιράζονται με άλλες εφαρμογές του Office – το θέμα του εγγράφου – χρησιμοποιώντας Theme, ThemeColors, και ThemeFonts in Aspose.Words FOSS για .NET. Το θέμα ενός εγγράφου είναι η παλέτα και ο συνδυασμός γραμματοσειρών που η μορφοποίηση που λαμβάνει υπόψη το θέμα σε άλλα μέρη του αντικειμενικού μοντέλου αναφέρεται αντί να κωδικοποιεί σκληρά ένα συγκεκριμένο χρώμα ή όνομα γραμματοσειράς.
Το Αντικείμενο Θέματος
Document.Theme επιστρέφει μια παρουσία Theme για το έγγραφο. Theme.Colors είναι ένα αντικείμενο ThemeColors που περιέχει τα δώδεκα χρώματα θέματος του εγγράφου· Theme.MajorFonts και Theme.MinorFonts είναι αντικείμενα ThemeFonts που περιέχουν αντίστοιχα τα σύνολα γραμματοσειρών επικεφαλίδας και σώματος.
Χρώματα Θέματος
ThemeColors εκθέτει δώδεκα εγγράψιμες Color ιδιότητες: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, και FollowedHyperlink. Αντικείμενα μορφοποίησης σε άλλα μέρη του εγγράφου – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, και Font.ThemeColor – κρατά μια ThemeColor τιμή enum (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, συν Text1, Text2, Background1, Background2, και None) που προσδιορίζει which εφαρμόζεται η θέση χρώματος θέματος; η πραγματική Color τιμή για αυτή τη θέση προέρχεται από την αντίστοιχη ThemeColors ιδιότητα ενεργή Document.Theme.Colors.
Γραμματοσειρές Θέματος
ThemeFonts αποκαλύπτει τρεις εγγράψιμες ιδιότητες string: Latin (για χαρακτήρες λατινικού αλφαβήτου), EastAsian και ComplexScript — τα ονόματα γραμματοσειρών που χρησιμοποιούνται για κάθε γραφή όταν ένα αντικείμενο μορφοποίησης παραπέμπει στο θέμα. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther και ThemeFontBi κρατούν καθένα μια τιμή enum ThemeFont (Major, Minor ή None) που προσδιορίζει εάν ένα δεδομένο αντικείμενο Font παραπέμπει στο Theme.MajorFonts ή στο Theme.MinorFonts για συγκεκριμένο εύρος γραφής, αντί να αποθηκεύει ένα ρητό όνομα γραμματοσειράς δικό του.
Συμβουλές και Καλές Πρακτικές
- Αλλάξτε ένα χρώμα σε κάθε περίγραμμα, σκίαση, γέμισμα και γραμματοσειρά που είναι ευαίσθητα στο θέμα, με μια ενέργεια, ενημερώνοντας την σχετική ιδιότητα
ThemeColorsστοDocument.Theme.Colors, αντί να περιηγηθείτε στο έγγραφο για να ενημερώσετε κάθε αντικείμενο μορφοποίησης ξεχωριστά. - Ελέγξτε εάν η ιδιότητα
ThemeColorήThemeFontενός αντικειμένου μορφοποίησης είναιNoneπριν υποθέσετε ότι παραπέμπει στο θέμα — τοNoneσημαίνει ότι φέρει το δικό του ρητόColorή όνομα γραμματοσειράς. Theme.MajorFontsτυπικά παρέχει γραμματοσειρές τίτλων καιTheme.MinorFontsγραμματοσειρές σώματος, ταιριάζοντας με την επιλογή γραμματοσειρών θέματος του Word.
Συνηθισμένα Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
Η αλλαγή του Document.Theme.Colors.Accent1 δεν επηρεάζει το γέμισμα ενός σχήματος | Το Fill.ForeThemeColor του σχήματος είναι ThemeColor.None, επομένως χρησιμοποιεί ένα ρητό χρώμα αντί για θέση θέματος | Ορίστε το Fill.ForeThemeColor στην επιθυμητή τιμή ThemeColor ώστε να ακολουθεί το θέμα |
Η γραμματοσειρά που αποδίδεται από ένα Font δεν ταιριάζει με το Theme.MajorFonts.Latin | Το Font.ThemeFont (ή η παραλλαγή ειδική για το script) είναι ThemeFont.None, έτσι χρησιμοποιείται το δικό του όνομα γραμματοσειράς αντί αυτού | Ορίστε την αντίστοιχη ιδιότηταThemeFont σεMajor ήMinor |
FAQ
Πώς μπορώ να διαβάσω τα χρώματα θέματος ενός εγγράφου;
Διαβάστε το Document.Theme.Colors, ένα αντικείμενο ThemeColors με ιδιότητες Color για κάθε μία από τις δώδεκα θέσεις χρωμάτων θέματος — Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink και FollowedHyperlink.
Πώς μπορώ να αλλάξω το χρώμα έμφασης του εγγράφου παντού όπου χρησιμοποιείται;
Ορίστε το Document.Theme.Colors.Accent1 (ή οποιαδήποτε θέση έμφασης) σε ένα νέο Color; κάθε αντικείμενο μορφοποίησης του οποίου η ιδιότητα ThemeColor αναφέρεται σε αυτή τη θέση θα υιοθετήσει την αλλαγή.
Ποια είναι η διαφορά μεταξύ ThemeColors και ThemeColor;
ThemeColors (στο Document.Theme.Colors) είναι το αντικείμενο που κρατά τις δώδεκα πραγματικές τιμές Color για το έγγραφο. Το ThemeColor είναι η enum που χρησιμοποιείται αλλού (Border, Shading, Fill, Stroke, Font) για να αναφέρεται σε μία από αυτές τις θέσεις με όνομα αντί να αποθηκεύει άμεσα ένα χρώμα.
Πώς ορίζω ποια γραμματοσειρά θέματος χρησιμοποιεί ένα αντικείμενο Font;
Ορίστε το Font.ThemeFont (ή τα script-specific ThemeFontAscii / ThemeFontFarEast / ThemeFontOther / ThemeFontBi) σε ThemeFont.Major ή ThemeFont.Minor; το πραγματικό όνομα γραμματοσειράς προέρχεται έπειτα από το Document.Theme.MajorFonts ή το MinorFonts.
API Reference Περίληψη
| Κλάση / Enum | Περιγραφή |
|---|---|
Theme | Θέμα εγγράφου, μέσω Document.Theme; MajorFonts, MinorFonts, Colors |
ThemeColors | Δώδεκα θέσεις Color του θέματος: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink |
ThemeFonts | Ονόματα γραμματοσειρών θέματος ανά script: Latin, EastAsian, ComplexScript |
ThemeColor | Απαρίθμηση που προσδιορίζει μια θέση χρώματος θέματος· χρησιμοποιείται από Border, Shading, Fill, Stroke, Font |
ThemeFont | Απαρίθμηση που προσδιορίζει τη χρήση γραμματοσειράς του θέματος Major/Minor; χρησιμοποιείται από Font |