Làm việc với Chủ đề tài liệu
Lý làm việc với Chủ đề Tài liệu
Hướng dẫn này cho thấy cách đọc và tùy chỉnh bảng màu và phông chữ mà các tài liệu Word chia sẻ với các ứng dụng Office khác – chủ đề tài liệu – bằng cách sử dụng Theme, ThemeColors, và ThemeFonts in Aspose.Words FOSS cho .NET. Chủ đề của tài liệu là bảng màu và cặp phông chữ mà định dạng nhận thức chủ đề ở các vị trí khác trong mô hình đối tượng tham chiếu thay vì mã cứng một màu hoặc tên phông chữ cụ thể.
Đối tượng Chủ đề
Document.Theme trả về một thể hiện Theme cho tài liệu. Theme.Colors là một đối tượng ThemeColors chứa mười hai màu chủ đề của tài liệu; Theme.MajorFonts và Theme.MinorFonts là các đối tượng ThemeFonts chứa bộ phông chữ tiêu đề và thân tài liệu tương ứng.
Màu Chủ đề
ThemeColors tiết lộ mười hai thuộc tính có thể ghi Color thuộc tính: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, và FollowedHyperlink. Các đối tượng định dạng ở các vị trí khác trong tài liệu – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, và Font.ThemeColor – giữ một ThemeColor giá trị enum (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, cộng Text1, Text2, Background1, Background2, và None) xác định which vị trí màu chủ đề áp dụng; thực tế Color giá trị cho vị trí đó đến từ tương ứng ThemeColors thuộc tính bật Document.Theme.Colors.
Phông Chủ đề
ThemeFonts cung cấp ba thuộc tính string có thể ghi: Latin (cho các ký tự Latin), EastAsian, và ComplexScript – các tên phông chữ được sử dụng cho mỗi script khi một đối tượng định dạng chuyển giao cho chủ đề. Font.ThemeFont, ThemeFontAscii, ThemeFontFarEast, ThemeFontOther, và ThemeFontBi mỗi cái chứa một giá trị enum ThemeFont (Major, Minor, hoặc None) xác định liệu một đối tượng Font có chuyển giao cho Theme.MajorFonts hay Theme.MinorFonts cho một phạm vi script cụ thể, thay vì lưu trữ một tên phông chữ rõ ràng riêng.
Mẹo và Thực hành Tốt Nhất
- Thay đổi một màu trên mọi đường viền, bóng đổ, tô màu và phông chữ nhạy với chủ đề bằng một lần chỉnh sửa bằng cách cập nhật thuộc tính
ThemeColorstương ứng trênDocument.Theme.Colors, thay vì phải duyệt tài liệu để cập nhật từng đối tượng định dạng riêng lẻ. - Kiểm tra xem thuộc tính
ThemeColorhoặcThemeFontcủa một đối tượng định dạng có phải làNonetrước khi giả định nó chuyển giao cho chủ đề –Nonecó nghĩa là nó mang theoColorhoặc tên phông chữ rõ ràng riêng của mình. Theme.MajorFontsthường cung cấp các phông chữ tiêu đề vàTheme.MinorFontscác phông chữ thân, phù hợp với bộ chọn phông chữ chủ đề của Word.
Vấn đề Thường Gặp
| Vấn đề | Nguyên nhân | Sửa |
|---|---|---|
Thay đổi Document.Theme.Colors.Accent1 không ảnh hưởng đến phần tô của hình | Thuộc tính Fill.ForeThemeColor của hình là ThemeColor.None, vì vậy nó sử dụng màu cố định thay vì khe chủ đề | Đặt Fill.ForeThemeColor thành giá trị ThemeColor mong muốn để nó dựa vào chủ đề |
Phông chữ được hiển thị của Font không khớp với Theme.MajorFonts.Latin | The Font.ThemeFont (hoặc biến thể riêng cho script) là ThemeFont.None, vì vậy tên riêng của phông chữ được sử dụng thay thế | Đặt thuộc tính ThemeFont liên quan thành Major hoặc Minor |
FAQ
Làm thế nào để đọc màu chủ đề của tài liệu?
Đọc Document.Theme.Colors, một đối tượng ThemeColors với các thuộc tính Color cho mỗi trong mười hai vị trí màu chủ đề – Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, và FollowedHyperlink.
Làm sao tôi có thể thay đổi màu nhấn của tài liệu ở mọi nơi nó được sử dụng?
Đặt Document.Theme.Colors.Accent1 (hoặc vị trí nhấn nào đó) thành một Color mới; mọi đối tượng định dạng mà thuộc tính ThemeColor của chúng tham chiếu tới vị trí đó sẽ nhận được thay đổi.
Sự khác biệt giữa ThemeColors và ThemeColor là gì?
ThemeColors (trên Document.Theme.Colors) là đối tượng chứa mười hai giá trị Color thực tế cho tài liệu. ThemeColor là enum được sử dụng ở nơi khác (Border, Shading, Fill, Stroke, Font) để tham chiếu một trong các vị trí đó bằng tên thay vì lưu trữ màu trực tiếp.
Làm sao tôi có thể đặt phông chữ chủ đề mà đối tượng Font sử dụng?
Đặt Font.ThemeFont (hoặc ThemeFontAscii/ThemeFontFarEast/ThemeFontOther/ThemeFontBi riêng cho kịch bản) thành ThemeFont.Major hoặc ThemeFont.Minor; tên phông chữ thực tế sau đó sẽ được lấy từ Document.Theme.MajorFonts hoặc MinorFonts.
API Reference Tóm tắt
| Lớp / Enum | Mô tả |
|---|---|
Theme | Chủ đề tài liệu, qua Document.Theme; MajorFonts, MinorFonts, Colors |
ThemeColors | Mười hai vị trí Color của chủ đề: Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink |
ThemeFonts | Tên phông chữ của chủ đề theo từng script: Latin, EastAsian, ComplexScript |
ThemeColor | Enum xác định một vị trí màu chủ đề; được sử dụng bởi Border, Shading, Fill, Stroke, Font |
ThemeFont | Enum xác định việc sử dụng phông chữ chủ đề Major/Minor; được sử dụng bởi Font |