You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用iTextSharp与StringBuilder创建PDF复选框失败求助

解决iTextSharp生成PDF复选框的问题

直接通过StringBuilder追加普通文本字符串没法生成可交互的复选框,iTextSharp需要借助AcroForm表单字段来创建复选框,具体实现方式如下:

  • 先初始化PDF文档与写入器:

    Document document = new Document();
    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
    document.Open();
    
  • 获取表单对象,创建复选框字段:

    PdfAcroForm form = PdfAcroForm.GetAcroForm(writer.Document, true);
    
    // 创建"Yes"复选框,指定位置、名称和值
    PdfCheckBoxField cbYes = new PdfCheckBoxField(writer, new Rectangle(100, 700, 120, 720), "chkYes", "Yes");
    form.AddField(cbYes);
    
    // 创建"No"复选框
    PdfCheckBoxField cbNo = new PdfCheckBoxField(writer, new Rectangle(150, 700, 170, 720), "chkNo", "No");
    form.AddField(cbNo);
    
  • 添加标签文本并排版:

    // 用表格对齐标签和复选框,布局更规整
    PdfPTable table = new PdfPTable(3);
    table.AddCell(new PdfPCell(new Phrase("Permanent Address same as Present")));
    table.AddCell(new PdfPCell(new Phrase("Yes")));
    table.AddCell(new PdfPCell(new Phrase("No")));
    document.Add(table);
    
  • 最后关闭文档:

    document.Close();
    

补充说明

如果只需要视觉上的复选框(无交互功能),可以直接添加特殊符号到文本中:

sbnew12.Append("Permanent Address same as Present ☐ Yes ☐ No");

这种方式只是显示样式,无法像表单控件那样接收用户勾选操作。

内容的提问来源于stack exchange,提问作者Prathap reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 04:23:13