MS Word容許用戶從形狀菜單中選擇一個形狀,並將其拖放到頁面上任何所需的位置。 從Spire.Doc 6.0或更高版本,咱們添加了一個新功能,使用代碼來處理形狀。 如下部分將介紹如何使用Spire.Doc在Word文檔指定的位置插入形狀和形狀組。html
代碼段:orm
Step 1:初始化一個新的Document類實例。htm
Document doc = new Document();
Step 2:向Word文檔添加一個新的部分,並在該部分添加一個段落。blog
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:將文檔保存到文件。get
doc.SaveToFile("InsertShapes.docx", FileFormat.Docx2010);
結果:it
完整代碼:io
[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.Red shape1.StrokeColor = Color.Red shape1.HorizontalPosition = 200 shape1.VerticalPosition = 100 Dim shape2 As ShapeObject = 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 Dim 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)