博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spire.Doc 教程:如何在C#,VB.NET中为Word文档插入形状和形状组
阅读量:7039 次
发布时间:2019-06-28

本文共 5219 字,大约阅读时间需要 17 分钟。

hot3.png

MS Word允许用户从形状菜单中选择一个形状,并将其拖放到页面上任何所需的位置。 从或更高版本,我们添加了一个新功能,使用代码来处理形状。 以下部分将介绍如何使用在Word文档指定的位置插入形状和形状组。

代码段:

Step 1:初始化一个新的Document类实例。

Document doc = new Document();

Step 2:向Word文档添加一个新的部分,并在该部分添加一个段落。

Section sec = doc.AddSection();Paragraph para1 =sec.AddParagraph();

Step 3:通过调用AppendShape()方法向段落添加形状。为了找到放置形状的位置,需设置ShapeObject类的HorizontalPosition和VerticalPosition属性,我们还可以通过设置FillColor,StrokeColor和LineStyle属性来格式化形状。

ShapeObject shape1 = para1.AppendShape(50, 50, ShapeType.Heart);shape1.FillColor = Color.Red;shape1.StrokeColor = Color.Red;shape1.HorizontalPosition = 200;shape1.VerticalPosition = 100;ShapeObject shape2 = para1.AppendShape(100, 100, ShapeType.Arrow);shape2.FillColor = Color.Purple;shape2.StrokeColor = Color.Black;shape2.LineStyle = ShapeLineStyle.Double;shape2.StrokeWeight = 3;shape2.HorizontalPosition = 200;shape2.VerticalPosition = 200;

Step 4:添加一个新段落,并通过调用AppendShapeGroup()方法向段落插入一个形状组。

ShapeObject shape1 = para1.AppendShape(50, 50, ShapeType.Heart);shape1.FillColor = Color.Red;shape1.StrokeColor = Color.Red;shape1.HorizontalPosition = 200;shape1.VerticalPosition = 100;ShapeObject shape2 = para1.AppendShape(100, 100, ShapeType.Arrow);shape2.FillColor = Color.Purple;shape2.StrokeColor = Color.Black;shape2.LineStyle = ShapeLineStyle.Double;shape2.StrokeWeight = 3;shape2.HorizontalPosition = 200;shape2.VerticalPosition = 200;/Paragraph para2 = sec.AddParagraph();ShapeGroup shapegr = para2.AppendShapeGroup(200, 400);shapegr.ChildObjects.Add(new ShapeObject(doc, ShapeType.Rectangle){    Width = 500,    Height = 300,    LineStyle = ShapeLineStyle.ThickThin,    StrokeColor = System.Drawing.Color.Blue,    StrokeWeight = 1.5,});shapegr.ChildObjects.Add(new ShapeObject(doc, ShapeType.RightTriangle){    Width = 500,    Height = 300,    VerticalPosition = 301,    LineStyle = ShapeLineStyle.ThickThin,    StrokeColor = System.Drawing.Color.Green,    StrokeWeight = 1.5,});shapegr.ChildObjects.Add(new ShapeObject(doc, ShapeType.QuadArrow){    Width = 500,    Height = 300,    VerticalPosition = 601,    LineStyle = ShapeLineStyle.ThickThin,    StrokeColor = System.Drawing.Color.Blue,    StrokeWeight = 1.5,});

Step 5:将文档保存到文件。

doc.SaveToFile("InsertShapes.docx", FileFormat.Docx2010);

结果:

图片1

完整代码:

