用itextsharp的问题

mayanly 2010-04-25 10:23:22
用itextsharp画了一个表格用作打印,现在想实现在pdf中添加一个checkbox不知如何添加,请高手指点。
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayanly 2010-04-26
  • 打赏
  • 举报
回复
这段代码我已经试过了不知道怎么就生成的是这样的checkbox(□ 里面是x而不是√),这不是标准的checkbox吧?
x276912757 2010-04-26
  • 打赏
  • 举报
回复
帮顶!!!!!!证明存在
弘毅致远 2010-04-25
  • 打赏
  • 举报
回复
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"e:\java\form_checkbox.Pdf", FileMode.Create));
document.Open();
PdfContentByte cb = writer.DirectContent;
cb.MoveTo(0, 0);
PdfFormField field = PdfFormField.CreateCheckBox(writer);
PdfAppearance tpOff = cb.CreateAppearance(20, 20);
PdfAppearance tpOn = cb.CreateAppearance(20, 20);
tpOff.Rectangle(1, 1, 18, 18);
tpOff.Stroke();
tpOn.SetRGBColorFill(255, 128, 128);
tpOn.Rectangle(1, 1, 18, 18);
tpOn.FillStroke();
tpOn.MoveTo(1, 1);
tpOn.LineTo(19, 19);
tpOn.MoveTo(1, 19);
tpOn.LineTo(19, 1);
tpOn.Stroke();
field.SetWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);
field.FieldName=("Urgent");
field.ValueAsName=("Off");
field.AppearanceState=("Off");
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "On", tpOn);
writer.AddAnnotation(field);
document.Close();
System.Console.Out.WriteLine("FIM.");
皇城龙三 2010-04-25
  • 打赏
  • 举报
回复
using System;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
public class form_checkbox
{
[STAThread]
public static void Main(string[] args)
{
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
try
{
// creation of the different writers
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"e:\java\form_checkbox.Pdf", FileMode.Create));
document.Open();
PdfContentByte cb = writer.DirectContent;
cb.MoveTo(0, 0);
PdfFormField field = PdfFormField.CreateCheckBox(writer);
PdfAppearance tpOff = cb.CreateAppearance(20, 20);
PdfAppearance tpOn = cb.CreateAppearance(20, 20);
tpOff.Rectangle(1, 1, 18, 18);
tpOff.Stroke();
tpOn.SetRGBColorFill(255, 128, 128);
tpOn.Rectangle(1, 1, 18, 18);
tpOn.FillStroke();
tpOn.MoveTo(1, 1);
tpOn.LineTo(19, 19);
tpOn.MoveTo(1, 19);
tpOn.LineTo(19, 1);
tpOn.Stroke();
field.SetWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);
field.FieldName=("Urgent");
field.ValueAsName=("Off");
field.AppearanceState=("Off");
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "On", tpOn);
writer.AddAnnotation(field);
document.Close();
System.Console.Out.WriteLine("FIM.");
}
catch (System.Exception de)
{
System.Console.Error.WriteLine(de.Message);
}
}
}

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