iTextSharp:在PdfPCell中使用哪些对齐属性?

时间:2013-06-20 16:50:08

标签: c# itextsharp

当我使用单元格的对齐方式时,它可以正常工作:

PdfPCell cell1 = new PdfPCell(new Phrase("Text" , Font));
cell1.HorizontalAlignment = 2;

但是一旦对齐不起作用:

PdfPCell cell1 = new PdfPCell();
cell1.AddElement(new Phrase("Text 1", Font));
cell1.AddElement(new Phrase("Text 2", Font));
cell1.HorizontalAlignment = 2;

原因?

2 个答案:

答案 0 :(得分:8)

您将文本模式复合模式混淆。

在第一个代码段中,您使用文本模式。这意味着单元格的内容被认为是仅文本,并且单元格的属性被尊重,而添加到单元格的元素的属性将被忽略。

在第二个代码段中,您使用复合模式。使用AddElement()方法时,单元格会切换到复合模式。在这种情况下,将忽略单元格的属性。而是使用元素的属性。

例如:在文本模式下,单元格的内容只能有一种对齐方式。在复合模式下,您可以将左对齐的段落,居中的段落和右对齐的段落放在同一单元格中。

答案 1 :(得分:4)

现在是的,它有效。

PdfPCell cell1 = new PdfPCell();
Paragraph p1 = new Paragraph("Text 1", Font);
p1.Alignment = Element.ALIGN_RIGHT;
Paragraph p2 = new Paragraph("Text 2", Font);
p2.Alignment = Element.ALIGN_RIGHT;

cell1.AddElement(p1);
cell1.AddElement(p2);

谢谢。