以下内容应根据文档进行操作,但不适用于我。我错过了什么吗?
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;
答案 0 :(得分: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
答案 1 :(得分:2)
阿。您需要设置PdfCell的垂直对齐方式,而不是段落。
PdfPCell c = new PdfPCell();
c.setVerticalAlignment(Element.ALIGN_MIDDLE);
...