InteractiveFormsTest.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using ComPDFKit.Import;
  2. using ComPDFKit.PDFAnnotation.Form;
  3. using ComPDFKit.PDFDocument;
  4. using ComPDFKit.PDFPage;
  5. using ComPDFKit.PDFPage.Edit;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.IO;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace InteractiveFormsTest
  13. {
  14. internal class InteractiveFormsTest
  15. {
  16. static private string outputPath = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()))) + "\\Output\\InteractiveForms";
  17. static void Main(string[] args)
  18. {
  19. Console.WriteLine("Running interactive forms test sample…\r\n");
  20. SDKLicenseHelper.LicenseVerify();
  21. if (!Directory.Exists(outputPath))
  22. {
  23. Directory.CreateDirectory(outputPath);
  24. }
  25. CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
  26. if (CreateForms(document))
  27. {
  28. Console.WriteLine("Create forms done.");
  29. }
  30. else
  31. {
  32. Console.WriteLine("Create forms failed.");
  33. }
  34. }
  35. static private void CreateTextField(CPDFDocument document)
  36. {
  37. CPDFPage page = document.PageAtIndex(0);
  38. CPDFTextWidget textField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_TEXTFIELD) as CPDFTextWidget;
  39. textField.SetRect(new CRect( 28, 32, 237, 75));
  40. }
  41. static private void CreatePushButton(CPDFDocument document)
  42. {
  43. CPDFPage page = document.PageAtIndex(0);
  44. CPDFPushButtonWidget textField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_PUSHBUTTON) as CPDFPushButtonWidget;
  45. textField.SetRect(new CRect(28, 32, 237, 75));
  46. }
  47. static private void CreateListBox(CPDFDocument document)
  48. {
  49. CPDFPage page = document.PageAtIndex(0);
  50. CPDFListBoxWidget listbox = page.CreateWidget(C_WIDGET_TYPE.WIDGET_LISTBOX) as CPDFListBoxWidget;
  51. listbox.AddOptionItem(0, "1", "a");
  52. listbox.AddOptionItem(1, "2", "b");
  53. listbox.SetRect(new CRect(28, 32, 237, 75));
  54. }
  55. static private void CreateSignatureField(CPDFDocument document)
  56. {
  57. CPDFPage page = document.PageAtIndex(0);
  58. CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
  59. signatureField.SetRect(new CRect(28, 32, 237, 75));
  60. }
  61. static private void CreateCheckBox(CPDFDocument document)
  62. {
  63. CPDFPage page = document.PageAtIndex(0);
  64. CPDFCheckBoxWidget checkBox = page.CreateWidget(C_WIDGET_TYPE.WIDGET_CHECKBOX) as CPDFCheckBoxWidget;
  65. checkBox.SetRect(new CRect(28, 32, 237, 75));
  66. }
  67. static private void CreateRadioButton(CPDFDocument document)
  68. {
  69. CPDFPage page = document.PageAtIndex(0);
  70. CPDFRadioButtonWidget radioButton = page.CreateWidget(C_WIDGET_TYPE.WIDGET_RADIOBUTTON) as CPDFRadioButtonWidget;
  71. radioButton.SetRect(new CRect(28, 32, 237, 75));
  72. }
  73. static private bool CreateForms(CPDFDocument document)
  74. {
  75. CreateTextField(document);
  76. CreatePushButton(document);
  77. CreateListBox(document);
  78. CreateSignatureField(document);
  79. CreateCheckBox(document);
  80. CreateRadioButton(document);
  81. // Save to pointed path so you can observe the effect.
  82. string path = outputPath + "\\CreateFormsTest.pdf";
  83. if (!document.WriteToFilePath(path))
  84. {
  85. return false;
  86. }
  87. Console.WriteLine("Browse the changed file in " + path);
  88. return true;
  89. }
  90. }
  91. }