GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / AddPageRotation Method
The rotation angle, in degrees, determining the clockwise rotation. This parameter can be only set to 90, -90, 180, -180, 270, -270, otherwise the method will fail.
Example





In This Topic
AddPageRotation Method (GdPicturePDF)
In This Topic
Modifies the current transformation matrix (CTM) applying the clockwise rotation by a specified angle to the actual page. The applied rotation affects all subsequent drawing operations on the currently selected page of the loaded PDF document. This method can be particularly useful when you need to write text (or any other kind of page content) on a rotated page without applying the page rotation on the current content, as it is shown on the example below.

The CTM parameter is part of the graphics state parameters. These parameters are initialized to their default values at the beginning of each page (see PDF Reference, Section "Graphics State").

Syntax
'Declaration
 
Public Function AddPageRotation( _
   ByVal Angle As Integer _
) As GdPictureStatus
public GdPictureStatus AddPageRotation( 
   int Angle
)
public function AddPageRotation( 
    Angle: Integer
): GdPictureStatus; 
public function AddPageRotation( 
   Angle : int
) : GdPictureStatus;
public: GdPictureStatus AddPageRotation( 
   int Angle
) 
public:
GdPictureStatus AddPageRotation( 
   int Angle
) 

Parameters

Angle
The rotation angle, in degrees, determining the clockwise rotation. This parameter can be only set to 90, -90, 180, -180, 270, -270, otherwise the method will fail.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
The applied page rotation does not affect the current page height and page width properties.
Example
How to apply the rotation of the CTM on the current page to draw text without altering the page content.
Dim caption As String = "Example: AddPageRotation"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.NewPDF()
If status = GdPictureStatus.OK Then
    Dim fontName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontCourierBold)
    status = gdpicturePDF.GetStat()
    If status = GdPictureStatus.OK Then
        Dim rotationAngle As Integer = 90
        If (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetTextSize(50) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetFillColor(0, 0, 255) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawText(fontName, 50, 50, "normal text") = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetFillColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawRotatedText(fontName, 50, 50, "rotated text", rotationAngle) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.RotatePage(rotationAngle) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.AddPageRotation(360 - rotationAngle) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetFillColor(165, 42, 42) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawText(fontName, 100, 500, "same as rotated text") = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.AddPageRotation(rotationAngle) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetFillColor(255, 165, 0) = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.DrawText(fontName, 250, 20, "same as normal text") = GdPictureStatus.OK) Then
            status = gdpicturePDF.SaveToFile("test_AddPageRotation.pdf")
            If status = GdPictureStatus.OK Then
                MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
            Else
                MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption)
            End If
        Else
            MessageBox.Show("The example has not been followed successfully." + vbCrLf + "The last known status is " + gdpicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The AddStandardFont() method has failed with the status: " + status.ToString(), caption)
    End If
Else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: AddPageRotation";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.NewPDF();
if (status == GdPictureStatus.OK)
{
    string fontName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontCourierBold);
    status = gdpicturePDF.GetStat();
    if (status == GdPictureStatus.OK)
    {
        int rotationAngle = 90;
        if ((gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK) &&
            (gdpicturePDF.SetTextSize(50) == GdPictureStatus.OK) &&
            (gdpicturePDF.SetFillColor(0, 0, 255) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawText(fontName, 50, 50, "normal text") == GdPictureStatus.OK) &&
            (gdpicturePDF.SetFillColor(255, 0, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawRotatedText(fontName, 50, 50, "rotated text", rotationAngle) == GdPictureStatus.OK) &&
            (gdpicturePDF.RotatePage(rotationAngle) == GdPictureStatus.OK) &&
            (gdpicturePDF.AddPageRotation(360 - rotationAngle) == GdPictureStatus.OK) &&
            (gdpicturePDF.SetFillColor(165, 42, 42) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawText(fontName, 100, 500, "same as rotated text") == GdPictureStatus.OK) &&
            (gdpicturePDF.AddPageRotation(rotationAngle) == GdPictureStatus.OK) &&
            (gdpicturePDF.SetFillColor(255, 165, 0) == GdPictureStatus.OK) &&
            (gdpicturePDF.DrawText(fontName, 250, 20, "same as normal text") == GdPictureStatus.OK))
        {
            status = gdpicturePDF.SaveToFile("test_AddPageRotation.pdf");
            if (status == GdPictureStatus.OK)
                MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
            else
                MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption);
        }
        else
            MessageBox.Show("The example has not been followed successfully.\nThe last known status is " + gdpicturePDF.GetStat().ToString(), caption);
    }
    else
        MessageBox.Show("The AddStandardFont() method has failed with the status: " + status.ToString(), caption);
}
else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption);
gdpicturePDF.Dispose();
See Also