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 |
Parameters
Parameter | Description | Example |
---|---|---|
The PDF reference returned from DynaPDF.New. | ||
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
- DynaPDF.EditPage
- DynaPDF.EndPage
- DynaPDF.GetPageHeight
- DynaPDF.ImportPDFFile
- DynaPDF.New
- DynaPDF.RotateCoords
- DynaPDF.Save
- DynaPDF.SetFieldOrientation
- DynaPDF.SetOrientation
- IsError
Example Databases
This function checks for a license.
Created 18th August 2014, last changed 5th January 2017