Как добиться пунктирного подчеркивания с помощью 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 ответ
Решение
Вы можете использовать общие теги на чанках:
- Установите тег на соответствующие куски
- Создайте класс, который расширяет
PdfPageEventHelper
и добавить его к писателю - Напишите код, который делает подчеркивающую работу на
onGenericTag
метод - в
onGenericTag
Таким образом, у вас есть окружающий прямоугольник фрагмента: вы можете нарисовать линию непосредственно на PdfContentByte, используя пунктирный стиль или любой другой стиль, который вы пожелаете.