Aspose.Words使用教程之如何操作主題屬性,如何在文件中新增水印
我們已經在Aspose.Words 15.7.0
新增了基本API
來訪問文件的主題屬性,現在,這API
包括以下幾個公共物件:
- 主題
- 主題字型
- 主題顏色
以下介紹如何獲取主題屬性:
Document doc = new Document(MyDir + @"in.docx");
Theme theme = doc.Theme;
Console.WriteLine(theme.MajorFonts.Latin); // Major (Headings) font for Latin characters.
Console.WriteLine(theme.MinorFonts.EastAsian); // Minor (Body) font for EastAsian characters.
Console.WriteLine(theme.Colors.Accent1); // Color for theme color Accent 1.
以下介紹如何設定主題屬性:
Document doc = new Document(MyDir + @"in.docx");
Theme theme = doc.Theme;
theme.MinorFonts.Latin = "Times New Roman"; // Set Times New Roman font as Body theme font for Latin Character.
theme.Colors.Hyperlink = Color.Gold; // Set Color.Gold for theme color Hyperlink.
有時你需要在一個Word
文件中插入一個水印,例如如果你想列印草稿文件或將其標記為機密。
在Microsoft Word
中,您可以使用插入水印命令快速插入水印。沒有多少人使用這個命令認識到這樣的“水印”只是一個形狀與文字一起插入到頁首或頁尾,或在頁面的中心位置。
而在Aspose.Words
中,沒有單一的“插入水印”命令就像Microsoft Word
,它很容易將任何形狀或影象插入到頁首或頁尾,從而建立一個任何可以想象型別的水印。
Example
把水印插入一個Word
文件。
using System;
using System.Drawing;
using System.IO;
using System.Reflection;
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Fields;
namespace AddWatermark
{
public class Program
{
public static void Main(string[] args)
{
// Sample infrastructure.
string exeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar;
string dataDir = new Uri(new Uri(exeDir), @"../../Data/").LocalPath;
Document doc = new Document(dataDir + "TestFile.doc");
InsertWatermarkText(doc, "CONFIDENTIAL");
doc.Save(dataDir + "TestFile Out.doc");
}
/// <summary>
/// Inserts a watermark into a document.
/// </summary>
/// <param name="doc">The input document.</param>
/// <param name="watermarkText">Text of the watermark.</param>
private static void InsertWatermarkText(Document doc, string watermarkText)
{
// Create a watermark shape. This will be a WordArt shape.
// You are free to try other shape types as watermarks.
Shape watermark = new Shape(doc, ShapeType.TextPlainText);
// Set up the text of the watermark.
watermark.TextPath.Text = watermarkText;
watermark.TextPath.FontFamily = "Arial";
watermark.Width = 500;
watermark.Height = 100;
// Text will be directed from the bottom-left to the top-right corner.
watermark.Rotation = -40;
// Remove the following two lines if you need a solid black text.
watermark.Fill.Color = Color.Gray; // Try LightGray to get more Word-style watermark
watermark.StrokeColor = Color.Gray; // Try LightGray to get more Word-style watermark
// Place the watermark in the page center.
watermark.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
watermark.RelativeVerticalPosition = RelativeVerticalPosition.Page;
watermark.WrapType = WrapType.None;
watermark.VerticalAlignment = VerticalAlignment.Center;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
// Create a new paragraph and append the watermark to this paragraph.
Paragraph watermarkPara = new Paragraph(doc);
watermarkPara.AppendChild(watermark);
// Insert the watermark into all headers of each document section.
foreach (Section sect in doc.Sections)
{
// There could be up to three different headers in each section, since we want
// the watermark to appear on all pages, insert into all headers.
InsertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HeaderPrimary);
InsertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HeaderFirst);
InsertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HeaderEven);
}
}
private static void InsertWatermarkIntoHeader(Paragraph watermarkPara, Section sect, HeaderFooterType headerType)
{
HeaderFooter header = sect.HeadersFooters[headerType];
if (header == null)
{
// There is no header of the specified type in the current section, create it.
header = new HeaderFooter(sect.Document, headerType);
sect.HeadersFooters.Add(header);
}
// Insert a clone of the watermark into the header.
header.AppendChild(watermarkPara.Clone(true));
}
}
}
相關文章
- Aspose.Words使用教程之插入文件元素(一)
- Aspose.Words使用教程之插入文件元素(二)
- Aspose.Words使用教程之插入文件元素(三)
- 協同文件如何新增水印
- Aspose.Words使用教程之在文件中找到並替換文字
- Aspose.Words使用教程之(如何使用ChartDataLabel),(如何重新命名合併欄位)
- 如何在坑中掌握模型屬性 $casts 和 $appends 的正確使用姿勢模型ASTAPP
- ASPOSE.Cells & ASPOSE.Words 操縱Excel和Word文件的 .NET Core 例項Excel
- 前端如何優雅的新增水印及去除水印前端
- 如何在Linux中複製文件Linux
- Web 頁面如何新增水印?Web
- 教大家如何在html中使用特殊字型HTML
- Spring中如何為屬性配置檔案自動產生文件?Spring
- 為 protocol 中屬性新增預設值Protocol
- 如何快速新增水印?水印製作軟體iWatermark Pro
- 如何在 Linux 桌面新增使用者Linux
- Java 給 Word 文件每一頁新增不同圖片水印Java
- 如何實現分類中新增弱引用屬性
- 一文教會你如何在內網搭建一套屬於自己小組的線上 API 文件?內網API
- 教你如何在Linux 桌面新增使用者Linux
- Aspose.Words使用教程之從零在word裡建立OOXML圖表XML
- Aspose.Words使用教程之如何寫入純文字(TXT)檔案,表的合併與拆分
- class屬性的新增刪除
- 給Product新增自定義屬性
- 003、v3admin學習,修改全域性配置如去掉水印等
- C#/VB.NET 新增多行文字水印到Word文件C#
- dotnet C# 如何在頂級語句定義屬性C#
- 如何在Linux中啟動時新增服務Linux
- 前端進階課程之物件屬性特性詳解前端物件
- 如何自動地向知識圖譜中新增屬性?
- 教大家如何在macOS Big Sur中使用Memoji,超簡單~Mac
- ubuntu下OpenLDAP新增自定義屬性UbuntuLDA
- Android property屬性許可權新增Android
- css3新增哪些背景屬性CSSS3
- 使用pipenv後,如何在pycharm中新增直譯器PyCharm
- 如何在TypeScript程式碼裡獲得HTML元素的css屬性TypeScriptHTMLCSS
- 說說如何使用 Python 類的屬性Python
- Vue中如何使用方法、計算屬性或觀察者Vue