For the complete documentation index, see llms.txt. This page is also available as Markdown.

Rotating PDF Pages in Android

Apryse's library has a rotate pages dialog which allows users to rotate pages easily. For more information, see: rotate pages dialog .

There are two options for rotating PDF pages. The first is rotating PDFViewCtrl, it will rotate all PDF pages temporarily. The second is rotating PDF pages using Page class, it will rotate selected PDF pages permanently.

Rotating PDFViewCtrl

If you want to rotate a PDFViewCtrl by 90 degrees clockwisely, just simply call PDFViewCtrl.rotateClockwise (). If you want to rotate the PDFViewCtrl by 90 degrees counter clockwisely, call PDFViewCtrl.rotateCounterClockwise (). After rotation, update the PDFViewCtrl pages layout by calling PDFViewCtrl.updatePageLayout().

pdfViewCtrl.rotateClockwise();
try {
    pdfViewCtrl.updatePageLayout();
} catch (Exception e) {
    e.printStackTrace();  
}
pdfViewCtrl.rotateClockwise()
try {
    pdfViewCtrl.updatePageLayout()
} catch (e: Exception) {
    e.printStackTrace()
}

where pdfViewCtrl is the instance of PDFViewCtrl.

Rotating a PDF page

To rotate a PDF page by 90 degrees, call Page.setRotation(int). The parameter of this method is the rotation value, which is one of [0, 1, 2, 3]. It represents [0 degree, 90 degree, 180 degree, 270 degree] correspondingly. After rotation, update the PDFViewCtrl pages layout by calling PDFViewCtrl.updatePageLayout().

To rotate a PDF page, you must lock PDFViewCtrl first, see: document locking .

void rotatePage(final PDFViewCtrl pdfViewCtrl, final int pageNum, @IntRange(from = 0, to = 3) final int rotateValue) throws Exception {
    // lock pdf doc
    pdfViewCtrl.docLock(true, new PDFViewCtrl.LockRunnable() {
        @Override
        public void run() throws Exception {
            // get pdf document
            PDFDoc pdfDoc = pdfViewCtrl.getDoc();
            // get page from page number
            Page page = pdfDoc.getPage(pageNum);
            page.setRotation(rotateValue);
            // update page layout
            pdfViewCtrl.updatePageLayout();
        }
    });
}
fun rotatePage(pdfViewCtrl: PDFViewCtrl, pageNum: Int, @IntRange(from = 0, to = 3) rotateValue: Int) { 
    // lock pdf doc
    pdfViewCtrl.docLock(true) {
        // get pdf document
        val pdfDoc = pdfViewCtrl.doc
        // get page from page number
        val page = pdfDoc.getPage(pageNum)
        page.rotation = rotateValue
        // update page layout
        pdfViewCtrl.updatePageLayout()
    }
}

Rotating PDF pages

To rotate PDF pages, traverse each page and call Page.setRotation(int). The following example shows how to rotate all pages of a PDF document.

Last updated

Was this helpful?