Как задать цвет фона текста в IText
Мне нужно задать цвет фона выбранного текста. Я знаю, как сформировать прямоугольник, в котором будет находиться этот текст. Если я задам цвет для этого прямоугольника и заполню его, текст не будет виден. Можно ли как-то нарисовать прямоугольник так, чтобы текст был виден или есть какой-то другой путь?
PdfCanvas canvas = new PdfCanvas(page);
canvas.SetLineWidth(1);
canvas.Rectangle(x, y, width, height);
canvas.SetFillColor(iText.Kernel.Colors.DeviceRgb.GREEN);
canvas.Fill();
canvas.ClosePathStroke();
Ответы (1 шт):
Автор решения: Борис_56
→ Ссылка
Разобрался. Нужно добавить PdfTextMarkupAnnotation на эту область.
float[] quads = new float[8];
quads[0] = rect.GetX();
quads[1] = rect.GetY() + rect.GetHeight();
quads[2] = rect.GetX() + rect.GetWidth();
quads[3] = quads[1];
quads[4] = quads[0];
quads[5] = rect.GetY();
quads[6] = quads[2];
quads[7] = quads[5];
PdfTextMarkupAnnotation highlightAnnotation =
PdfTextMarkupAnnotation.CreateHighLight(rect, quads);
//установка цвета аннотации
highlightAnnotation.SetColor(ColorConstants.GREEN);
page.AddAnnotation(highlightAnnotation);
Возможно кому-нибудь это пригодится.