遇到一个需求,自动生成签章,会制作一个word模板,然后使用png图片自动插入word中某个位置实现签章功能,而且要求插入的图片悬浮在文字之上。这个本来需要在word中设置,后来研究了一下官网找到如下属性,仅供自己以后学习参考。
1. 在word中插入一个标签(此处略)
2. 在程序中创建读取word模板并识别到mark标记,(此处略)
3. 插入图片并完成图片设置悬浮,并附相关属性。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// 插入将显示在重叠文本后面的浮动图像,并将其与页面中心对齐。
Shape shape = builder.InsertImage(ImageDir + "Logo.jpg");
shape.WrapType = WrapType.None;
shape.BehindText = true;
shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
shape.RelativeVerticalPosition = RelativeVerticalPosition.Page;
shape.HorizontalAlignment = HorizontalAlignment.Center;
shape.VerticalAlignment = VerticalAlignment.Center;
doc.Save(ArtifactsDir + "Image.CreateFloatingPageCenter.docx");
WrapType.None 是设置悬浮,更多属性如下表
属性名 | 值 | 描述 |
---|---|---|
None | 3 | 形状周围没有文字环绕。形状放置在文本后面或前面。 |
Inline | 0 | 形状与文本保持在同一层上,并被视为字符。 |
TopBottom | 1 | 文本在形状的顶部停止,并在形状下方的行上重新开始。 |
Square | 2 | 围绕形状的方形边界框的所有边换行文字。 |
Tight | 4 | 紧紧围绕形状的边缘,而不是围绕边界框。 |
Through | 5 | 与“Tight”相同,但包裹在形状的任何打开部分内。 |