У меня есть старый сценарий Perl, который создает файл .pdf, который можно распечатать на перфорированных карточках (например, шаблон Avery 28878). Я конвертирую этот скрипт в Java и решил использовать iTextPDF 7. Пока я могу без проблем сгенерировать 10 «карточек» (используя абсолютные позиции).
Я пытаюсь добавить текст к каждой «карте» в абсолютной позиции и установить размер шрифта этого текста на основе ширины размера шрифта.
Что касается части размера шрифта, я делаю следующее в старом скрипте Perl, и он довольно хорошо работает с PDF::API2.
# Font size 16 width = 184.832
$nameText->font($fonts->{'times'}, $nameFontSize);
while(int($nameText->advancewidth($name)) > 185){
$nameFontSize--;
$nameText->font($fonts->{'times'}, $nameFontSize);
}
Для фактической установки абсолютной позиции я делаю в Perl следующее:
my $nameText = $pdfPage->text();
$nameText->translate(($xCoord + 151), ($yCoord + 73));
$nameText->text_center($name);
Я не смог понять, как преобразовать это в Java с помощью iTextPDF 7.
Итак, как мне с iTextPDF 7 установить текст в абсолютное положение?
Получить текущую ширину этого текстового объекта?