Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java itext Pdf表格单元格中居中的文本_Java_Itext_Cell - Fatal编程技术网

Java itext Pdf表格单元格中居中的文本

Java itext Pdf表格单元格中居中的文本,java,itext,cell,Java,Itext,Cell,我需要将文本置于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 Pdf

我需要将文本置于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);

我需要单元格内的文本在单元格内垂直居中。请提供帮助。

您共享的代码片段中有几个错误。我已经修改了代码并在这里发布了一个示例(现在是死链接)

cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
减少了对更改的概述:

您定义字体的方式是错误的,或者您使用的是非常非常旧的iText版本

下面这句话没有什么意义:

p1.setAlignment(Element.TABLE);
iText中没有这样的值(以前有一个,但很久以前就被删除了),因此使用保留的值来定义对象类型和定义路线是没有意义的

如果不需要边界,请执行以下操作:

cell.setBorder(Rectangle.NO_BORDER);
定义边框宽度、填充或颜色没有意义:

cell.setBorderWidthBottom(1f);
cell.setUseBorderPadding(true);
cell.setBorderColor(new java.awt.Color(255, 255, 255));
需要定义垂直对齐的线是:

cell.setVerticalAlignment(Element.ALIGN_MIDDLE);

@路西法,你试过了吗?为什么要问一个你可以通过尝试轻松回答的问题?这个问题始于2013年。这是一个iText 5问题。我已经转到iText 7,我已经有5年没有在Android上工作了。好吧,我这样问是因为,这不适用于我的代码,在Android中,那么你应该发布你尝试过的代码、结果以及结果有什么问题。您还应该提到您正在使用哪个版本的iText。“是/否”问题不是您在堆栈溢出上发布的问题;不作任何进一步解释就说“它不起作用”通常是不可取的。也就是说:没有人会进一步回答你的评论,因为它在一篇5年前的帖子中丢失了。谢谢你的回复,这个代码对我不起作用,但从你的另一个回答代码来看,效果很好。我现在不记得它的链接了,但每当我搜索我的查询时,每次我只找到带有你答案的帖子。此外,这个链接对你有帮助: