gpt4 book ai didi

java - 如何在 PdfPCell 中缩进文本

转载 作者:行者123 更新时间:2023-11-30 03:35:59 26 4
gpt4 key购买 nike

我想将文本引入 PdfPCell 并且我希望部分文本缩进。这是我尝试过的:

PdfPCell cell21 = new PdfPCell(new Phrase("TO:\n\n   name"));
cell21.setColspan(3);
cell21.setFixedHeight(45f);
table.completeRow();

结果如下所示:

TO:

name:

但我希望它看起来像这样:

TO:

name:

换句话说:我在“名称”前面添加的空格丢失了。我该如何解决这个问题?

最佳答案

您使用的是哪个版本的 iText?我已经尝试过你的代码,它按预期工作。请查看IndentationInCell示例:

PdfPTable table = new PdfPTable(1);
PdfPCell cell;
cell = new PdfPCell(new Phrase("TO:\n\n name"));
table.addCell(cell);
cell = new PdfPCell(new Phrase("TO:\n\n\u00a0\u00a0\u00a0name"));
table.addCell(cell);
cell = new PdfPCell();
cell.addElement(new Paragraph("TO:"));
Paragraph p = new Paragraph("name");
p.setIndentationLeft(10);
cell.addElement(p);
table.addCell(cell);
cell = new PdfPCell();
cell.addElement(new Paragraph("TO:"));
p = new Paragraph("name");
p.setAlignment(Element.ALIGN_RIGHT);
cell.addElement(p);
table.addCell(cell);

在此示例中,我创建了一个包含 4 个单元格的表格,其中两个处于文本模式(前两个),两个处于复合模式(后两个)。这会产生文件:indentation_in_cell.pdf :

enter image description here

如您所见,结果符合预期。

在第一个单元格中,我们按照您的方式使用了“TO:\n\n name”。尽管以前的版本中可能存在导致空格丢失的错误,但空格仍被保留。

在第二个单元格中,我们使用“TO:\n\n\u00a0\u00a0\u00a0name”按照@RC在评论中的建议引入ALT+0160字符。

在第三个单元格中,我们切换到复合模式,并引入了 10pt 的缩进,而不是使用空格。复合模式意味着 iText 不再查看单元格的属性,而是查看组成单元格的元素的属性。

在第四个单元格中,我们更改包含文本的Paragraph 的缩进。如您所见,现在它的轮廓显示在右侧。

关于java - 如何在 PdfPCell 中缩进文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27873550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com