Shape |
The ShapeBase type exposes the following members.
Name | Description | |
---|---|---|
CharacterFormat | Gets or sets the character format. | |
Description | Specifies alternative text for the current DrawingML object, for use by assistive technologies or applications which do not display the current object. If this element is omitted, then no alternative text is present for the parent object. | |
Fill | Gets the Brush that specifies how the shape's interior is filled. | |
FlipOrientation | Gets or sets the orientation of a shape. | |
IsTopLevel | Returns true if this shape is not a child of a group shape. | |
Layout | Gets or sets the ShapeBase layout (position and size). | |
ParentGroup | Gets the parent group shape. | |
Rotation | Gets or sets the angle (in degrees) that a shape is rotated. Positive value corresponds to clockwise rotation angle. |
See Developer Guide: Insert an image and shape inline or in the specified position
using System; using SautinSoft.Document; using System.Text; using SautinSoft.Document.Drawing; namespace Example { class Program { static void Main(string[] args) { // Get your free 100-day key here: // https://sautinsoft.com/start-for-free/ InsertingImage(); } /// <summary> /// Insert an image and shape inline or in the specified position using DocumentBuilder. /// </summary> /// <remarks> /// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/documentbuilder-inserting-image.php /// </remarks> static void InsertingImage() { DocumentCore dc = new DocumentCore(); DocumentBuilder db = new DocumentBuilder(dc); string resultPath = @"Result.docx"; string pictPath = @"..\..\..\logo.png"; // Insert the formatted text into the document using DocumentBuilder. db.CharacterFormat.FontName = "Courier"; db.CharacterFormat.Size = 17f; db.CharacterFormat.Italic = true; db.CharacterFormat.FontColor = Color.Orange; db.Writeln("Insert an Image and Shape using DocumentBuilder."); // Images: // 1st way: Insert an Inline image into the document. // Specify the image size and rotation (if required). Picture pict1 = db.InsertImage(pictPath, new Size(100, 30, LengthUnit.Millimeter)); pict1.Rotation = -3; // 2nd way: Insert a Floating image from a file at the specified position. Picture pict2 = db.InsertImage(pictPath, new HorizontalPosition(1, LengthUnit.Centimeter, HorizontalPositionAnchor.LeftMargin), new VerticalPosition(8, LengthUnit.Centimeter, VerticalPositionAnchor.TopMargin), WrappingStyle.InFrontOfText); // Shapes: // 1st way: Insert an Inline shape. Shape shp1 = db.InsertShape(Figure.SmileyFace, new Size(3, 3, LengthUnit.Centimeter)); // 2nd way: Insert a Floating shape with specified position, size and text wrap style. Size size1 = new Size(7, 6, LengthUnit.Centimeter); Shape shp2 = db.InsertShape(Figure.RoundRectangle, new HorizontalPosition(8, LengthUnit.Centimeter,HorizontalPositionAnchor.LeftMargin), new VerticalPosition(10, LengthUnit.Centimeter, VerticalPositionAnchor.TopMargin), WrappingStyle.InFrontOfText, new Size(7, 6, LengthUnit.Centimeter)); shp2.Fill.SetSolid(Color.White); // Move the "cursor" position inside the shape content. db.MoveTo(shp2.Text.Blocks.Content.Start); db.CharacterFormat.FontColor = Color.Green; db.CharacterFormat.Size = 26f; db.Writeln("Text inside Shape."); // Move the "cursor" back to the paragraph with "shp1". db.MoveTo(shp1.Content.End); // Save our document into DOCX format. dc.Save(resultPath, new DocxSaveOptions()); // Important for Linux: Install MS Fonts // sudo apt install ttf-mscorefonts-installer -y // Open the result for demonstration purposes. System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(resultPath) { UseShellExecute = true }); } } }
Imports System Imports SautinSoft.Document Imports System.Text Imports SautinSoft.Document.Drawing Namespace Example Friend Class Program Shared Sub Main(ByVal args() As String) InsertingImage() End Sub ''' Get your free 100-day key here: ''' https://sautinsoft.com/start-for-free/ ''' <summary> ''' Insert an image and shape inline or in the specified position using DocumentBuilder. ''' </summary> ''' <remarks> ''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/documentbuilder-inserting-image.php ''' </remarks> Private Shared Sub InsertingImage() Dim dc As New DocumentCore() Dim db As New DocumentBuilder(dc) Dim resultPath As String = "result.docx" Dim pictPath As String = "..\..\..\logo.png" ' Insert the formatted text into the document using DocumentBuilder. db.CharacterFormat.FontName = "Courier" db.CharacterFormat.Size = 17.0F db.CharacterFormat.Italic = True db.CharacterFormat.FontColor = Color.Orange db.Writeln("Insert an Image and Shape using DocumentBuilder.") ' Images: ' 1st way: Insert an Inline image into the document. ' Specify the image size and rotation (if required). Dim pict1 As Picture = db.InsertImage(pictPath, New Size(100, 30, LengthUnit.Millimeter)) pict1.Rotation = -3 ' 2nd way: Insert a Floating image from a file at the specified position. Dim pict2 As Picture = db.InsertImage(pictPath, New HorizontalPosition(1, LengthUnit.Centimeter, HorizontalPositionAnchor.LeftMargin), New VerticalPosition(8, LengthUnit.Centimeter, VerticalPositionAnchor.TopMargin), WrappingStyle.InFrontOfText) ' Shapes: ' 1st way: Insert an Inline shape. Dim shp1 As Shape = db.InsertShape(Figure.SmileyFace, New Size(3, 3, LengthUnit.Centimeter)) ' 2nd way: Insert a Floating shape with specified position, size and text wrap style. Dim size1 As New Size(7, 6, LengthUnit.Centimeter) Dim shp2 As Shape = db.InsertShape(Figure.RoundRectangle, New HorizontalPosition(8, LengthUnit.Centimeter, HorizontalPositionAnchor.LeftMargin), New VerticalPosition(10, LengthUnit.Centimeter, VerticalPositionAnchor.TopMargin), WrappingStyle.InFrontOfText, New Size(7, 6, LengthUnit.Centimeter)) shp2.Fill.SetSolid(Color.White) ' Move the "cursor" position inside the shape content. db.MoveTo(shp2.Text.Blocks.Content.Start) db.CharacterFormat.FontColor = Color.Green db.CharacterFormat.Size = 26.0F db.Writeln("Text inside Shape.") ' Move the "cursor" back to the paragraph with "shp1". db.MoveTo(shp1.Content.End) ' Save our document into DOCX format. dc.Save(resultPath, New DocxSaveOptions()) ' Open the result for demonstration purposes. System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(resultPath) With {.UseShellExecute = True}) End Sub End Class End Namespace