使用itextsharp绘制复选框

Pow*_*irl 2 c# itext

如何使用iTextSharp绘制复选框(带有X)。我不希望它成为形象。更像我尝试过的符号,但是没有用:

RadioCheckField fCell = new RadioCheckField(writer, new Rectangle(20,20), "NoDeletion", "Yes");
fCell.CheckType = RadioCheckField.TYPE_CROSS;
PdfFormField footerCheck = null;
footerCheck = fCell.CheckField;
writer.AddAnnotation(footerCheck);
Run Code Online (Sandbox Code Playgroud)

谢谢,

Bru*_*gie 5

我假设您不需要交互式复选框。您只想使用复选框字符。您需要的第一件事是具有这种字符的字体。在Windows上工作时,我可以访问名为WINGDING.TTF的文件。这是一个字体程序,其中包含各种符号以及一些复选框:

在此处输入图片说明

我创建了在屏幕截图中显示的PDF,如下所示:

public static final String DEST = "results/fonts/checkbox_character.pdf";
public static final String FONT = "c:/windows/fonts/WINGDING.TTF";
public static final String TEXT = "o x \u00fd \u00fe";

public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter.GetInstance(document, new FileOutputStream(dest));
    document.Open();
    BaseFont bf = BaseFont.CreateFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    Font f = new Font(bf, 12);
    Paragraph p = new Paragraph(TEXT, f);
    document.Add(p);
    document.Close();
}
Run Code Online (Sandbox Code Playgroud)

如您所见,空复选框与字母相对应o,已选中复选框有三种变体。