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





In This Topic
GdPicture14 Namespace / GdPicturePDF Class / NewActionNamed Method

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 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: SetViewerOpenAction, SetBookmarkAction, SetAnnotationAction or SetFormFieldAction.

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

It is recommend to use the 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