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.