Index: src/doc/PdfPage.cpp
===================================================================
--- src/doc/PdfPage.cpp	(revision 1473)
+++ src/doc/PdfPage.cpp	(working copy)
@@ -270,6 +270,14 @@
     return rot;
 }
 
+void PdfPage::SetRotation(int nRotation)
+{
+    if( nRotation != 0 && nRotation != 90 && nRotation != 180 && nRotation != 270 )
+        PODOFO_RAISE_ERROR( ePdfError_ValueOutOfRange );
+
+    this->GetObject()->GetDictionary().AddKey( "Rotate", PdfVariant(static_cast<pdf_int64>(nRotation)) );
+}
+
 PdfObject* PdfPage::GetAnnotationsArray( bool bCreate ) const
 {
     PdfObject* pObj;
Index: src/doc/PdfPage.h
===================================================================
--- src/doc/PdfPage.h	(revision 1473)
+++ src/doc/PdfPage.h	(working copy)
@@ -166,6 +166,11 @@
      *  \returns int 0, 90, 180 or 270
      */
     virtual int GetRotation() const;
+
+    /** Set the current page rotation.
+     *  \param iRotation Rotation to set to the page. Valid value are 0, 90, 180, 270.
+     */
+    virtual void SetRotation(int nRotation);
         
     /** Get the number of annotations associated with this page
      * \ returns int number of annotations
