The PDF I can produce at the moment:
(source: yart.com.au)
I want the text to fill up the space in the lower left. How can I do that? Thanks!
This is my code:
private static void CreatePdf4(string pdfFilename, string heading, string text, string[] photos, string emoticon) { Document document = new Document(PageSize.A4.Rotate(), 26, 36, 0, 0); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(pdfFilename, FileMode.Create)); document.Open(); // Heading Paragraph pHeading = new Paragraph(new Chunk(heading, FontFactory.GetFont(FontFactory.HELVETICA, 54, Font.NORMAL))); document.Add(pHeading); // Photo 1 Image img1 = Image.GetInstance(HttpContext.Current.Server.MapPath("/uploads/photos/" + photos[0])); img1.ScaleAbsolute(350, 261); img1.SetAbsolutePosition(46, 220); img1.Alignment = Image.TEXTWRAP; document.Add(img1); // Photo 2 Image img2 = Image.GetInstance(HttpContext.Current.Server.MapPath("/uploads/photos/" + photos[1])); img2.ScaleAbsolute(350, 261); img2.SetAbsolutePosition(438, 220); img2.Alignment = Image.TEXTWRAP; document.Add(img2); // Text PdfContentByte cb = writer.DirectContent; cb.BeginText(); cb.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, false), 18); cb.SetTextMatrix(46, 175); cb.ShowText(text); cb.EndText(); // Photo 3 Image img3 = Image.GetInstance(HttpContext.Current.Server.MapPath("/uploads/photos/" + photos[2])); img3.ScaleAbsolute(113, 153); img3.SetAbsolutePosition(556, 38); document.Add(img3); // Emoticon Image imgEmo = Image.GetInstance(HttpContext.Current.Server.MapPath("/Content/images/" + emoticon)); imgEmo.ScaleToFit(80, 80); imgEmo.SetAbsolutePosition(692, 70); document.Add(imgEmo); document.Close(); }
In a worksheet, select the cells that you want to format. On the Home tab, in the Alignment group, click Wrap Text. (On Excel for desktop, you can also select the cell, and then press Alt + H + W.)
Select Format and then under Arrange, select Wrap Text. Choose the wrapping option that you want to apply. Tip: To change a picture or drawing object's position on the page relative to the text, select the picture or object, select Format > Position, and then select the position that you want.
Solved
PdfContentByte cb = writer.DirectContent; ColumnText ct = new ColumnText(cb); ct.SetSimpleColumn(new Phrase(new Chunk(text, FontFactory.GetFont(FontFactory.HELVETICA, 18, Font.NORMAL))), 46, 190, 530, 36, 25, Element.ALIGN_LEFT | Element.ALIGN_TOP); ct.Go();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With