Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

DynaPDF.SetOrientationEx

Changes the orientation of the page.

Component Version macOS Windows Linux Server iOS SDK
DynaPDF 3.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "DynaPDF.SetOrientationEx"; PDF; Value )   More

Parameters

Parameter Description Example
PDF The PDF reference returned from DynaPDF.New. $pdf
Value The new roatation value. From -360 to 360 in 90 degree steps. 90

Result

Returns OK or error message.

Description

Changes the orientation of the page.
The function changes the orientation of a page, incl. important page properties such as the width and height, and the coordinate system. The parameter Value must be a multiple of 90 or 0. Positive values rotate the page clockwise, negative values counter clockwise.
The zero point of the coordinate system is set to the upper left or down left point depending on the current page coordinate system (top down or bottom up).
When using a landscape paper format the functions DynaPDF.GetPageWidth and DynaPDF.GetPageHeight return the logical width and height of the page. While the real paper format is not changed the functions return the paper format as if the page would have a landscape paper format (the width and height are exchanged).
The coordinate system is also changed so that you can work with the page as if it were not rotated. Form fields and annotations are automatically rotated with the page; there is no need to rotate them manually.
Pages which are rotated with this function appear in a viewer application always in the right orientation. Also if the page is rotated, e.g. by 180 degrees the page is shown as if it were not rotated.
Notice:
Since landscape or rotated paper formats require a changed coordinate system, care must be taken into account if further coordinate transformations must be applied. DynaPDF makes sure that one transformation can be applied without causing errors, e.g. rotating or translating the coordinate system, but coordinate transformations must not be nested.
See also DynaPDF.SetOrientation.

See also SetOrientationEx function in DynaPDF manual.

Examples

Rotate page 1 of current PDF:

Set Variable [$r; Value:MBS("DynaPDF.EditPage"; $pdf; 1)]
Set Variable [$r; Value:MBS("DynaPDF.SetOrientationEx"; $pdf; 180)]
Set Variable [$r; Value:MBS("DynaPDF.EndPage"; $pdf)]

Rotate a PDF to 90°:

Let ([
# start new PDF
PDF = MBS("DynaPDF.New");
# read in existing PDF
OpenResult = MBS("DynaPDF.OpenPDFFromContainer"; PDF; Test::InputPDF);
OpenError = MBS("IsError");
ImportResult = MBS("DynaPDF.ImportPDFFile"; PDF );
ImportError = MBS("IsError");

# edit page and rotate
r = MBS("DynaPDF.EditPage"; PDF; 1) ;
r = MBS("DynaPDF.SetOrientationEx"; PDF; 90) ;
r = MBS("DynaPDF.EndPage"; PDF) ;

# save PDF
OutputPDF = MBS("DynaPDF.Save"; PDF; GetAsText(Test::InputPDF));
SaveError = MBS("IsError");
ReleaseError = MBS("DynaPDF.Release"; PDF);

Result = If(
    // all okay?
    OpenError = 0 and ImportError = 0 and /*rotateError = 0 UND*/ SaveError = 0 and MBS( "Container.GetSize"; OutputPDF; "PDF " ) > 0;
    // than return new PDF
    OutputPDF;
    // return old PDF
    Test::InputPDF)
 
];
result )

See also

Example Databases

This function checks for a license.

Created 18th August 2014, last changed 5th January 2017


DynaPDF.SetOrientation - DynaPDF.SetPDFVersion