GdPicture.NET.14.API
GdPicture14 Namespace / GdPicturePDF Class / GetFormFieldLocation Method
A unique form field identifier specifying a required form field object. You can obtain this identifier using methods like GdPicturePDF.GetFormFieldId, GdPicturePDF.GetFormFieldChildID or methods intended to add form fields.
Output parameter. The horizontal (X) coordinate of the closest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Output parameter. The vertical (Y) coordinate of the closest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Output parameter. The horizontal (X) coordinate of the furthest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Output parameter. The vertical (Y) coordinate of the furthest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Example





In This Topic
GetFormFieldLocation Method (GdPicturePDF)
In This Topic
Returns the location on the page of a required form field, that is specified by its unique form field's identifier and it is related to the currently loaded PDF document. This location is represented by the bounding box of the form field on that page, where the form field is currently located. The coordinates of the field's bounding box are expressed in the current units used in this document with respect to the currently defined origin.

You can use the GdPicturePDF.SetMeasurementUnit method to reset the units and the GdPicturePDF.SetOrigin method to reset the origin's location according to your preference.

Syntax
'Declaration
 
Public Function GetFormFieldLocation( _
   ByVal FieldId As Integer, _
   ByRef Left As Single, _
   ByRef Top As Single, _
   ByRef Right As Single, _
   ByRef Bottom As Single _
) As GdPictureStatus
public GdPictureStatus GetFormFieldLocation( 
   int FieldId,
   ref float Left,
   ref float Top,
   ref float Right,
   ref float Bottom
)
public function GetFormFieldLocation( 
    FieldId: Integer;
   var  Left: Single;
   var  Top: Single;
   var  Right: Single;
   var  Bottom: Single
): GdPictureStatus; 
public function GetFormFieldLocation( 
   FieldId : int,
   Left : float,
   Top : float,
   Right : float,
   Bottom : float
) : GdPictureStatus;
public: GdPictureStatus GetFormFieldLocation( 
   int FieldId,
   ref float Left,
   ref float Top,
   ref float Right,
   ref float Bottom
) 
public:
GdPictureStatus GetFormFieldLocation( 
   int FieldId,
   float% Left,
   float% Top,
   float% Right,
   float% Bottom
) 

Parameters

FieldId
A unique form field identifier specifying a required form field object. You can obtain this identifier using methods like GdPicturePDF.GetFormFieldId, GdPicturePDF.GetFormFieldChildID or methods intended to add form fields.
Left
Output parameter. The horizontal (X) coordinate of the closest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Top
Output parameter. The vertical (Y) coordinate of the closest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Right
Output parameter. The horizontal (X) coordinate of the furthest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.
Bottom
Output parameter. The vertical (Y) coordinate of the furthest point to the currently defined origin, where the form field's bounding box is located, expressed in the current units specified by the SetMeasurementUnit method.

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.

Just to inform you, that form fields can't be moved between pages at that time.

Be aware that the values of the coordinates are expressed in the current units defined by the GdPicturePDF.SetMeasurementUnit method according to the current coordinate space defined by the GdPicturePDF.SetOrigin method.

Example
How to shift all form fields in the current document by two centimetres down when keeping their size.
Dim caption As String = "Example: GetFormFieldLocation"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If gdpicturePDF.LoadFromFile("forms.pdf", False) = GdPictureStatus.OK Then
            
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    Dim count As Integer = gdpicturePDF.GetFormFieldsCount()
    If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
        Dim message As String = ""
        If count = 0 Then
            message = "This document does not contain any forms."
        Else
            Dim formID As Integer = 0
            Dim left As Single = 0, top As Single = 0, right As Single = 0, bottom As Single = 0
            For i As Integer = 0 To count - 1
                formID = gdpicturePDF.GetFormFieldId(i)
                If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                    If (gdpicturePDF.GetFormFieldLocation(formID, left, top, right, bottom) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldLocation(formID, left, top + 2, right, bottom + 2) <> GdPictureStatus.OK) Then
                        message = message + i.ToString() + ": The GetFormFieldLocation()/SetFormFieldLocation() method has failed with the status: " + gdpicturePDF.GetStat().ToString() + vbCrLf
                    End If
                Else
                    message = message + i.ToString() + ": The GetFormFieldId() method has failed with the status: " + gdpicturePDF.GetStat().ToString() + vbCrLf
                End If
            Next
        End If
        If message.Equals("") Then message = "The example has been followed successfully." + vbCrLf
        If gdpicturePDF.SaveToFile("forms_updated.pdf") = GdPictureStatus.OK Then
            message = message + "The file has been saved."
        Else
            message = message + "The file can't be saved. Status: " + gdpicturePDF.GetStat().ToString()
        End If
        MessageBox.Show(message, caption)
    Else
        MessageBox.Show("The GetFormFieldsCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The file can't be loaded.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetFormFieldLocation";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("forms.pdf", false) == GdPictureStatus.OK)
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
    int count = gdpicturePDF.GetFormFieldsCount();
    if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
    {
        string message = "";
        if (count == 0)
            message = "This document does not contain any forms.";
        else
        {
            int formID = 0;
            float left = 0, top = 0, right = 0, bottom = 0;
            for (int i = 0; i < count; i++)
            {
                formID = gdpicturePDF.GetFormFieldId(i);
                if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                {
                    if ((gdpicturePDF.GetFormFieldLocation(formID, ref left, ref top, ref right, ref bottom) != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldLocation(formID, left, top+2, right, bottom+2) != GdPictureStatus.OK))
                        message = message + i.ToString() + ": The GetFormFieldLocation()/SetFormFieldLocatio() method has failed with the status: " + gdpicturePDF.GetStat().ToString() + "\n";
                }
                else
                    message = message + i.ToString() + ": The GetFormFieldId() method has failed with the status: " + gdpicturePDF.GetStat().ToString() + "\n";
            }
            if (message.Equals("")) message = "The example has been followed successfully.\n";
            if (gdpicturePDF.SaveToFile("forms_updated.pdf") == GdPictureStatus.OK)
                message = message + "The file has been saved.";
            else
                message = message + "The file can't be saved. Status: " + gdpicturePDF.GetStat().ToString();
        }
        MessageBox.Show(message, caption);
    }
    else
        MessageBox.Show("The GetFormFieldsCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The file can't be loaded.", caption);
gdpicturePDF.Dispose();
See Also