Wrap text

How do you wrap text in a paragraph?

Dear jmitchell421,

If you will set the wrap text property (Textframe.setWrapText) of textframe, then text will be wrapped whenever text will exceeds the boundry of rectangle holding a textframe.

The below JAVA code creates a textframe and sets its wrap text property. It is commented and you can check the effects of various properties by commenting/uncommenting them.

I have also attached the code and the generated presentation.

Presentation pres=new Presentation();

Slide sld=pres.getSlideByPosition(1);

//Wrap text

com.aspose.slides.Rectangle rect=sld.getShapes().addRectangle(100, 100, 800, 300);

//make rectangle lines invisible

rect.getLineFormat().setShowLines(false); //Uncomment this line to make lines invsible

TextFrame tf=rect.addTextFrame(" ");

//Enable the text frame's shape to expand automatically

tf.setFitShapeToText(true);

//Wrap the textframe, if it exceeds rectangle's width

tf.setWrapText(true);

//Set some long text

tf.getParagraphs().get(0).getPortions().get(0).setText("There is a lot of text. There is lot of text.There is a lot of text. There is lot of text.");

//write presentation on disk

pres.write(new FileOutputStream(new File("c:\\outPres.ppt")));

For C# code, see this thread.

https://forum.aspose.com/t/105399

what about vb.net code?

can someone help me with the answer in vb???

Below is exactly the same code in VB.NET

-----------------------------------------------------------------

Dim pres As New Presentation

Dim sld As Slide = pres.GetSlideByPosition(1)

'Wrap Text

Dim rect As Aspose.Slides.Rectangle

rect = sld.Shapes.AddRectangle(100, 100, 800, 300)

'Make rectangle lines invisible

rect.LineFormat.ShowLines = False

'Add textframe

'Enable the text frame's shape to expand automatically

Dim tf As TextFrame = rect.AddTextFrame(" ")

tf.FitShapeToText = True

'Wrap the textframe, if it exceeds rectangle's width

tf.WrapText = True

'Set some long text.

tf.Paragraphs(0).Portions(0).Text = "There is a lot of text. There is lot of text.There is a lot of text. There is lot of text."

'Write presentation on disk

pres.Write("c:\outPres.ppt")

Dim srcPres As Presentation = New Presentation("c:\formattedText.ppt")

Dim dstPres As Presentation = New Presentation

'Get the reference to first slide by cloning it

Dim srcSld As Slide

srcSld = srcPres.CloneSlide(srcPres.GetSlideByPosition(1), _

dstPres.Slides.LastSlidePosition + 1, dstPres, New SortedList())

'Get the reference to formatted text

'I had set its alternative text to get it quickly

'using findshape method

Dim srcRect As Aspose.Slides.Rectangle

Dim srcTF As TextFrame

srcRect = srcSld.FindShape("formattedText")

srcTF = srcRect.TextFrame

'Add a new text frame on destination presentation

Dim dstSld As Slide

dstSld = dstPres.GetSlideByPosition(1)

'Add the invisible rectangle

Dim dstRect As Aspose.Slides.Rectangle

dstRect = dstSld.Shapes.AddRectangle(400, 600, 3000, 1)

dstRect.LineFormat.ShowLines = False

'Change the background color of the rectangle

'with the source textframe's rectangle

dstRect.FillFormat.Type = srcRect.FillFormat.Type

dstRect.FillFormat.ForeColor = srcRect.FillFormat.ForeColor

'Add textframe inside rectangle

Dim dstTF As TextFrame

dstTF = dstRect.AddTextFrame(" ")

'Textframe's rectangle will expand automatically with more tex

dstTF.FitShapeToText = True

'Text will be wrapped if it exceeds rectangle boundries

dstTF.WrapText = True

'Clear all the portions inside the textframe

dstTF.Paragraphs(0).Portions.Clear()

'Now clone the portion object

Dim port As Portion, newPort As Portion

port = srcTF.Paragraphs(0).Portions(0)

newPort = New Portion(port)

'Add the some text into newPort

newPort.Text = "I have imported the formatting of the text."

'Add portion into the destination textframe

dstTF.Paragraphs(0).Portions.Add(newPort)

'Remove the cloned slide

dstPres.Slides.Remove(srcSld)

'Finally presentation on disk

dstPres.Write("c:\outPres.ppt")