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