I would like to ask about how can I warp the text to let the long text auto return to the next line
- Code: Select all
section.PageNumber = new PdfPageNumber();
section.PageNumber.NumberStyle = PdfNumberStyle.LowerRoman;
section.PageNumber.Prefix = "cover ";
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Margins.All = 0;
PdfPageBase page = section.Pages.Add();
DrawPageHeaderAndFooter(page, margin, true);
//Cover content
PdfBrush brush1 = PdfBrushes.Black;
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial", 18f, FontStyle.Bold));
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center);
format.MeasureTrailingSpaces = true;
string strOwnerName = model.ownername;
DateTime dtWillCreated = DateTime.Now;
String text1 = "THE LAST WILL AND TESTAMENT";
String text2 = "OF";
String text3 = strOwnerName.Trim().ToUpper();
String htmlText = "<b>DATED THIS </b>" + "<b>" + dtWillCreated.ToString("dd") + "</b>" + "<b> DAY OF </b>" + "<b>" + dtWillCreated.ToString("MMMM").ToUpper() + "</b>" + " " + "<b>" + dtWillCreated.ToString("yyyy") + "</b>";
SizeF size = font1.MeasureString(text1, format);
float pageWidth = page.Canvas.ClientSize.Width;
float pageHeight = page.Canvas.ClientSize.Height;
float x = pageWidth / 2, y = 150;
y = y + margin.Top;
page.Canvas.DrawString(text1, font1, brush1, x, y, format);
y = y + font1.MeasureString(text1, format).Height + 100;
page.Canvas.DrawString(text2, font1, brush1, x, y, format);
y = y + font1.MeasureString(text2, format).Height + 100;
page.Canvas.DrawString(text3, font1, brush1, x, y, format);
y = y + font1.MeasureString(text3, format).Height + 100;
PdfHTMLTextElement richTextElement = new PdfHTMLTextElement(htmlText, font1, brush1);
richTextElement.TextAlign = Spire.Pdf.Graphics.TextAlign.Center;
//Format Layout
PdfMetafileLayoutFormat HTMLformat = new PdfMetafileLayoutFormat();
HTMLformat.Layout = PdfLayoutType.Paginate;
HTMLformat.Break = PdfLayoutBreakType.FitPage;
//Draw htmlString
richTextElement.Draw(page.Canvas, new RectangleF(0, y, pageWidth, pageHeight / 2));
y = y + font1.MeasureString(htmlText, format).Height + 6;

If the text is long, the text3, how i can i make it auto return like warping the text.






