Example





In This Topic
GdPicture14 Namespace / GdPicturePDF Class / GuessPageTextRotation Method

GuessPageTextRotation Method (GdPicturePDF)

In This Topic
Returns the prevailing text rotation in the clockwise direction, in degrees, based on all text presented on the currently selected page of the loaded PDF document. The returned value will always be a multiple of 90.

The resulting rotation value is measured considering all presented text on the page. Each single text rotation is recognised and the most represented (prevailing) value is returned.

Be aware that the text rotation is calculated relative to the page, that said the current page rotation is not considered here. You can use the NormalizePage method to eliminate the potential page rotation before computing the text rotation.

Syntax
'Declaration

 

Public Function GuessPageTextRotation() As Integer
public int GuessPageTextRotation()
public function GuessPageTextRotation(): Integer; 
public function GuessPageTextRotation() : int;
public: int GuessPageTextRotation(); 
public:

int GuessPageTextRotation(); 

Return Value

The prevailing clockwise rotation of the text on the currently selected page in degrees. The returned value can only be 0, 90, 180 or 270. 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.

Be aware that the text rotation is calculated relative to the page and the current page rotation is not considered in the resulting value.

Example
How to rotate only those pages of your document, that contains some rotated text.
Dim caption As String = "Example: GuessPageTextRotation"

Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()

Dim status As GdPictureStatus = gdpicturePDF.LoadFromFile("test.pdf", False)

If status = GdPictureStatus.OK Then

    Dim pageCount As Integer = gdpicturePDF.GetPageCount()

    status = gdpicturePDF.GetStat()

    If status = GdPictureStatus.OK Then

        Dim message As String = Nothing

        Dim page_text_rotation As Integer = 0

        For i As Integer = 1 To pageCount

            gdpicturePDF.SelectPage(i)

            message = message + "The page nr. " + i + ": "

            'Eliminating the possible page rotation.

            status = gdpicturePDF.NormalizePage()

            If status = GdPictureStatus.OK Then

                page_text_rotation = gdpicturePDF.GuessPageTextRotation()

                status = gdpicturePDF.GetStat()

                If status = GdPictureStatus.OK Then

                    message = message + "text rotation: " + page_text_rotation.ToString()

                    If page_text_rotation > 0 Then

                        status = gdpicturePDF.RotatePage(page_text_rotation)

                        If status = GdPictureStatus.OK Then

                            message = message + " :page has been rotated" + vbCrLf

                        Else

                            message = message + " :page has NOT been rotated: " + status.ToString()

                            Exit For

                        End If

                    Else

                        message = message + " :page has not been rotated" + vbCrLf

                    End If

                End If

            Else

                message = message + status.ToString()

                Exit For

            End If

        Next

        If status = GdPictureStatus.OK Then

            status = gdpicturePDF.SaveToFile("test_rotated.pdf")

            If status = GdPictureStatus.OK Then

                message = message + vbCrLf + "The pages have been rotated successfully and the file has been saved."

            Else

                message = message + vbCrLf + "The pages have been rotated successfully but the file can't be saved."

            End If

        End If

        MessageBox.Show(message, caption)

    Else

        MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), caption)

    End If

Else

    MessageBox.Show("The file can't be loaded.", caption)

End If

gdpicturePDF.Dispose()
string caption = "Example: GuessPageTextRotation";

GdPicturePDF gdpicturePDF = new GdPicturePDF();

GdPictureStatus status = gdpicturePDF.LoadFromFile("test.pdf", false);

if (status == GdPictureStatus.OK)

{

    int pageCount = gdpicturePDF.GetPageCount();

    status = gdpicturePDF.GetStat();

    if (status == GdPictureStatus.OK)

    {

        string message = null;

        int page_text_rotation = 0;

        for (int i = 1; i <= pageCount; i++)

        {

            gdpicturePDF.SelectPage(i);

            message = message + "The page nr. " + i + ": ";

            //Eliminating the possible page rotation.

            status = gdpicturePDF.NormalizePage();

            if (status == GdPictureStatus.OK)

            {

                page_text_rotation = gdpicturePDF.GuessPageTextRotation();

                status = gdpicturePDF.GetStat();

                if (status == GdPictureStatus.OK)

                {

                    message = message + "text rotation: " + page_text_rotation.ToString();

                    if (page_text_rotation > 0)

                    {

                        status = gdpicturePDF.RotatePage(page_text_rotation);

                        if (status == GdPictureStatus.OK)

                        {

                            message = message + " :page has been rotated\n";

                        }

                        else

                        {

                            message = message + " :page has NOT been rotated: " + status.ToString();

                            break;

                        }

                    }

                    else

                    {

                        message = message + " :page has not been rotated\n";

                    }

                }

            }

            else

            {

                message = message + status.ToString();

                break;

            }

        }

        if (status == GdPictureStatus.OK)

        {

            status = gdpicturePDF.SaveToFile("test_rotated.pdf");

            if (status == GdPictureStatus.OK)

                message = message + "\nThe pages have been rotated successfully and the file has been saved.";

            else

                message = message + "\nThe pages have been rotated successfully but the file can't be saved.";

        }

        MessageBox.Show(message, caption);

    }

    else

    {

        MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), caption);

    }

}

else

{

    MessageBox.Show("The file can't be loaded.", caption);

}

gdpicturePDF.Dispose();
See Also