GdPicture.NET.14.API
GdPicture14 Namespace / GdPicturePDF Class / NewActionNamed Method
A member of the PdfActionNamed enumeration. Sets the destination of the action specified by its name.
Example





In This Topic
NewActionNamed Method (GdPicturePDF)
In This Topic
Creates a new action of the type Named. A named action is a simple action defined by its name that PDF viewer applications are expected to support. See the PdfActionNamed enumeration for the predefined named actions.
Syntax
'Declaration
 
Public Function NewActionNamed( _
   ByVal Name As PdfActionNamed _
) As Integer
public int NewActionNamed( 
   PdfActionNamed Name
)
public function NewActionNamed( 
    Name: PdfActionNamed
): Integer; 
public function NewActionNamed( 
   Name : PdfActionNamed
) : int;
public: int NewActionNamed( 
   PdfActionNamed Name
) 
public:
int NewActionNamed( 
   PdfActionNamed Name
) 

Parameters

Name
A member of the PdfActionNamed enumeration. Sets the destination of the action specified by its name.

Return Value

The unique action identifier of the newly created action of the type Named. The GdPicturePDF.GetStat method can be subsequently used to determine if this method has been successful.

You can subsequently apply this identifier when creating actions using these methods: GdPicturePDF.SetViewerOpenAction, GdPicturePDF.SetBookmarkAction, GdPicturePDF.SetAnnotationAction or GdPicturePDF.SetFormFieldAction.

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

It is recommend to use the GdPicturePDF.GetStat method to identify the specific reason for the method's failure, if any.

Example
How to create a PDF document of 5 pages with 4 links on each page, while these links are associated with the predefined named actions.
Dim failure As Boolean = True
Dim gdpicturePDF As New GdPicturePDF()
If gdpicturePDF.NewPDF() = GdPictureStatus.OK Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
    Dim status As GdPictureStatus = gdpicturePDF.GetStat()
    If status = GdPictureStatus.OK Then
        Dim actionFirstPageID As Integer = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedFirstPage)
        status = gdpicturePDF.GetStat()
        Dim actionPrevPageID As Integer = -1
        If status = GdPictureStatus.OK Then
            actionPrevPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedPrevPage)
            status = gdpicturePDF.GetStat()
        End If
        Dim actionNextPageID As Integer = -1
        If status = GdPictureStatus.OK Then
            actionNextPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedNextPage)
            status = gdpicturePDF.GetStat()
        End If
        Dim actionLastPageID As Integer = -1
        If status = GdPictureStatus.OK Then
            actionLastPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedLastPage)
            status = gdpicturePDF.GetStat()
        End If
        If status = GdPictureStatus.OK Then
            Dim i As Integer = 0, annotID As Integer = -1
            Do
                i += 1
                failure = True
                If (gdpicturePDF.NewPage(21, 29.7F) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetFillColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetTextSize(12) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.DrawText(fontResName, 1, 0.5F, "This is the page " + i.ToString()) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.DrawTextBox(fontResName, 1, 1, 4, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "First page") = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.DrawTextBox(fontResName, 4, 1, 7, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "Prev. page") = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.DrawTextBox(fontResName, 7, 1, 10, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "Next page") = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.DrawTextBox(fontResName, 10, 1, 13, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "Last page") = GdPictureStatus.OK) Then
                    annotID = gdpicturePDF.AddLinkAnnotation(1, 1, 3, 1, True, 255, 0, 0)
                    status = gdpicturePDF.GetStat()
                    If (status = GdPictureStatus.OK) AndAlso (gdpicturePDF.SetAnnotationAction(annotID, actionFirstPageID) = GdPictureStatus.OK) Then
                        annotID = gdpicturePDF.AddLinkAnnotation(4, 1, 3, 1, True, 255, 0, 0)
                        status = gdpicturePDF.GetStat()
                        If (status = GdPictureStatus.OK) AndAlso (gdpicturePDF.SetAnnotationAction(annotID, actionPrevPageID) = GdPictureStatus.OK) Then
                            annotID = gdpicturePDF.AddLinkAnnotation(7, 1, 3, 1, True, 255, 0, 0)
                            status = gdpicturePDF.GetStat()
                            If (status = GdPictureStatus.OK) AndAlso (gdpicturePDF.SetAnnotationAction(annotID, actionNextPageID) = GdPictureStatus.OK) Then
                                annotID = gdpicturePDF.AddLinkAnnotation(10, 1, 3, 1, True, 255, 0, 0)
                                status = gdpicturePDF.GetStat()
                                If status = GdPictureStatus.OK Then
                                    status = gdpicturePDF.SetAnnotationAction(annotID, actionLastPageID)
                                    failure = (status <> GdPictureStatus.OK)
                                End If
                            End If
                        End If
                    End If
                End If
            Loop While (Not failure) AndAlso (i < 5)
            If Not failure Then
                failure = (gdpicturePDF.SaveToFile("NamedActions.pdf") <> GdPictureStatus.OK)
            End If
        End If
    End If
