如何触发通过iTextSharp创建的按钮动作

本文关键字:按钮 创建 iTextSharp 何触发 | 更新日期: 2023-09-27 18:17:36

我尝试了不同的变体,但有些为什么我的按钮不工作。

        var fileName = "buttonFile.pdf";
        using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
        using (var doc = new Document(PageSize.A4))
        using (var writer = PdfWriter.GetInstance(doc, fs))
        {
            doc.Open();
            var button = new PushbuttonField(writer, new Rectangle(300, 300, 330, 330), "Text")
            {
                Text = "Click meh!"
            };
            PdfAppearance theButton = button.GetAppearance();
            theButton.SetAction(PdfAction.JavaScript("app.execMenuItem('SaveAs')", writer), 300, 300, 330, 330);
            writer.AddAnnotation(button.Field);
            doc.Close();
        }`

我没有看到通过iTextSharp创建按钮的任何代码,所以我试图使用java类比的例子,但我不确定这是创建按钮的适当方式

如何触发通过iTextSharp创建的按钮动作

抓取Field而不是Appearance:

var f = button.Field;
f.Action = PdfAction.JavaScript("app.execMenuItem('SaveAs')", writer);
writer.AddAnnotation(f);