7

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

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;

原因?

4

2 回答 2

9

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

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

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

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

于 2013-06-21T08:18:42.670 回答
4

Now yes, it worked.

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);

Thank you.

于 2013-06-24T11:56:00.183 回答