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.

BrooksWasHere
  • 67
  • 3
  • 10

1 Answers1

1

Do you want last line starts with dots?

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

It seems that following option looks better (without dots in last line)

param1..............value1
param2..............val1, val2
param3..............some long value 
                    which start new line
  • The type of separator is not important in this case. Important is how set indent for new line. Do you know how realize your option using TabStop or anything else except PdfPTable? :) – BrooksWasHere Jul 10 '14 at 16:27
  • No. If Bruno says it's not possible - it means that it's not possible :) But we probably can implement this feature in one of the future releases. – Alexander Chingarev Jul 11 '14 at 07:38
  • 1
    We've done some research on this. Too much changes in core logics are needed to implement this. Let's keep handling this via tables. – Alexander Chingarev Aug 07 '14 at 13:10