Как добиться пунктирного подчеркивания с помощью chunk.setUnderline?

Я использую SAXItexthandler чтобы получить пользовательское подчеркивание указанной толщины, цвета и указанной позиции Y, используя приведенный ниже код. Таким образом, в основном у меня есть разные строки в нескольких ячейках itext в строке itext, и приведенный ниже код помогает мне сделать подчеркивание для каждого чанка, где каждый чанк встроен в ячейку, и он прекрасно работает.

Color c = Color.decode(custom_color);
currentChunk.setUnderline(c, thickness, 0.01f, ypos, 0.01f, PdfContentByte.LINE_CAP_BUTT);

Есть ли способ, которым я могу просто подчеркнуть подчеркивание? Я интенсивно использую приведенный выше код, и у нас есть новое требование для штриховых подчеркиваний только в нескольких местах. Поэтому я хотел бы знать, смогу ли я достичь этого, используя setUnderline сам.

1 ответ

Решение

Вы можете использовать общие теги на чанках:

  1. Установите тег на соответствующие куски
  2. Создайте класс, который расширяет PdfPageEventHelper и добавить его к писателю
  3. Напишите код, который делает подчеркивающую работу на onGenericTag метод
  4. в onGenericTag Таким образом, у вас есть окружающий прямоугольник фрагмента: вы можете нарисовать линию непосредственно на PdfContentByte, используя пунктирный стиль или любой другой стиль, который вы пожелаете.
Другие вопросы по тегам