2010-12-09 52 views
4

以下應根據文檔工作,但它不適合我。我錯過了什麼嗎?垂直對齊不能在複合模式下工作

PdfPTable rs1 = new PdfPTable(1); 
PdfPCell c = new PdfPCell(); 

Paragraph p = new Paragraph("some text to align"); 

c.AddElement(p); 
c.VerticalAlignment = Element.ALIGN_MIDDLE; 

rs1.AddCell(c); 
rs1.AddCell("more text"); 

return rs1; 

回答

2

啊。您需要設置PdfCell的垂直對齊,而不是段落。

PdfPCell c = new PdfPCell(); 
c.setVerticalAlignment(Element.ALIGN_MIDDLE); 
... 
+0

我沒有設置垂直 – Rod 2010-12-15 13:37:09

5

iTextSharp的事情是,它的行爲將取決於您使用的構造函數。這不會對齊文本:

PdfPCell c = new PdfPCell(); 
c.Add(new Phrase("Whatever")); 
c.setHorizontalAlignment(Element.ALIGN_CENTER); 

但這會:

PdfPCell c = new PdfPCell(new Phrase("Whatever")); 
c.setHorizontalAlignment(Element.ALIGN_CENTER); 

我不知道究竟這是爲什麼,它有事情做,在「文本的單元格是模式',如果您稍後添加它(在這種情況下每個對象應該看它自己的對齊方式),如果您在構造函數中添加短語而不是「複合模式」。

一些更多的信息(在Java中,但仍適用)http://tutorials.jenkov.com/java-itext/table.html#cell-modes