Вопрос

Кто-нибудь знает, как в iText добавить многострочный текст в ограничивающую рамку (с указанными координатами).

Я пытался

cb.showTextAligned(
    PdfContentByte.ALIGN_LEFT,
    text,
    bounds.getLeft(),
    TOTAL_HEIGHT-bounds.getTop(),
    0 );

Но он не поддерживает новые строки.Я тоже пытался

PdfContentByte cb = writer.getDirectContent();
cb.moveText(300,400);
document.add(new Paragraph("TEST paragraph\nNewline"));

Это поддерживает перевод строк, но не реагирует на moveText, поэтому я не знаю, как поместить его в заданную позицию или лучше:ограничивающий прямоугольник.

Я подозреваю, что chunks или PdfTemplate или, возможно, table могли бы помочь, но я (пока) не знаю, как собрать это воедино.ТИА за помощью.

Это было полезно?

Решение

Попробуй это:

ColumnText ct = new ColumnText(cb);
Phrase myText = new Phrase("TEST paragraph\nAfter Newline");
ct.setSimpleColumn(myText, 34, 750, 580, 317, 15, Element.ALIGN_LEFT);
ct.go();

параметрами SetSimpleColumn являются:

  1. фраза
  2. нижний левый угол x (слева)
  3. нижний левый y-образный угол (снизу)
  4. верхний правый x угол (справа)
  5. верхний правый y-образный угол (вверху)
  6. высота линии (ведущая)
  7. выравнивание.

Другие советы

ColumnText ct = new ColumnText(content);
ct.setSimpleColumn(
    new Phrase("Very Long Text"),
    left=20, bottom=100, right=500, top=500,
    fontSize=18, Element.ALIGN_JUSTIFIED);
ct.go(); // for drawing
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top