2015-10-14 37 views
0

我試過不同的變體,但爲什麼我的按鈕不起作用。如何觸發通過iTextSharp創建的按鈕動作

 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類似物的例子,但我不知道這是創建按鈕的適當方式。

回答

1

抓住Field代替Appearance

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

感謝。它對我來說並不明顯,而不是java的get/set方法,這些屬性應該用在c#中:)現在,你已經打開了我的眼睛 – Salkony

相關問題