2015-10-14 2 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, так что я пытался использовать примеры из ява аналогов, но я не уверен, что это подходящий способ для создания кнопок.

ответ

1

захватить Field вместо Appearance:

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

Спасибо. Для меня не было очевидным, что вместо методов get/set java свойства должны использоваться в C# :) Теперь вы открыли мои глаза – Salkony

Смежные вопросы