C# iTextSharp:PdfPCell中使用了哪些对齐属性?
当我使用单元格的对齐方式使其工作时:C# iTextSharp:PdfPCell中使用了哪些对齐属性?,c#,itextsharp,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
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;
原因是什么?您混淆了文本模式和复合模式
在第一个代码段中,您以文本模式工作。这意味着单元格的内容仅被视为文本,单元格的属性得到尊重,而添加到单元格的元素的属性被忽略
在第二个代码段中,您在复合模式下工作。当您使用AddElement()
方法时,单元格将切换到复合模式。在这种情况下,将忽略单元格的属性。而是使用元素的属性
例如:在文本模式下,单元格内容只能有一种对齐方式。在复合模式下,可以在同一单元格中有左对齐的段落、居中对齐的段落和右对齐的段落。现在是的,它起作用了
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);
谢谢。因此,在
文本模式下
单元格不能有单元格。水平对齐=元素。居中对齐
+单元格。垂直对齐=元素。居中对齐
。这是一个选项或另一个选项,而不是同时进行两种对齐?在复合模式(非文本模式)中,为单元格设置的任何值。水平对齐将被忽略,以利于单元格中元素的水平对齐。我没有说任何关于垂直对齐的内容。这不是段落
,图像
,…的属性,这个答案实际上有一个有效的代码示例