zoukankan      html  css  js  c++  java
  • Aspose Word(.doc,docx)文件加水印

    官方文档地址:https://docs.aspose.com/display/wordsnet/Home

    官方Demo代码:https://github.com/aspose-words/Aspose.Words-for-.NET

    2、Word文件加水印代码

    注意:除了引用Aspose.Words.dll,还要用Nuget安装System.Text.Encoding.CodePages和SkiaSharp

     1 using Aspose.Words;
     2 using Aspose.Words.Drawing;
     3 using System;
     4 using System.Drawing;
     5 namespace WordWatermark
     6 {
     7     class Program
     8     {
     9         static void Main(string[] args)
    10         {
    11             var sourceFilePath = @"F:1.doc";
    12             var objectFilePath = @"F:2.doc";
    13             //Aspose.Words.License lic = new Aspose.Words.License();
    14             //lic.SetLicense("Aspose.Total.lic");破解版不用设置license
    15             // open word file
    16             var doc = new Document(sourceFilePath);
    17             InsertWatermarkText(doc, "hello world!");
    18             doc.Save(objectFilePath);
    19         }
    20         private static void InsertWatermarkText(Document doc, string watermarkText)
    21         {
    22             // 创建一个水印形状。这将是一个WordArt形状。
    23             // 可以随意尝试其他形状类型作为水印。
    24             Shape watermark = new Shape(doc, ShapeType.TextPlainText);
    25             watermark.Name = "WaterMark";
    26             // 设置水印文本。
    27             watermark.TextPath.Text = watermarkText;
    28             watermark.TextPath.FontFamily = "Arial";
    29             watermark.Width = 500;
    30             watermark.Height = 100;
    31             // 文本将从左下角指向右上角。
    32             watermark.Rotation = -40;
    33             // 如果需要纯黑色文本,请删除以下两行。
    34             watermark.Fill.Color = Color.Gray; // 尝试LightGray得到更多文字风格的水印
    35             watermark.StrokeColor = Color.Gray; // 尝试LightGray得到更多文字风格的水印
    36             // 将水印放在页面中心。
    37             watermark.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
    38             watermark.RelativeVerticalPosition = RelativeVerticalPosition.Page;
    39             watermark.WrapType = WrapType.None;
    40             watermark.VerticalAlignment = VerticalAlignment.Center;
    41             watermark.HorizontalAlignment = HorizontalAlignment.Center;
    42             //创建一个新的段落,并附加水印到这段。
    43             Paragraph watermarkPara = new Paragraph(doc);
    44             watermarkPara.AppendChild(watermark);
    45             //在每个文档部分的所有标题中插入水印。
    46             foreach (Section sect in doc.Sections)
    47             {
    48               //每个部分可能有三个不同的标题,因为我们需要
    49               //水印将出现在所有页面,插入到所有页眉。
    50                 InsertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HeaderPrimary);
    51                 InsertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HeaderFirst);
    52                 InsertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HeaderEven);
    53             }
    54         }
    55         private static void InsertWatermarkIntoHeader(Paragraph watermarkPara, Section sect, HeaderFooterType headerType)
    56         {
    57             HeaderFooter header = sect.HeadersFooters[headerType];
    58             if (header == null)
    59             {
    60                 // There is no header of the specified type in the current section, create it.
    61                 header = new HeaderFooter(sect.Document, headerType);
    62                 sect.HeadersFooters.Add(header);
    63             }
    64             //在标题中插入一个水印的克隆。
    65             header.AppendChild(watermarkPara.Clone(true));
    66         }
    67     }
    68 }
     

    3、本文项目代码下载

    下载地址:https://www.cjavapy.com/download/5be40359dc72d915fc310687/

    相关文档:.NET Core Aspose Word(.doc,docx)转成pdf文件

                      VS(Visual Studio)中Nuget的使用

  • 相关阅读:
    详谈 Jquery Ajax 异步处理Json数据.
    基于Jquery+Ajax+Json+高效分页
    JSON资料整理
    站立会议第七天
    站立会议第六天
    站立会议第五天
    站立会议第四天
    用户场景分析
    站立会议第三天
    站立会议第二天
  • 原文地址:https://www.cnblogs.com/micro-chen/p/13613827.html
Copyright © 2011-2022 走看看