> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/android/viewer/customize-pdfviewctrl.md).

# Customizing Android PDF viewer with PDFViewCtrl

Discover how to customize your PDF viewing experience with the PDFViewCtrl API. Control page colors, layout modes, scrolling direction, and more. Optimize your PDF presentation now! The Apryse Android

The [PDFViewCtrl](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html) has a large API set that can be used to control how the PDF is presented to the user. This guide highlights some of the most commonly used functionality.

If you are using a `DocumentActivity` (or `PdfViewCtrlTabHostFragment2`), the contained PDFViewCtrl can be customized through [PDFViewCtrlConfig](/android/viewer/fragment-config.md#configure-pdfviewctrl).

## Customize the viewing experience

* [Custom page colors](/android/viewer/themes.md) including day mode, night mode, or custom color mode
* [Automatic and dynamic page fit/zoom control](https://github.com/iKettles/apryse-gitbook/tree/main/android/guides/viewer/view-mode.md?tab-69f8eddb-4eab-4252-a004-d3bf0033e594=fit) using fit page, fit width, fit height, or zoom
* [Page layout mode](/android/viewer/view-mode.md) and [scrolling direction](/android/viewer/direction.md) (i.e. vertical scrolling or continuous view mode)
* [Right-to-left (RTL) reading mode](/android/viewer/rtl-support.md)
* [Adding custom views to PDFViewCtrl](/android/ui-customization/custom-relative-layout.md)

## Properties and methods

| API                        | Description                                                                                                                                                               |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SetPagePresentationMode`  | Set how pages are presented and scrolled: in 1 or 2 columns, scrolled vertically or horizontally                                                                          |
| `SetPageViewMode`          | Sets the zoom level relative to the page size, fit-width, fit-height or fit-page.                                                                                         |
| `SetPageRefViewMode`       | When a document is scrolled via horizontal swipes, use this method to control what zoom level new pages are rendered at.                                                  |
| `SetClientBackgroundColor` | Sets the color that is seen around pages.                                                                                                                                 |
| `SetupThumbnails`          | Controls how low-resolution thumbnails are handled. Enlarged thumbnails are used in place of high-resolution content while the high-resolution content is being rendered. |
| `SetProgressiveRendering`  | Controls how frequently the high-resolution content is updated while it is being rendered.                                                                                |
| `SetDrawAnnotations`       | Controls if annotations are visible.                                                                                                                                      |
| `SetHighlightFields`       | Controls if form fields are shaded with light blue.                                                                                                                       |
| `SetOverprint`             | Controls how PDFs that use overprint colors are rendered.                                                                                                                 |
| `SetColorPostProcessMode`  | Can be used to turn on night-mode and other color processing changes.                                                                                                     |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.apryse.com/android/viewer/customize-pdfviewctrl.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
