Можно с itext 5 у которого в конце абзаца по ширине оставшееся место заполняется скриптами?

Я делаю приложение в студии Android и использую itext pdf 5, я хочу, чтобы каждый раз, когда вы заканчивали абзац, недостающее пространство заполнялось сценариями, то есть:

пункт 1:

text text text text end .-------------------

пункт 2:

text text text text end .-------------------

и т.п.

Является ли это возможным?


person Marky B    schedule 07.07.2016    source источник
comment
Просто любопытно, почему вы хотите получить это? Это потому, что вы хотите, чтобы последняя строка абзаца не была выровнена по правому полю?   -  person Lars Kristensen    schedule 07.07.2016
comment
Я не могу вспомнить ни одной программы, которую я когда-либо использовал, которая делала бы это. Word, InDesign, HTML в общем ничего. Самое близкое, что я видел, это когда кто-то хочет составить оглавление и заполнить оставшиеся части каждой строки символом до номера страницы, но это строки, а не абзацы. Тем не менее, вы должны иметь возможность измерять строки и, вероятно, вычислять вещи.   -  person Chris Haas    schedule 07.07.2016
comment
спасибо за комментарий, я хочу его, потому что этот формат требуется учреждением, и отчеты всегда были хорошими, и да, последняя строка каждого абзаца должна быть заполнена сплошной линией или скриптами, заполняющими оправданное выравнивание, приветствия.   -  person Marky B    schedule 07.07.2016


Ответы (1)


Хотя ваш вопрос далеко не ясен (что вы имеете в виду, когда пишете недостающее место заполняется сценариями? что такое сценарии?), я предполагаю, что вы хотите что-то вроде этого:

введите здесь описание изображения

На официальном веб-сайте есть множество примеров с использованием разделителей. См. раздел Примеры разделителей.

PDF-файл на снимке экрана был создан следующим образом:

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
DottedLineSeparator separator = new DottedLineSeparator();
Chunk c = new Chunk(separator);
Paragraph p = new Paragraph("Ends with dots ");
p.add(c);
document.add(p);
p = new Paragraph("This is a much longer paragraph that spans "
    + "several lines. The String used to create this paragraph "
    + "will be split automatically at the end of the line. The "
    + "final line of this paragraph will end in a dotted line. ");
p.add(c);
document.add(p);
document.close();

Если слово скрипты означает что-то другое, например, если вы хотели сказать тире, вам следует использовать другой тип разделителя. См., например, ответ на вопрос Как создать собственный пунктирный разделитель строк? Пользовательский LineSeparator, созданный в этом примере, также может быть заключен в Chunk, и этот фрагмент можно использовать для расширения абзаца до конца строки. Вы можете перемещать эту линию вверх и вниз, изменяя координату y.

person Bruno Lowagie    schedule 09.07.2016
comment
Как можно добиться того же в iText 7? - person user2509314; 03.02.2017