当我使用单元格的对齐方式时,它可以正常工作:
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;
原因?
答案 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);
谢谢。