Die Sache mit iTextSharp ist, dass es sich unterschiedlich verhält, je nachdem, welchen Konstruktor Sie verwenden. Diese wird nicht den Text ausrichten:
PdfPCell c = new PdfPCell();
c.Add(new Phrase("Whatever"));
c.setHorizontalAlignment(Element.ALIGN_CENTER);
Aber das wird es:
PdfPCell c = new PdfPCell(new Phrase("Whatever"));
c.setHorizontalAlignment(Element.ALIGN_CENTER);
Ich weiß nicht genau, warum das so ist, aber es hat etwas damit zu tun, dass die Zelle im "Textmodus" ist, wenn Sie die Phrase im Konstruktor hinzufügen, und nicht im "Composite-Modus", wenn Sie sie später hinzufügen (in diesem Fall soll jedes Objekt für seine eigene Ausrichtung sorgen).
Einige weitere Informationen (in Java, aber immer noch gültig) http://tutorials.jenkov.com/java-itext/table.html#cell-modes