Я обновляю проект C # для использования iText 7 и собираюсь добавить эффект зачеркивания к значению, установленному в поле формы. Изначально в коде использовалась старая версия iTextSharp , что сделало довольно интуитивно понятным создание зачеркнутого шрифта:
// older iTextSharp code
Font strikethruFont = new Font(normalBase, 11f, Font.STRIKETHRU);
Однако я не могу найти примеры или документацию о том, как 1) создать шрифт с зачеркиванием, как указано выше, с помощью iText 7 и использовать его в поле формы, или 2) использовать какой-либо другой инструмент ( PdfCanvas
, Tables
, Text
объекты и т. Д.), Чтобы добавить стиль в поле формы перед установкой его значения.
// somehow create a strikethrough font
PdfFont strikethruFont = ???
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);
form.GetField("Some Field Name")
.SetValue("Some content to strike through", strikethruFont, 11f)
Примечание. Я видел примеры использования объекта Text
с подчеркиванием с отрицательным смещением по оси Y (эффективное вытягивание подчеркивания в текстовую область, имитирующее зачеркивание). К сожалению, Text
объекты не могут использоваться с form.SetValue()
.