GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / SetFormFieldAction Method
A unique form field identifier specifying a required form field object. You can obtain this identifier using methods like GetFormFieldId, GetFormFieldChildID or methods intended to add form fields.
A unique action identifier specifying a required action object. You can obtain this identifier when creating an action, for example, using the NewActionGoTo(PdfDestinationType,Int32,Single,Single,Single,Single,Single), NewActionGoToR(PdfDestinationType,String,Boolean,Int32,Single,Single,Single,Single,Single), NewActionLaunch, NewActionJavaScript, NewActionNamed or NewActionURI methods.
Example





In This Topic
SetFormFieldAction Method (GdPicturePDF)
In This Topic
Associates a specified action (identified with a unique action identifier) with a required form field, that is specified by its unique form field's identifier and it is related to the currently loaded PDF document. At this time it is supported by the toolkit to only associate one action within one form field.
Syntax
'Declaration
 
Public Function SetFormFieldAction( _
   ByVal FieldId As Integer, _
   ByVal ActionID As Integer _
) As GdPictureStatus
public GdPictureStatus SetFormFieldAction( 
   int FieldId,
   int ActionID
)
public function SetFormFieldAction( 
    FieldId: Integer;
    ActionID: Integer
): GdPictureStatus; 
public function SetFormFieldAction( 
   FieldId : int,
   ActionID : int
) : GdPictureStatus;
public: GdPictureStatus SetFormFieldAction( 
   int FieldId,
   int ActionID
) 
public:
GdPictureStatus SetFormFieldAction( 
   int FieldId,
   int ActionID
) 

Parameters

FieldId
A unique form field identifier specifying a required form field object. You can obtain this identifier using methods like GetFormFieldId, GetFormFieldChildID or methods intended to add form fields.
ActionID
A unique action identifier specifying a required action object. You can obtain this identifier when creating an action, for example, using the NewActionGoTo(PdfDestinationType,Int32,Single,Single,Single,Single,Single), NewActionGoToR(PdfDestinationType,String,Boolean,Int32,Single,Single,Single,Single,Single), NewActionLaunch, NewActionJavaScript, NewActionNamed or NewActionURI methods.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents.

Also be aware that at this time it is not supported by the toolkit to add multiple actions per one form field.

Example
How to associate an URI action with a newly created push button form field.
Dim caption As String = "Example: SetFormFieldAction"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If (gdpicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
   (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    'Please always select the required page before adding a form field.
    If gdpicturePDF.SelectPage(1) = GdPictureStatus.OK Then
        Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
            Dim formID As Integer = gdpicturePDF.AddPushButtonFormField(1, 2, 5, 2, "PushButton_Name", "GO!", fontResName, 20, 255, 69, 0)
            If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                Dim formType As PdfFormFieldType = gdpicturePDF.GetFormFieldType(formID)
                If (gdpicturePDF.GetStat() = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetFormFieldBorderColor(formID, 0, 0, 0) = GdPictureStatus.OK) Then
                    Dim actionID As Integer = gdpicturePDF.NewActionURI("http://www.gdpicture.com", False)
                    If (gdpicturePDF.GetStat() = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.SetFormFieldAction(formID, actionID) = GdPictureStatus.OK) Then
                        Dim message As String = "The push button has been created." + vbCrLf + "Type: " + formType.ToString() + "    ID: " + formID.ToString()
                        If gdpicturePDF.SaveToFile("forms_pushbutton.pdf") = GdPictureStatus.OK Then
                            message = message + vbCrLf + "The file has been saved successfully."
                        Else
                            message = message + vbCrLf + "The file can't be saved. Status: " + gdpicturePDF.GetStat().ToString()
                        End If
                        MessageBox.Show(message, caption)
                    Else
                        MessageBox.Show("Creating an action has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                    End If
                Else
                    MessageBox.Show("Setting form field properties has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                End If
            Else
                MessageBox.Show("The AddPushButtonFormField() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
            End If
        Else
            MessageBox.Show("The AddStandardFont() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The SelectPage() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The file can't be created.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: SetFormFieldAction";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if ((gdpicturePDF.NewPDF() == GdPictureStatus.OK) &&
    (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
    //Please always select the required page before adding a form field.
    if (gdpicturePDF.SelectPage(1) == GdPictureStatus.OK)
    {
        string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
        {
            int formID = gdpicturePDF.AddPushButtonFormField(1, 2, 5, 2, "PushButton_Name", "GO!", fontResName, 20, 255, 69, 0);
            if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
            {
                PdfFormFieldType formType = gdpicturePDF.GetFormFieldType(formID);
                if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetFormFieldBorderColor(formID, 0, 0, 0) == GdPictureStatus.OK))
                {
                    int actionID = gdpicturePDF.NewActionURI("http://www.gdpicture.com", false);
                    if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
                        (gdpicturePDF.SetFormFieldAction(formID, actionID) == GdPictureStatus.OK))
                    {
                        string message = "The push button has been created.\n" + "Type: " + formType.ToString() + "    ID: " + formID.ToString();
                        if (gdpicturePDF.SaveToFile("forms_pushbutton.pdf") == GdPictureStatus.OK)
                            message = message + "\nThe file has been saved successfully.";
                        else
                            message = message + "\nThe file can't be saved. Status: " + gdpicturePDF.GetStat().ToString();
                        MessageBox.Show(message, caption);
                    }
                    else
                        MessageBox.Show("Creating an action has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
                else
                    MessageBox.Show("Setting form field properties has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
            }
            else
                MessageBox.Show("The AddPushButtonFormField() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
        }
        else
            MessageBox.Show("The AddStandardFont() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
    }
    else
        MessageBox.Show("The SelectPage() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The file can't be created.", caption);
gdpicturePDF.Dispose();
See Also