0

PDFを生成するためにJavaアプリでiTextを使用しています。目標は、各行の左側に名前、右側に値を持つ段落を生成することです。名前と値の間のスペースはドットで埋められます。

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 を使用することです。

4

1 に答える 1

1

最後の行をドットで開始しますか?

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
于 2014-07-10T15:24:57.503 に答える