Word控件Spire.Doc 【图像形状】教程(6): 如何在 C#、VB.NET 的 Word 文档中插入形状和形状组

以下部分将介绍如何使用 Spire.Doc 在 Word 文档中的指定位置插入形状和形状组,欢迎查阅~

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

代码片段:

第 1 步:初始化 Document 类的新实例。

Document doc = new Document();

第 2 步:在 Word 文档中添加一个新部分,并在该部分中添加一个段落。

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

第 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;

第 4 步:添加一个新段落并通过调用 AppendShapeGroup() 方法将一个形状组插入该段落。

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,});

第 5 步:将文档保存到文件中。

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

结果

如何在 C#、VB.NET 的 Word 文档中插入形状和形状组

完整代码

[C#]

using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;using System.Drawing;namespace InsertShape{class Program{static void Main(string[] args){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]

Imports Spire.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsImports System.DrawingNamespace InsertShapeClass ProgramPrivate Shared Sub Main(args As String())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)End SubEnd ClassEnd Namespace

以上便是如何在 C# 中将文本环绕在图像周围,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。


欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询在线客服  


标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月9日 上午11:12
下一篇 2022年9月9日

相关推荐

发表回复

登录后才能评论