Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用itextsharp绘制复选框_C#_Itext - Fatal编程技术网

C# 使用itextsharp绘制复选框

C# 使用itextsharp绘制复选框,c#,itext,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.Che

如何使用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);

谢谢,

谢谢,但我找到了解决办法。这是:

var checkBox = new Phrase();
checkBox.Add(new Chunk(" ☒ ", new Font(BaseFont.CreateFont(PrintCommonConstants.UnicodeFontNormal, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED), 18)));

我假设您不需要交互式复选框。您只需要使用复选框字符。你需要的第一件事,就是有这样一个字符的字体。在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();
}

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

您使用的代码不是关于绘制复选框的。它是关于绘制一个交互式复选框。是否希望该复选框是交互式的?还是只想画一个复选框的符号?请参阅的额外答案。是否有要显示的带有复选框字符的字体?在代码中按原样放置复选框字符是个坏主意。这可能导致各种编码问题。最好使用Unicode符号。请看我的答案了解更多信息。兄弟,你是完美和卓越的。非常感谢:)