我需要将文本居中在Pdf表格单元格中.不幸的是,所有文本都出现在单元格的底部.这是我的示例代码:
String line = br.readLine();
Font f2 = new Font(Font.NORMAL, 12, Font.BOLD);
f2.setColor(Color.BLACK);
Paragraph p1 = new Paragraph(line, f2);
p1.setAlignment(Element.TABLE);
PdfPTable table = new PdfPTable(1);
table.setWidthPercentage(100);
PdfPCell cell = new PdfPCell();
cell.setBorder(Rectangle.NO_BORDER);
cell.setBorderWidthBottom(1f);
cell.setUseBorderPadding(true);
cell.setPadding(0);
cell.setBorderColor(new java.awt.Color(255, 255, 255));
cell.addElement(p1);
table.addCell(cell);
output.add(table);
Run Code Online (Sandbox Code Playgroud)
我需要单元格内的文本在单元格内垂直居中.请帮忙.
您分享的代码段中有多个错误.我已经修改了代码并在此处发布了一个示例:http://itextpdf.com/sandbox/tables/CenteredTextInCell
减少对变化的概述:
你定义字体的方式是错误的,或者你使用的是真正非常老的iText版本.
以下行没有任何意义:
p1.setAlignment(Element.TABLE);
Run Code Online (Sandbox Code Playgroud)
在iText中没有这样的值(曾经有一个,但很久以前就被删除了)并且evenso使用保留的值来定义对象类型以定义对齐是没有意义的.
如果你不想要边框:
cell.setBorder(Rectangle.NO_BORDER);
Run Code Online (Sandbox Code Playgroud)
定义边框宽度,填充或颜色没有意义:
cell.setBorderWidthBottom(1f);
cell.setUseBorderPadding(true);
cell.setBorderColor(new java.awt.Color(255, 255, 255));
Run Code Online (Sandbox Code Playgroud)
您需要定义垂直对齐的行是:
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23165 次 |
| 最近记录: |