Free Support Forum - aspose.com

Textbox shape still wordwrap after property shape.textbox.textboxwrapmode setted to none

Hi,


I’m actually having a problem with textbox shape. I set both shape and textbox wrap mode properties to “none” and still wrap text if it exceeds shape width.

Here’s the code:

Private Function GetNewShape(ByVal builder As DocumentBuilder, ByVal shapeType As ShapeType, _
ByVal left As Double, ByVal top As Double, _
ByVal width As Double, ByVal height As Double) As Shape

Dim shape = New Shape(builder.Document, shapeType)

shape.AllowOverlap = True
shape.Left = left
shape.Top = top
shape.Width = width
shape.Height = height
shape.Stroked = False
shape.WrapType = WrapType.None

Select Case shapeType
Case Drawing.ShapeType.TextBox
shape.TextBox.FitShapeToText = False
shape.TextBox.InternalMarginBottom = 1
shape.TextBox.InternalMarginTop = 1
shape.TextBox.InternalMarginRight = 1
shape.TextBox.InternalMarginLeft = 1

shape.TextBox.TextBoxWrapMode = TextBoxWrapMode.None
Case Drawing.ShapeType.Image


End Select

Return shape
End Function


Is this a known issue or am I missing something?!

Thanks to you!

JSr

Hi

Thanks for your request. Unfortunately, I cannot reproduce the problem on my side. I used the following code for testing:

Dim doc As New Document()

Dim builder As New DocumentBuilder(doc)

Dim shape = New Shape(builder.Document, ShapeType.TextBox)

shape.AllowOverlap = True

shape.Width = 10

shape.Height = 10

shape.Stroked = False

shape.TextBox.FitShapeToText = True

shape.Textbox.TextBoxWrapMode = TextBoxWrapMode.None

shape.TextBox.InternalMarginBottom = 1

shape.TextBox.InternalMarginTop = 1

shape.TextBox.InternalMarginRight = 1

shape.TextBox.InternalMarginLeft = 1

builder.InsertNode(shape)

' insert some text into tetbox.

Dim par As New Paragraph(doc)

shape.AppendChild(par)

builder.MoveTo(par)

builder.Write("This text will not wrap inside textbox")

doc.Save("C:\Temp\out.doc")

I used the latest version of Aspose.Words for testing. You can download it from here:

http://www.aspose.com/community/files/51/.net-components/aspose.words-for-.net/category1188.aspx

Best regards,

Hi,

Thank you for your reply. The text doesn't wrap because you set "FitShapeToText" to true so the textbox grows for the text to fit in it.

I would like to draw a textbox, lets say it has 50 as width value. I'd like the textbox to display as much chars as it can in its width, and doesn't display the exceeding ones instead of wrapping.

I hope you understand my point! Sorry for my english too...

Thanks,

Jsr

Hi

Thank you for additional information. In this case, you should fix both width and height of text box. If height of text box will enough only for one line of text, the rest text will not be visible. But in this case, if height of text box is bier, text will wrap. I am afraid you cannot prevent this.

Dim doc As New Document()

Dim builder As New DocumentBuilder(doc)

Dim shape = New Shape(builder.Document, ShapeType.TextBox)

shape.AllowOverlap = True

' Set fixed sizr of textbox

shape.Width = 100

shape.Height = 14

shape.Stroked = False

shape.TextBox.InternalMarginBottom = 1

shape.TextBox.InternalMarginTop = 1

shape.TextBox.InternalMarginRight = 1

shape.TextBox.InternalMarginLeft = 1

builder.InsertNode(shape)

' insert some text into tetbox.

Dim par As New Paragraph(doc)

shape.AppendChild(par)

builder.MoveTo(par)

builder.Write("This text will not wrap inside textbox")

doc.Save("C:\Temp\out.doc")

best regards,

Hi,

Thanks once again, nice support!

That workaround works great here for the moment.

Have a nice day,

Jsr