123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- Imports ComPDFKit.Import
- Imports ComPDFKit.PDFAnnotation
- Imports ComPDFKit.PDFAnnotation.Form
- Imports ComPDFKit.PDFDocument
- Imports ComPDFKit.PDFDocument.Action
- Imports ComPDFKit.PDFPage
- Imports ComPDFKit.PDFPage.Edit
- Imports System
- Imports System.Collections.Generic
- Imports System.IO
- Imports System.Text
- Module InteractiveFormsTest
- Private outputPath As String = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()))) & "\Output\VB"
- Sub Main()
- Console.WriteLine("Running interactive forms test sample…" & vbCrLf)
- SDKLicenseHelper.LicenseVerify()
- If Not Directory.Exists(outputPath) Then
- Directory.CreateDirectory(outputPath)
- End If
- Dim document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")
- If CreateForms(document) Then
- Console.WriteLine("Create forms done.")
- Else
- Console.WriteLine("Create forms failed.")
- End If
- Console.WriteLine("--------------------")
- Console.WriteLine("Done")
- Console.WriteLine("--------------------")
- Console.ReadLine()
- End Sub
- ' Create text field.
- ' Text field: used to input text
- Private Sub CreateTextField(document As CPDFDocument)
- Dim page As CPDFPage = document.PageAtIndex(0)
- Dim textField As CPDFTextWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_TEXTFIELD), CPDFTextWidget)
- textField.SetRect(New CRect(28, 32, 235, 75))
- textField.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- textField.SetWidgetBgRGBColor(New Byte() {240, 255, 240})
- End Sub
- ' Create push button.
- ' Push button: Click to perform some actions, such as jumping to a page or website.
- Private Sub CreatePushButton(document As CPDFDocument)
- Dim page As CPDFPage = document.PageAtIndex(0)
- Dim pushButton1 As CPDFPushButtonWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_PUSHBUTTON), CPDFPushButtonWidget)
- pushButton1.SetRect(New CRect(28, 150, 150, 100))
- pushButton1.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- pushButton1.SetWidgetBgRGBColor(New Byte() {180, 180, 220})
- pushButton1.SetButtonTitle("Go To Page 2")
- Dim attribute As New CTextAttribute()
- attribute.FontColor = New Byte() {0, 0, 0}
- attribute.FontSize = 14
- attribute.FontName = "Helvetica"
- pushButton1.SetTextAttribute(attribute)
- Dim gotoAction As New CPDFGoToAction()
- Dim dest As New CPDFDestination()
- dest.PageIndex = 1
- gotoAction.SetDestination(document, dest)
- pushButton1.SetButtonAction(gotoAction)
- pushButton1.UpdateFormAp()
- Dim pushButton2 As CPDFPushButtonWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_PUSHBUTTON), CPDFPushButtonWidget)
- pushButton2.SetRect(New CRect(168, 150, 290, 100))
- pushButton2.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- pushButton2.SetWidgetBgRGBColor(New Byte() {180, 180, 220})
- pushButton2.SetButtonTitle("Go To ComPDFKit")
- Dim attribute2 As New CTextAttribute()
- attribute2.FontColor = New Byte() {0, 0, 0}
- attribute2.FontSize = 14
- attribute2.FontName = "Helvetica"
- pushButton2.SetTextAttribute(attribute)
- Dim uriAction As New CPDFUriAction()
- uriAction.SetUri("https://www.compdf.com/")
- pushButton2.SetButtonAction(uriAction)
- pushButton2.UpdateFormAp()
- End Sub
- ' Create ListBox
- Private Sub CreateListBox(document As CPDFDocument)
- Dim page As CPDFPage = document.PageAtIndex(0)
- Dim listbox As CPDFListBoxWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_LISTBOX), CPDFListBoxWidget)
- listbox.SetRect(New CRect(28, 330, 150, 230))
- listbox.AddOptionItem(0, "1", "ComPDFKit1")
- listbox.AddOptionItem(1, "2", "ComPDFKit2")
- listbox.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- listbox.SetWidgetBgRGBColor(New Byte() {200, 180, 180})
- End Sub
- ' Create SignatureField
- ' Provide an area for electronic signatures.
- Private Sub CreateSignatureField(document As CPDFDocument)
- Dim page As CPDFPage = document.PageAtIndex(0)
- Dim signatureField As CPDFSignatureWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS), CPDFSignatureWidget)
- signatureField.SetRect(New CRect(28, 420, 150, 370))
- signatureField.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- signatureField.SetWidgetBgRGBColor(New Byte() {150, 180, 210})
- End Sub
- ' Create CheckBox
- Private Sub CreateCheckBox(document As CPDFDocument)
- Dim page As CPDFPage = document.PageAtIndex(0)
- Dim checkBox1 As CPDFCheckBoxWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_CHECKBOX), CPDFCheckBoxWidget)
- checkBox1.SetRect(New CRect(28, 470, 48, 450))
- checkBox1.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- checkBox1.SetWidgetBgRGBColor(New Byte() {150, 180, 210})
- Dim checkBox2 As CPDFCheckBoxWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_CHECKBOX), CPDFCheckBoxWidget)
- checkBox2.SetRect(New CRect(58, 470, 78, 450))
- checkBox2.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- checkBox2.SetWidgetBgRGBColor(New Byte() {150, 180, 210})
- Dim checkBox3 As CPDFCheckBoxWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_CHECKBOX), CPDFCheckBoxWidget)
- checkBox3.SetRect(New CRect(88, 470, 108, 450))
- checkBox3.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- checkBox3.SetWidgetBgRGBColor(New Byte() {150, 180, 210})
- End Sub
- ' Create RadioButton
- Private Sub CreateRadioButton(document As CPDFDocument)
- Dim page As CPDFPage = document.PageAtIndex(0)
- Dim radioButton1 As CPDFRadioButtonWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_RADIOBUTTON), CPDFRadioButtonWidget)
- radioButton1.SetRect(New CRect(28, 500, 48, 480))
- radioButton1.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- radioButton1.SetWidgetBgRGBColor(New Byte() {210, 180, 150})
- radioButton1.SetWidgetCheckStyle(C_CHECK_STYLE.CK_CIRCLE)
- Dim radioButton2 As CPDFRadioButtonWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_RADIOBUTTON), CPDFRadioButtonWidget)
- radioButton2.SetRect(New CRect(58, 500, 78, 480))
- radioButton2.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- radioButton2.SetWidgetBgRGBColor(New Byte() {210, 180, 150})
- radioButton2.SetWidgetCheckStyle(C_CHECK_STYLE.CK_CIRCLE)
- Dim radioButton3 As CPDFRadioButtonWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_RADIOBUTTON), CPDFRadioButtonWidget)
- radioButton3.SetRect(New CRect(88, 500, 108, 480))
- radioButton3.SetWidgetBorderRGBColor(New Byte() {0, 0, 0})
- radioButton3.SetWidgetBgRGBColor(New Byte() {210, 180, 150})
- radioButton3.SetWidgetCheckStyle(C_CHECK_STYLE.CK_CIRCLE)
- End Sub
- ' Generate various signatures.
- Private Function CreateForms(document As CPDFDocument) As Boolean
- CreateTextField(document)
- CreatePushButton(document)
- CreateListBox(document)
- CreateSignatureField(document)
- CreateCheckBox(document)
- CreateRadioButton(document)
- ' Save to the specified path so you can observe the effect.
- Dim path As String = outputPath & "\CreateFormsTest.pdf"
- If Not document.WriteToFilePath(path) Then
- Return False
- End If
- Console.WriteLine("Browse the changed file in " & path)
- Return True
- End Function
- End Module
|