Нарисуйте прямоугольник в * текущей позиции *, а затем получите координаты его позиции
Итак, я пишу текст в PDF-файл, используя iTextSharp.
После добавления нескольких абзацев и фраз в документ PDF я хочу:
Нарисуйте следующий фрагмент текста поверх прямоугольника, который имеет цвет заливки, скажем, красный.
Я могу вычислить требуемую ширину и высоту, которые должен иметь прямоугольник, на основе текстовых метрик текста, который я собираюсь написать поверх него. Но как мне сказать Rectangle
API Что такое верхняя и левая координаты, где они должны быть нарисованы?
1 ответ
Кажется, что вы ищете Chunk.setBackground()
метод. Это рисует цветной фон под текстом. Существует также вариант метода, который принимает дополнительные параметры, если вам нужен прямоугольник большего или меньшего размера.
Предположим, что вам не нужен цветной прямоугольник, а пользовательский тип фигуры, тогда вы будете использовать событие страницы onGenericTag (). См. Chunk > Generic tag для получения дополнительной информации.
onGenericTag()
метод срабатывает каждый раз, когда Chunk
который помечен как общий (используя setGenericTag()
метод) отображается на странице. Ваша реализация события страницы может затем использовать Rectangle
значение, которое передается в метод события. Важно понимать, что один Chunk
помеченный как универсальный тег, может привести к нескольким вызовам этого метода: если содержимое одного Chunk
должно быть распределено по разным строкам, событие будет инициировано столько раз, сколько существует строк (что дает вам отдельное Rectangle
значение для каждой отдельной строки).