[C#]

Document doc = new Document();Section sec = doc.AddSection();Paragraph para1 =sec.AddParagraph();ShapeObject shape1 = para1.AppendShape(50, 50, ShapeType.Heart);shape1.FillColor = Color.Red;shape1.StrokeColor = Color.Red;shape1.HorizontalPosition = 200;shape1.VerticalPosition = 100;ShapeObject shape2 = para1.AppendShape(100, 100, ShapeType.Arrow);shape2.FillColor = Color.Purple;shape2.StrokeColor = Color.Black;shape2.LineStyle = ShapeLineStyle.Double;shape2.StrokeWeight = 3;shape2.HorizontalPosition = 200;shape2.VerticalPosition = 200;Paragraph para2 = sec.AddParagraph();ShapeGroup shapegr = para2.AppendShapeGroup(200, 400);shapegr.ChildObjects.Add(new ShapeObject(doc, ShapeType.Rectangle){    Width = 500,    Height = 300,    LineStyle = ShapeLineStyle.ThickThin,    StrokeColor = System.Drawing.Color.Blue,    StrokeWeight = 1.5,});shapegr.ChildObjects.Add(new ShapeObject(doc, ShapeType.RightTriangle){    Width = 500,    Height = 300,    VerticalPosition = 301,    LineStyle = ShapeLineStyle.ThickThin,    StrokeColor = System.Drawing.Color.Green,    StrokeWeight = 1.5,});shapegr.ChildObjects.Add(new ShapeObject(doc, ShapeType.QuadArrow){    Width = 500,    Height = 300,    VerticalPosition = 601,    LineStyle = ShapeLineStyle.ThickThin,    StrokeColor = System.Drawing.Color.Blue,    StrokeWeight = 1.5,});doc.SaveToFile("InsertShapes.docx", FileFormat.Docx2010);

[VB.NET]

Dim doc As New Document()Dim sec As Section = doc.AddSection()Dim para1 As Paragraph = sec.AddParagraph()Dim shape1 As ShapeObject = para1.AppendShape(50, 50, ShapeType.Heart)shape1.FillColor = Color.Redshape1.StrokeColor = Color.Redshape1.HorizontalPosition = 200shape1.VerticalPosition = 100Dim shape2 As ShapeObject = para1.AppendShape(100, 100, ShapeType.Arrow)shape2.FillColor = Color.Purpleshape2.StrokeColor = Color.Blackshape2.LineStyle = ShapeLineStyle.[Double]shape2.StrokeWeight = 3shape2.HorizontalPosition = 200shape2.VerticalPosition = 200Dim para2 As Paragraph = sec.AddParagraph()Dim shapegr As ShapeGroup = para2.AppendShapeGroup(200, 400)shapegr.ChildObjects.Add(New ShapeObject(doc, ShapeType.Rectangle) With { _    Key .Width = 500, _    Key .Height = 300, _    Key .LineStyle = ShapeLineStyle.ThickThin, _    Key .StrokeColor = System.Drawing.Color.Blue, _    Key .StrokeWeight = 1.5 _})shapegr.ChildObjects.Add(New ShapeObject(doc, ShapeType.RightTriangle) With { _    Key .Width = 500, _    Key .Height = 300, _    Key .VerticalPosition = 301, _    Key .LineStyle = ShapeLineStyle.ThickThin, _    Key .StrokeColor = System.Drawing.Color.Green, _    Key .StrokeWeight = 1.5 _})shapegr.ChildObjects.Add(New ShapeObject(doc, ShapeType.QuadArrow) With { _    Key .Width = 500, _    Key .Height = 300, _    Key .VerticalPosition = 601, _    Key .LineStyle = ShapeLineStyle.ThickThin, _    Key .StrokeColor = System.Drawing.Color.Blue, _    Key .StrokeWeight = 1.5 _})doc.SaveToFile("InsertShapes.docx", FileFormat.Docx2010)

转载于:https://my.oschina.net/u/3006003/blog/1486305

你可能感兴趣的文章
构建Ruby开发环境(Windows+Eclipse+Aptana Plugin)
查看>>
Miao Xian 隐私政策
查看>>
三维实景下的南极科考站是什么样子?
查看>>
Linux利用scp命令来进行文件复制
查看>>
【LabVIEW技巧】你可以不懂OOP,却不能不懂封装
查看>>
《Programming in Lua 3》读书笔记(十五)
查看>>
PHP读取xlsx Excel 文件
查看>>
R语言模型中的加总偏误与内生性:一种数值模拟方法
查看>>
ajax进error的原因
查看>>
[数据结构]浅谈哈希表的冲突避免策略
查看>>
python全栈考试作业 2017-03-30
查看>>
easyshell 安装
查看>>
前端工程师的未来
查看>>
JDBC原理
查看>>
Firefly distributed模块的原理与twisted中PB远程调用协议
查看>>
php模拟post提交数据,用处很多,可用来网站的采集,登陆等等
查看>>
Gabor学习笔记
查看>>
Python深入02 上下文管理器
查看>>
SELinux
查看>>
Cisco交换机基础命令 + Win Server08 R2 多网卡配置链路聚合
查看>>