使用 iText 库的 TextField 操作
TextField action using iText Library
我正在尝试使用 iTextSharp 库将文本字段的操作添加到 pdf 文件,但它对我不起作用。
这是我在 C#
中的代码
PdfReader reader = new PdfReader("pdf/116700.pdf");
FileStream fs = new FileStream("pdf2/result.pdf", FileMode.Create, FileAccess.Write);
PdfStamper stamp = new PdfStamper(reader, fs);
TextField note1 = new TextField(stamp.Writer, new iTextSharp.text.Rectangle(499, 428, 420, 416), "note1");
note1.Alignment = Element.ALIGN_CENTER;
note1.Text = "0";
PdfFormField ffield = note1.GetTextField();
ffield.SetAdditionalActions(PdfName.BL, PdfAction.JavaScript("app.alert('action!')", stamp.Writer));
stamp.AddAnnotation(note1.GetTextField(), 1);
stamp.Close();
您创建了一个文本字段小部件注释
PdfFormField ffield = note1.GetTextField();
并为其添加模糊动作
ffield.SetAdditionalActions(PdfName.BL, PdfAction.JavaScript("app.alert('action!')", stamp.Writer));
然后您创建另一个小部件注释(没有模糊操作)并仅将这个新注释添加到 PDF:
stamp.AddAnnotation(note1.GetTextField(), 1);
因此,带有模糊操作的注释永远不会写入 PDF!
如果您将最后一行替换为
stamp.AddAnnotation(ffield, 1);
一切如预期。
我正在尝试使用 iTextSharp 库将文本字段的操作添加到 pdf 文件,但它对我不起作用。 这是我在 C#
中的代码PdfReader reader = new PdfReader("pdf/116700.pdf");
FileStream fs = new FileStream("pdf2/result.pdf", FileMode.Create, FileAccess.Write);
PdfStamper stamp = new PdfStamper(reader, fs);
TextField note1 = new TextField(stamp.Writer, new iTextSharp.text.Rectangle(499, 428, 420, 416), "note1");
note1.Alignment = Element.ALIGN_CENTER;
note1.Text = "0";
PdfFormField ffield = note1.GetTextField();
ffield.SetAdditionalActions(PdfName.BL, PdfAction.JavaScript("app.alert('action!')", stamp.Writer));
stamp.AddAnnotation(note1.GetTextField(), 1);
stamp.Close();
您创建了一个文本字段小部件注释
PdfFormField ffield = note1.GetTextField();
并为其添加模糊动作
ffield.SetAdditionalActions(PdfName.BL, PdfAction.JavaScript("app.alert('action!')", stamp.Writer));
然后您创建另一个小部件注释(没有模糊操作)并仅将这个新注释添加到 PDF:
stamp.AddAnnotation(note1.GetTextField(), 1);
因此,带有模糊操作的注释永远不会写入 PDF!
如果您将最后一行替换为
stamp.AddAnnotation(ffield, 1);
一切如预期。