TextBox Shape with Rich Text Format content

Hello,
I try to add to document a textbox with rich text format,
For instance,
With this code, we can add normal (standard) text:

Aspose.Words.Paragraph par = new Aspose.Words.Paragraph(doc);
par.AppendChild(new Run(doc, "HELLO"));
textbox.AppendChild(par);

But this is not valid if text is on rich text format. With a Word Object will be…

Word.Shape shape = WordApp.ActiveDocument.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 100, 100, 100, ref missing);
shape.RTF = richTextBox1.Rtf;

How can i do this with Aspose?
Thanks!!!

Hi

Thanks for your request. There is no direct way to achieve this using Aspose.Words. However, you can use the same technique as described here to insert RTF:
Hope this helps.
Best regards.

Hi Alexey,
Into the link you just post me up, said:

// Insert rtd document into destination document
InsertDocument(insertAfterparentParagraph, rtfDoc);

Insert document method you can find here.
https://docs.aspose.com/words/java/insert-and-append-documents/
This link with method InsertDocument is broken. Please, can you post me this method? It is helpfull for me.
Thanks very much!!!

I just found here!, thanks!!
https://docs.aspose.com/words/net/insert-and-append-documents/

Hi again,
How can i insert a RTF document into a TextBox?.
I did this but not works, report me errors with Node InsertAfterNode parameter of InsertDocument method:

doc–> is the main document and will contains the textbox
rtfDoc --> is the rtfDoc with textbox content on RTF format.
textbox --> is the TextBox object.
How can i fill the InsertAfterNode parameter? (because textbox.FirstParagraph.FirstChild not works).
I know that is a node of TextBox but, what?

InsertDocument(?????, rtfDoc); 

PD.- TextBox is empty, has no paragrahs, i have created it only with this clause…

Shape textbox = new Shape(doc, ShapeType.TextBox);

Thanks!!

Hi

Thanks for your request. You should just add one empty paragraph into the TextBox, then insert a document after this paragraph and then just remove this paragraph. Your code should look like the following:

// Create or open document.
Document doc = new Document();
// Open RTF document (or other document), which should be inserted into a textbox.
Document src = new Document(@"Test001\in.doc");
// Create textbox shape.
Shape textbox = new Shape(doc, ShapeType.TextBox);
textbox.Width = 300;
textbox.Height = 300;
// Insert one empty paragraph into the textbox.
textbox.AppendChild(new Paragraph(doc));
// Insert our source document after the first paragraph in the textbox.
InsertDocument(textbox.FirstParagraph, src);
// Remove the first empty paragraph from the textbox.
textbox.FirstParagraph.Remove();
// Insert textbox into the document.
doc.FirstSection.Body.FirstParagraph.AppendChild(textbox);
doc.Save(@"Test001\out.doc");

Hope this helps.
Best regards.

I just found a possible solution.
I need create a new paragraph with string empty. Now i can reference to textbox.FirstChild node on InsertDocument parameter.
Here you are the code snippet:

Paragraph par = new Paragraph(doc);
par.AppendChild(new Run(doc, string.Empty));
textbox.AppendChild(par);
InsertDocument(textbox.FirstChild as Paragraph, rtfDoc);

If you know a better solution, please tell me.
Thanks for your pattience!
Best regards!.

Alexey, we post the solution at the same time!! :wink:
Thanks very much!!!