iTextPDF表格单元格水平对齐失效问题求助
解决单元格水平居中失效的问题
你遇到的问题核心是段落(Paragraph)的文本对齐优先级高于单元格的水平对齐设置:虽然你给单元格指定了HorizontalAlignment.CENTER,但默认创建的Paragraph是左对齐状态,会覆盖单元格的配置,导致文本始终靠左显示。
修改后的代码如下,只需给Paragraph添加文本居中对齐设置即可:
cell.setVerticalAlignment(VerticalAlignment.MIDDLE); cell.setHorizontalAlignment(HorizontalAlignment.CENTER); // 新增Paragraph的文本居中配置 cell.add(new Paragraph(text) .setTextAlignment(TextAlignment.CENTER) .setRotationAngle(hasRotation ? rotation : 0)); cell.setBorder(Border.NO_BORDER); return cell;
iText中,段落自身的文本对齐规则会优先生效,因此必须同时给Paragraph设置TextAlignment.CENTER,才能让文本在单元格内同时实现垂直和水平方向的居中显示。
内容的提问来源于stack exchange,提问作者rocketcrafter
相关产品推荐
相关产品推荐

