GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / GetAnnotationFlags Method
The 0-based index of the required annotation within the current page. It must be a value from 0 to GetAnnotationCount-1.
Example





In This Topic
GetAnnotationFlags Method (GdPicturePDF)
In This Topic
Returns the flags of a required annotation object specified by its index related to the currently selected page of the loaded PDF document. These flags define various characteristics of the specified annotation.
Syntax
'Declaration
 
Public Function GetAnnotationFlags( _
   ByVal AnnotationIdx As Integer _
) As PdfAnnotationFlag
public PdfAnnotationFlag GetAnnotationFlags( 
   int AnnotationIdx
)
public function GetAnnotationFlags( 
    AnnotationIdx: Integer
): PdfAnnotationFlag; 
public function GetAnnotationFlags( 
   AnnotationIdx : int
) : PdfAnnotationFlag;
public: PdfAnnotationFlag GetAnnotationFlags( 
   int AnnotationIdx
) 
public:
PdfAnnotationFlag GetAnnotationFlags( 
   int AnnotationIdx
) 

Parameters

AnnotationIdx
The 0-based index of the required annotation within the current page. It must be a value from 0 to GetAnnotationCount-1.

Return Value

A bitwise combination of values of the PdfAnnotationFlag enumeration. The GetStat method can be subsequently used to determine if this method has been successful.
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.

Please always ensure that you have selected the correct page using the SelectPage method before applying an annotation index.

Example
How to find out the annotation's flags of all underline annotation objects within the PDF document.
Dim caption As String = "Example: GetAnnotationFlags"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.LoadFromFile("test.pdf", False)
If status = GdPictureStatus.OK Then
    Dim message As String = ""
    Dim pageCount As Integer = gdpicturePDF.GetPageCount()
    For i As Integer = 1 To pageCount
        status = gdpicturePDF.SelectPage(i)
        If status = GdPictureStatus.OK Then
            message = message + "The page nr." + i.ToString()
            Dim annotCount As Integer = gdpicturePDF.GetAnnotationCount()
            status = gdpicturePDF.GetStat()
            If status = GdPictureStatus.OK Then
                If annotCount = 0 Then
                    message = message + " does not contain any annotations."
                Else
                    Dim annotSubType As String = ""
                    Dim flags As PdfAnnotationFlag = PdfAnnotationFlag.PdfAnnotationFlagDefault
                    For j As Integer = 0 To annotCount - 1
                        annotSubType = gdpicturePDF.GetAnnotationSubType(j)
                        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                            If annotSubType.Equals("Underline") Then
                                message = message + vbCrLf + "AnnotID: " + j.ToString() + "    flags: "
                                flags = gdpicturePDF.GetAnnotationFlags(j)
                                status = gdpicturePDF.GetStat()
                                If status = GdPictureStatus.OK Then
                                    Dim res As PdfAnnotationFlag = flags And PdfAnnotationFlag.PdfAnnotationFlagHidden
                                    message = message + vbCrLf + "  hidden: " + (res <> 0).ToString()
                                    res = flags And PdfAnnotationFlag.PdfAnnotationFlagLocked
                                    message = message + "  locked: " + (res <> 0).ToString()
                                    res = flags And PdfAnnotationFlag.PdfAnnotationFlagPrint
                                    message = message + "  print: " + (res <> 0).ToString()
                                    'You can check out other flags in the same way.
                                Else
                                    message = message + status.ToString()
                                End If
                            End If
                        Else
                            message = message + vbCrLf + "The GetAnnotationSubType() method has failed with the status: " + status.ToString()
                        End If
                    Next
                End If
            Else
                message = message + ": the GetAnnotationCount() method has failed with the status: " + status.ToString()
            End If
            message = message + vbCrLf
        Else
            message = message + "The SelectPage(" + i.ToString() + ") method has failed with the status: " + status.ToString() + vbCrLf
        End If
    Next
    MessageBox.Show(message, caption)
Else
    MessageBox.Show("The file can't be loaded.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetAnnotationFlags";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.LoadFromFile("test.pdf", false);
if (status == GdPictureStatus.OK)
{
    string message = "";
    int pageCount = gdpicturePDF.GetPageCount();
    for (int i = 1; i <= pageCount; i++)
    {
        status = gdpicturePDF.SelectPage(i);
        if (status == GdPictureStatus.OK)
        {
            message = message + "The page nr." + i.ToString();
            int annotCount = gdpicturePDF.GetAnnotationCount();
            status = gdpicturePDF.GetStat();
            if (status == GdPictureStatus.OK)
            {
                if (annotCount == 0)
                {
                    message = message + " does not contain any annotations.";
                }
                else
                {
                    string annotSubType = "";
                    PdfAnnotationFlag flags = PdfAnnotationFlag.PdfAnnotationFlagDefault;
                    for (int j = 0; j < annotCount; j++)
                    {
                        annotSubType = gdpicturePDF.GetAnnotationSubType(j);
                        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                        {
                            if (annotSubType.Equals("Underline"))
                            {
                                message = message + "\nAnnotID: " + j.ToString() + "    flags: ";
                                flags = gdpicturePDF.GetAnnotationFlags(j);
                                status = gdpicturePDF.GetStat();
                                if (status == GdPictureStatus.OK)
                                {
                                    PdfAnnotationFlag res = flags & PdfAnnotationFlag.PdfAnnotationFlagHidden;
                                    message = message + "\n  hidden: " + (res != 0).ToString();
                                    res = flags & PdfAnnotationFlag.PdfAnnotationFlagLocked;
                                    message = message + "  locked: " + (res != 0).ToString();
                                    res = flags & PdfAnnotationFlag.PdfAnnotationFlagPrint;
                                    message = message + "  print: " + (res != 0).ToString();
                                    //You can check out other flags in the same way.
                                }
                                else
                                    message = message + status.ToString();
                            }
                        }
                        else
                        {
                            message = message + "\nThe GetAnnotationSubType() method has failed with the status: " + status.ToString();
                        }
                    }
                }
            }
            else
                message = message + ": the GetAnnotationCount() method has failed with the status: " + status.ToString();
            
            message = message + "\n";
        }
        else
            message = message + "The SelectPage(" + i.ToString() + ") method has failed with the status: " + status.ToString() + "\n";
    }
    MessageBox.Show(message, caption);
}
else
{
    MessageBox.Show("The file can't be loaded.", caption);
}
gdpicturePDF.Dispose();
See Also