AddLinkToPageAnnotation Method (GdPicturePDF)
In This Topic
Adds a link annotation object on the currently selected page of the loaded PDF document. The subtype attribute of this annotation is "Link". This annotation represents a hypertext link annotation, that has associated a go-to-page action (the action of the type GoTo). The destination of the assigned action is the page in the current document according to your preference.
This method uses the RGB color space for specifying the required color of the annotation object, here it is the color of the annotation's borders.
For further assistance, please see the Actions section of the GdPicturePDF class in the Reference Guide.
Syntax
'Declaration
Public Function AddLinkToPageAnnotation( _
ByVal As Single, _
ByVal As Single, _
ByVal As Single, _
ByVal As Single, _
ByVal As Integer, _
ByVal As Single, _
ByVal As Single, _
ByVal As Boolean, _
ByVal As Byte, _
ByVal As Byte, _
ByVal As Byte _
) As Integer
public int AddLinkToPageAnnotation(
float ,
float ,
float ,
float ,
int ,
float ,
float ,
bool ,
byte ,
byte ,
byte
)
public function AddLinkToPageAnnotation(
: Single;
: Single;
: Single;
: Single;
: Integer;
: Single;
: Single;
: Boolean;
: Byte;
: Byte;
: Byte
): Integer;
public function AddLinkToPageAnnotation(
: float,
: float,
: float,
: float,
: int,
: float,
: float,
: boolean,
: byte,
: byte,
: byte
) : int;
public: int AddLinkToPageAnnotation(
float ,
float ,
float ,
float ,
int ,
float ,
float ,
bool ,
byte ,
byte ,
byte
)
public:
int AddLinkToPageAnnotation(
float ,
float ,
float ,
float ,
int ,
float ,
float ,
bool ,
byte ,
byte ,
byte
)
Parameters
- Left
- The horizontal (X) coordinate of the closest point to the currently defined origin, where the annotation's bounding box is to be located.
The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
- Top
- The vertical (Y) coordinate of the closest point to the currently defined origin, where the annotation's bounding box is to be located.
The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
- Width
- The width of the annotation's bounding box, expressed in the current units specified by the SetMeasurementUnit method.
- Height
- The height of the annotation's bounding box, expressed in the current units specified by the SetMeasurementUnit method.
- PageNum
- The page number of the destination's page in the current document. It must be a value from 1 to GetPageCount.
- DstLeft
- The horizontal (X) coordinate of the closest point to the currently defined origin on the destination's page, where the link jumps.
The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
- DstTop
- The vertical (Y) coordinate of the closest point to the currently defined origin on the destination's page, where the link jumps.
The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
- Borders
- Set this parameter to true, if you want to display borders around the annotation's bounding box, otherwise set it to false. These borders are
inscribed within the annotation's bounding box and they are drawn with the required color.
- Red
- The amount of red color to be used for the resulting color when displaying the link borders, if the Borders parameter is set to true.
Use the value between 0 and 255.
- Green
- The amount of green color to be used for the resulting color when displaying the link borders, if the Borders parameter is set to true.
Use the value between 0 and 255.
- Blue
- The amount of blue color to be used for the resulting color when displaying the link borders, if the Borders parameter is set to true.
Use the value between 0 and 255.
Return Value
The unique annotation index from 0 to
GetAnnotationCount-1 related to the currently selected page. The
GetStat method can be subsequently used to determine if this method has been successful.
Example
How to create a link annotation on a new page in the PDF document, that points to a page in the same document. This example creates two pages in a
new PDF document with link annotation on each of them, so that these links point to the respective pages.
Dim caption As String = "Example: AddLinkToPageAnnotation"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If (gdpicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
gdpicturePDF.SelectPage(1)
Dim textSize As Single = 20
Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
If (gdpicturePDF.GetStat() = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(255, 140, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetTextSize(textSize) = GdPictureStatus.OK) Then
Dim textW As Single = gdpicturePDF.GetTextWidth(fontResName, textSize, "Goto Page 2")
Dim status1 As GdPictureStatus = gdpicturePDF.GetStat()
Dim textH As Single = gdpicturePDF.GetTextHeight(fontResName, textSize, False)
Dim status2 As GdPictureStatus = gdpicturePDF.GetStat()
If (status1 = GdPictureStatus.OK) AndAlso (status2 = GdPictureStatus.OK) Then
If gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 2") = GdPictureStatus.OK Then
'The currently selected page is 1.
Dim annotID As Integer = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 2, 0, 0, True, 0, 0, 255)
'Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
'Please always select the required page before adding an annotation.
If (gdpicturePDF.SelectPage(2) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(255, 140, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetTextSize(textSize) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 1") = GdPictureStatus.OK) Then
'The currently selected page is 2.
annotID = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 1, 0, 0, True, 0, 0, 255)
'Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
If gdpicturePDF.SaveToFile("linkpageannot.pdf") = GdPictureStatus.OK Then
MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
Else
MessageBox.Show("The example has been followed successfully, but the file has NOT been saved. Status: " + gdpicturePDF.GetStat(), caption)
End If
Else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The GetTextWidth()/GetTextHeight() method has failed with the status: " + status1.ToString() + "/" + status2.ToString(), caption)
End If
Else
MessageBox.Show("Adding font and its properties 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: AddLinkToPageAnnotation";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if ((gdpicturePDF.NewPDF() == GdPictureStatus.OK) &&
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK) &&
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
{
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
gdpicturePDF.SelectPage(1);
float textSize = 20;
string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(255, 140, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetTextSize(textSize) == GdPictureStatus.OK))
{
float textW = gdpicturePDF.GetTextWidth(fontResName, textSize, "Goto Page 2");
GdPictureStatus status1 = gdpicturePDF.GetStat();
float textH = gdpicturePDF.GetTextHeight(fontResName, textSize, false);
GdPictureStatus status2 = gdpicturePDF.GetStat();
if ((status1 == GdPictureStatus.OK) && (status2 == GdPictureStatus.OK))
{
if (gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 2") == GdPictureStatus.OK)
{
//The currently selected page is 1.
int annotID = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 2, 0, 0, true, 0, 0, 255);
//Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
//Please always select the required page before adding an annotation.
if ((gdpicturePDF.SelectPage(2) == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(255, 140, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetTextSize(textSize) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 1") == GdPictureStatus.OK))
{
//The currently selected page is 2.
annotID = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 1, 0, 0, true, 0, 0, 255);
//Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
if (gdpicturePDF.SaveToFile("linkpageannot.pdf") == GdPictureStatus.OK)
MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
else
MessageBox.Show("The example has been followed successfully, but the file has NOT been saved. Status: " + gdpicturePDF.GetStat(), caption);
}
else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The GetTextWidth()/GetTextHeight() method has failed with the status: " + status1.ToString() + "/" + status2.ToString(), caption);
}
else
MessageBox.Show("Adding font and its properties has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The file can't be created.", caption);
gdpicturePDF.Dispose();
Example
How to create a link annotation on a new page in the PDF document, that points to a page in the same document. This example creates two pages in a
new PDF document with link annotation on each of them, so that these links point to the respective pages.
Dim caption As String = "Example: AddLinkToPageAnnotation"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If (gdpicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
gdpicturePDF.SelectPage(1)
Dim textSize As Single = 20
Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
If (gdpicturePDF.GetStat() = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(255, 140, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetTextSize(textSize) = GdPictureStatus.OK) Then
Dim textW As Single = gdpicturePDF.GetTextWidth(fontResName, textSize, "Goto Page 2")
Dim status1 As GdPictureStatus = gdpicturePDF.GetStat()
Dim textH As Single = gdpicturePDF.GetTextHeight(fontResName, textSize, False)
Dim status2 As GdPictureStatus = gdpicturePDF.GetStat()
If (status1 = GdPictureStatus.OK) AndAlso (status2 = GdPictureStatus.OK) Then
If gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 2") = GdPictureStatus.OK Then
'The currently selected page is 1.
Dim annotID As Integer = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 2, 0, 0, True, 0, 0, 255)
'Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
'Please always select the required page before adding an annotation.
If (gdpicturePDF.SelectPage(2) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(255, 140, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetTextSize(textSize) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 1") = GdPictureStatus.OK) Then
'The currently selected page is 2.
annotID = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 1, 0, 0, True, 0, 0, 255)
'Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
If gdpicturePDF.SaveToFile("linkpageannot.pdf") = GdPictureStatus.OK Then
MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
Else
MessageBox.Show("The example has been followed successfully, but the file has NOT been saved. Status: " + gdpicturePDF.GetStat(), caption)
End If
Else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The GetTextWidth()/GetTextHeight() method has failed with the status: " + status1.ToString() + "/" + status2.ToString(), caption)
End If
Else
MessageBox.Show("Adding font and its properties 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: AddLinkToPageAnnotation";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if ((gdpicturePDF.NewPDF() == GdPictureStatus.OK) &&
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK) &&
(gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
{
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
gdpicturePDF.SelectPage(1);
float textSize = 20;
string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(255, 140, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetTextSize(textSize) == GdPictureStatus.OK))
{
float textW = gdpicturePDF.GetTextWidth(fontResName, textSize, "Goto Page 2");
GdPictureStatus status1 = gdpicturePDF.GetStat();
float textH = gdpicturePDF.GetTextHeight(fontResName, textSize, false);
GdPictureStatus status2 = gdpicturePDF.GetStat();
if ((status1 == GdPictureStatus.OK) && (status2 == GdPictureStatus.OK))
{
if (gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 2") == GdPictureStatus.OK)
{
//The currently selected page is 1.
int annotID = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 2, 0, 0, true, 0, 0, 255);
//Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
//Please always select the required page before adding an annotation.
if ((gdpicturePDF.SelectPage(2) == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(255, 140, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetTextSize(textSize) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawText(fontResName, 0, textH, "Goto page 1") == GdPictureStatus.OK))
{
//The currently selected page is 2.
annotID = gdpicturePDF.AddLinkToPageAnnotation(0, 0, textW, textH, 1, 0, 0, true, 0, 0, 255);
//Each valid annotID should be >= 0, but it is recommended to check the error status, not the returned ID.
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
if (gdpicturePDF.SaveToFile("linkpageannot.pdf") == GdPictureStatus.OK)
MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
else
MessageBox.Show("The example has been followed successfully, but the file has NOT been saved. Status: " + gdpicturePDF.GetStat(), caption);
}
else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The AddLinkToPageAnnotation() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The DrawText() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The GetTextWidth()/GetTextHeight() method has failed with the status: " + status1.ToString() + "/" + status2.ToString(), caption);
}
else
MessageBox.Show("Adding font and its properties has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The file can't be created.", caption);
gdpicturePDF.Dispose();
See Also