Как заполнить ширину страницы символом в itext 7 pdf - PullRequest
0 голосов
/ 08 февраля 2020

Я немного поэкспериментировал с itext 7 pdf в java и искал решение, чтобы заполнить остальную часть ширины страницы подчеркиванием (_), чтобы создать строку, на которую пользователь может писать , В основном форма, однако я не хочу использовать acro формы или что-то еще. Мне просто нужна строка, которая простирается до конца страницы после каждого текста.

, поэтому у меня есть:

Name
Address
Phone

Я хочу сделать так, чтобы он показывал это:

Name _________________
Address ______________
Phone ________________

Где конец строки будет в конце страницы.

1 Ответ

0 голосов
/ 09 февраля 2020

iText 7 имеет концепцию вкладок и остановок вкладок, которая позволяет указывать «контрольные точки» (остановки табуляции) и переходить к следующей контрольной точке (с помощью вкладок). Вкладки также позволяют настраивать вид пространства между предыдущей позицией курсора и следующей остановкой табуляции.

Короче говоря, вот пример кода, который определяет точку табуляции в правом конце страницы, и добавляет вкладку после текста, который переходит к этой позиции табуляции. Мы также настраиваем визуальный вид линии, которая будет проведена между правой текстовой позицией и точкой табуляции. Мы делаем линию 0.5 точек толщиной.

PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outFileName));

Document document = new Document(pdfDocument);

float pageRightXPos = document.getPdfDocument().getDefaultPageSize().getRight() -
        document.getLeftMargin() - document.getRightMargin();
Paragraph p = new Paragraph("Text that should have underscore continuation")
        .add(new Tab()).addTabStops(new TabStop(pageRightXPos, TabAlignment.RIGHT, new SolidLine(0.5f)));
document.add(p);

document.close();

Результат выглядит так:

result

...