Legacy notice!

iText 5 is the previous major version of iText's leading PDF SDK. iText 5 has been EOL, and is no longer developed. Switch your project to iText 7, integrating the latest developments.
Check related iText 7 content!

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);
What I "want":

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);
Posted on StackOverflow on Feb 13, 2014 by Frederik Kiel

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.

A Phrase is an object that consists of different Chunks, and the different Chunks can have different font sizes. For instance:

Phrase phrase = new Phrase();
    new Chunk("Some BOLD text",  new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD))
phrase.Add(new Chunk(", some normal text", new Font()));

A PdfPCell is an object to which you can add different objects, such as Phrases, Paragraphs, Images,...

PdfPCell cell = new PdfPCell();
cell.AddElement(new Paragraph("Hello"));

In this snippet list is of type List and image is of type Image.

The first snippet uses text mode; the second snippet uses composite mode. Cells behave very differently depending on the mode you use.