0

I use iText in my java app for generating pdf. The goal is generate paragraph which have on each row some name on left and value on right. Space between name and value is filled by dots:

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

I am using TabStop and everything work fine. There is my code.

 /** 
   * 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;
}

The problem appears with long "value". Result is:

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

... but I need something like this:

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

Any idea how to reach it? Only one solution that struck me is use 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 回答