gpt4 book ai didi

java - 在 iText 中使用制表符缩进多行字符串

转载 作者:行者123 更新时间:2023-12-01 12:46:40 25 4
gpt4 key购买 nike

我在我的java应用程序中使用iText来生成pdf。目标是生成每行左侧有一些名称、右侧有值的段落。名称和值之间的空格由点填充:

param1..............value1
param2..............val1, val2
param3..............any text

我正在使用 TabStop,一切正常。这是我的代码。

 /** 
* Method that generate paragraph with given indent
* @param firstTabPosition parameter name indent
* @param secondTabPosition value indent
* @param itemNames list of names
* @param itemValues list of values
*/
public Paragraph GetTextListParagraph(int firstTabPosition, int secondTabPosition, ArrayList<String> itemNames, ArrayList<String> itemValues) throws DocumentException {
ArrayList<TabStop> tabList = new ArrayList<>();
tabList.add(new TabStop(firstTabPosition, new VerticalPositionMark()));
tabList.add(new TabStop(secondTabPosition, new DottedLineSeparator()));

Paragraph paragraph = new Paragraph();
paragraph.setTabSettings(new TabSettings(tabList));
for (int index = 0; index < itemNames.size(); index++) {
paragraph.add(Chunk.TABBING);
paragraph.add(itemNames.get(index));
paragraph.add(Chunk.TABBING);
paragraph.add(itemValues.get(index));
paragraph.add(Chunk.NEWLINE);
}
return paragraph;
}

问题出现在“值”太长的情况下。结果是:

  param1..............value1
param2..............val1, val2
param3..............some long value
which start new line

...但我需要这样的东西:

 param1..............value1
param2..............val1, val2
param3..............some long value
....................which start new line

知道如何到达吗?只有一种让我印象深刻的解决方案是使用 PdfPTable。

最佳答案

您希望最后一行以点开头吗?

param1..............value1
param2..............val1, val2
param3..............some long value
....................which start new line

似乎以下选项看起来更好(最后一行没有点)

param1..............value1
param2..............val1, val2
param3..............some long value
which start new line

关于java - 在 iText 中使用制表符缩进多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638512/

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