添加水印前word部分内容如下图:
image.png (3.8 KB)
添加水印后导致变化如下图:
image.png (7.1 KB)
添加水印代码如下:
public MemoryStream AddPictureWatermark(MemoryStream wordStream, Stream imgStream)
{
// 创建Document对象
var document = new Aspose.Words.Document(wordStream);
ImageWatermarkOptions watermarkOptions = new ImageWatermarkOptions();
watermarkOptions.IsWashout = true;
// 将水印图片转换为SKBitmap
var skBitmap = SKBitmap.Decode(imgStream);
//设置图片水印
document.Watermark.SetImage(skBitmap, watermarkOptions);
var ms = new MemoryStream();
document.Save(ms, Aspose.Words.SaveFormat.Docx);
ms.Position = 0;
return ms;
}
@oyaspose, 您能否分享一下Word文档,以便我们分析一下导致行距变化的原因?
@denis.shvydkiy
好的,这是NPOI生成的Word文档,没水印的;
信用周报.docx (604.9 KB)
加了水印后的文档如下:
加水印文档.docx (1.3 MB)
@oyaspose, 您能否指定如下例所示的 LoadOptions 并检查它是否有助于解决问题?
LoadOptions opts = new LoadOptions();
opts.LanguagePreferences.DefaultEditingLanguage = EditingLanguage.ChinesePRC;
Document doc = new("信用周报.docx");
ImageWatermarkOptions watermarkOptions = new ImageWatermarkOptions();
watermarkOptions.IsWashout = true;
var skBitmap = SKBitmap.Decode("watermark.png");
doc.Watermark.SetImage(skBitmap, watermarkOptions);
doc.Save("out.docx");
在水印保存后 加一句它可以恢复原来样式;
document.CopyStylesFromTemplate(new Document(new MemoryStream()));
lzx9527
6
您好 大佬 可以看下我主页的动态表格问题吗? 向您学习,谢谢
@oyaspose, 抱歉,我不明白你最后一条消息。 您能详细说明一下吗?