> 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