End If
If failure Then
    MessageBox.Show("The example HAS NOT been followed successfully. The presumed status: " + gdpicturePDF.GetStat().ToString(), "Example: NewActionNamed")
Else
    MessageBox.Show("The example HAS been followed successfully." + vbCrLf + "The PDF document with the named actions has been created.", "Example: NewActionNamed")
End If
gdpicturePDF.Dispose()
bool failure = true;
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.NewPDF() == GdPictureStatus.OK)
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
    string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
    GdPictureStatus status = gdpicturePDF.GetStat();
    if (status == GdPictureStatus.OK)
    {
        int actionFirstPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedFirstPage);
        status = gdpicturePDF.GetStat();
        int actionPrevPageID = -1;
        if (status == GdPictureStatus.OK)
        {
            actionPrevPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedPrevPage);
            status = gdpicturePDF.GetStat();
        }
        int actionNextPageID = -1;
        if (status == GdPictureStatus.OK)
        {
            actionNextPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedNextPage);
            status = gdpicturePDF.GetStat();
        }
        int actionLastPageID = -1;
        if (status == GdPictureStatus.OK)
        {
            actionLastPageID = gdpicturePDF.NewActionNamed(PdfActionNamed.ActionNamedLastPage);
            status = gdpicturePDF.GetStat();
        }
        if (status == GdPictureStatus.OK)
        {
            int i = 0, annotID = -1;
            do
            {
                i++; failure = true;
                if ((gdpicturePDF.NewPage(21, 29.7f) == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetFillColor(255, 0, 0) == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetTextSize(12) == GdPictureStatus.OK) &&
                    (gdpicturePDF.DrawText(fontResName, 1, 0.5f, "This is the page " + i.ToString()) == GdPictureStatus.OK) &&
                    (gdpicturePDF.DrawTextBox(fontResName, 1, 1, 4, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "First page") == GdPictureStatus.OK) &&
                    (gdpicturePDF.DrawTextBox(fontResName, 4, 1, 7, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "Prev. page") == GdPictureStatus.OK) &&
                    (gdpicturePDF.DrawTextBox(fontResName, 7, 1, 10, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "Next page") == GdPictureStatus.OK) &&
                    (gdpicturePDF.DrawTextBox(fontResName, 10, 1, 13, 2, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, "Last page") == GdPictureStatus.OK))
                {
                    annotID = gdpicturePDF.AddLinkAnnotation(1, 1, 3, 1, true, 255, 0, 0);
                    status = gdpicturePDF.GetStat();
                    if ((status == GdPictureStatus.OK) && (gdpicturePDF.SetAnnotationAction(annotID, actionFirstPageID) == GdPictureStatus.OK))
                    {
                        annotID = gdpicturePDF.AddLinkAnnotation(4, 1, 3, 1, true, 255, 0, 0);
                        status = gdpicturePDF.GetStat();
                        if ((status == GdPictureStatus.OK) && (gdpicturePDF.SetAnnotationAction(annotID, actionPrevPageID) == GdPictureStatus.OK))
                        {
                            annotID = gdpicturePDF.AddLinkAnnotation(7, 1, 3, 1, true, 255, 0, 0);
                            status = gdpicturePDF.GetStat();
                            if ((status == GdPictureStatus.OK) && (gdpicturePDF.SetAnnotationAction(annotID, actionNextPageID) == GdPictureStatus.OK))
                            {
                                annotID = gdpicturePDF.AddLinkAnnotation(10, 1, 3, 1, true, 255, 0, 0);
                                status = gdpicturePDF.GetStat();
                                if (status == GdPictureStatus.OK)
                                {
                                    status = gdpicturePDF.SetAnnotationAction(annotID, actionLastPageID);
                                    failure = (status != GdPictureStatus.OK);
                                }
                            }
                        }
                    }
                }
            } while ((!failure) && (i < 5));
            if (!failure)
                failure = (gdpicturePDF.SaveToFile("NamedActions.pdf") != GdPictureStatus.OK);
        }
    }
}
if (failure)
    MessageBox.Show("The example HAS NOT been followed successfully. The presumed status: " + gdpicturePDF.GetStat().ToString(), "Example: NewActionNamed");
else
    MessageBox.Show("The example HAS been followed successfully.\nThe PDF document with the named actions has been created.", "Example: NewActionNamed");
gdpicturePDF.Dispose();
See Also