I'm making a windows form for a friend who delivers packages. I want to transfer his current paper form, into a PDF with the iTextSharp library.
What I need:
I want the table to have a little headline, "Company name" for example, where the text should be a little smaller than the text input from the windows form. Currently I'm using cells and was wondering if I can use 2 different font sizes within the same cell?
What I have:
table.AddCell("Static headline" + Chunk.NEWLINE + richTextBox1.Text);
var normalFont = FontFactory.GetFont(FontFactory.HELVETICA, 9); var boldFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12); table.AddCell("Static headline", boldFont + Chunk.NEWLINE + richTextBox1.Text, normalFont);
You're passing a
String and a
Font to the
AddCell() method. That's not going to work. You need the
AddCell() method that takes a
Phrase object or a
PdfPCell object as parameter.
Phrase is an object that consists of different
Chunks, and the different
Chunks can have different font sizes. For instance:
Phrase phrase = new Phrase(); phrase.Add( new Chunk("Some BOLD text", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)) ); phrase.Add(new Chunk(", some normal text", new Font())); table.AddCell(phrase);
PdfPCell is an object to which you can add different objects, such as
PdfPCell cell = new PdfPCell(); cell.AddElement(new Paragraph("Hello")); cell.AddElement(list); cell.AddElement(image);
In this snippet
list is of type
image is of type
The first snippet uses text mode; the second snippet uses composite mode. Cells behave very differently depending on the mode you use.
Click this link if you want to see how to answer this question in iText 7.