Мне нужно объединить 2 абзаца, первая - последовательность точек, а вторая - текст, который я хочу писать по точкам:
Paragraph pdots1 = new Paragraph("......................................................................................................................",font10);
Paragraph pnote= new Paragraph("Some text on the dots", font10);
Я пытался играть с: pnote.setExtraParagraphSpace(-15); Но это испортит следующие абзацы. Я тоже пробовал с этим: itext позиционирует текст абсолютно и отлично работает, но только если мой размер PDF исправлен. Поэтому не решайте мою проблему.
Не рекомендуется использовать String с точками, когда вам нужна пунктирная линия. Лучше использовать пунктирную линию, созданную с использованием класса DottedLineSeparator
. См. Например пример UnderlineWithDottedLine
.
Paragraph p = new Paragraph("This line will be underlined with a dotted line.");
DottedLineSeparator dottedline = new DottedLineSeparator();
dottedline.setOffset(-2);
dottedline.setGap(2f);
p.add(dottedline);
document.add(p);
В этом примере (см. Underline_dotted.pdf для результата) я добавляю строку 2 точки под базовую линию абзаца (используя метод setOffset()
), и я определяю пробел в 2 точки между точками (используя setGap()
метод).