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 As Integer, _
ByRef As Single, _
ByRef As Single, _
ByRef As Single, _
ByRef As Single _
) As GdPictureStatus
public GdPictureStatus GetFormFieldLocation(
int ,
ref float ,
ref float ,
ref float ,
ref float
)
public function GetFormFieldLocation(
: Integer;
var : Single;
var : Single;
var : Single;
var : Single
): GdPictureStatus;
public function GetFormFieldLocation(
: int,
: float,
: float,
: float,
: float
) : GdPictureStatus;
public: GdPictureStatus GetFormFieldLocation(
int ,
ref float ,
ref float ,
ref float ,
ref float
)
public:
GdPictureStatus GetFormFieldLocation(
int ,
float% ,
float% ,
float% ,
float%
)
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.
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();
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