Some test text!

Search
Hamburger Icon

Android / Guides

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();  
}

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();
        }
    });
}

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.

void rotateAllPages(final PDFViewCtrl pdfViewCtrl, @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 iteration
            PageIterator itr = pdfDoc.getPageIterator();
            while (itr.hasNext()) {
                Page page = (Page) itr.next();
                // rotate page
                page.setRotation(rotateValue);
            }
            // update page layout
            pdfViewCtrl.updatePageLayout();
        }
    });
}

Get the answers you need: Chat with us