我是iTextSharp的新手,非常感谢您的帮助。
我正在创建一些复选框,代码示例如下:
var rec = new Rectangle(PageSize.A4);
var fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
var doc = new Document(rec);
var writer = PdfWriter.GetInstance(doc, fs);
PdfFormField checkbox1 = PdfFormField.CreateCheckBox(writer);
checkbox1.SetWidget(new Rectangle(524, 600, 540, 616), PdfAnnotation.HIGHLIGHT_INVERT);
checkbox1.ValueAsName = ("Off");
checkbox1.AppearanceState = ("Off");
checkbox1.FieldName = ("UsersNo");
checkbox1.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", chkOff);
checkbox1.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "On", chkOn);
writer.AddAnnotation(checkbox1);
一切看起来都很棒并且运行良好,直到打印实际的PDF,当我点击文件和打印时,复选框不会显示在打印预览中,也不会打印。
有没有人可以指点我?
提前感谢帮助。
杰森
答案 0 :(得分:1)
创建复选框有两种方法。
RadioCheckField
类。PdfFormField
类很难。出于某种原因,你选择了艰难的方式。
您现在正在抱怨可见性设置为“在屏幕上显示,而不是在打印中”而不是“在屏幕上显示并在打印中”。
由于您选择了创建复选框的困难方法,因此您需要自行添加将“打印标记”添加到代码中的行:
checkbox1.Flags = PdfAnnotation.FLAGS_PRINT;