---
title: "Configuring permissions in Android PDF viewer"
canonical_url: "https://www.nutrient.io/guides/android/viewer/permissions/"
md_url: "https://www.nutrient.io/guides/android/viewer/permissions.md"
last_updated: "2026-05-20T19:49:34.731Z"
description: "Learn how to configure PDF permissions in Android to control document features like printing, copying, and editing content."
---

# Mastering PDF permissions in Android apps

The PDF specification defines a series of flags that can be set on a document to determine what a user can do with a document. These permissions are represented as a bitmask at the PDF level. When a permission bit isn’t present at its defined position, the permission is considered not granted.

Nutrient honors the permissions set on a document and enables or disables certain platform features based on the permission configuration. For instance, if a PDF doesn’t explicitly define the printing permission as loaded, Nutrient won’t enable the printing option in the UI.

The PDF specification defines the permissions shown below.

- Printing: Print the document.

- High-quality printing: Print the document in high fidelity.

- Copying content: Copy or otherwise extract text and graphics from the document.

- Document assembly: Insert, rotate, or delete pages and create document outline items or thumbnail images.

- Editing annotations and forms: Add or modify text annotations and fill in interactive form fields.

- Filling forms: Fill in existing interactive form fields (including signature fields).

- Modifying content: Any other modifications not covered by previous permission flags.

By default, most documents will have all permissions marked as granted.

Nutrient has support for the above permissions on a per-platform basis. This is ongoing work, and support for more permissions is being worked on to reach feature parity across platforms.

The permissions will be honored when the document is unlocked with a user password (in case there’s one). Note that a PDF document can have both an owner password and a user password ([read more](https://www.nutrient.io/blog/protecting-pdf-documents/)). We recommend not using the same value for both the owner and user password.

You can use the [`DocumentPermissions` enumeration](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.document/-document-permissions/index.html) to programmatically read or update a document’s permissions.

Below you’ll find a detailed breakdown of the permissions that can be set.

## Printing and high-quality printing

These permissions are defined by the `PRINTING` and `PRINT_HIGH_QUALITY` flags, respectively.

## Text extraction

When this permission isn’t given, users aren’t allowed to copy text out of the document, and the related UI elements will be disabled. However, text selection will still be available. This permission is defined by the `EXTRACT` flag.

## Document assembling

This permission is defined by the `ASSEMBLE` flag, but currently it isn’t honored by Nutrient Android SDK.

## Forms and annotations

Nutrient Android SDK will allow users to fill in forms whenever the `ANNOTATIONS_AND_FORMS` or the `FILL_FORM` flag is set.

When this permission isn’t given, users aren’t allowed to fill forms, and the related UI elements will be disabled.

## Content modification

This is defined by the `MODIFICATION` flag. This flag is currently not honored by Nutrient Android SDK.
---

## Related pages

- [Android image viewer library](/guides/android/viewer/images.md)
- [Create efficient Android PDF viewers for apps](/guides/android/viewer/java.md)
- [Android PDF viewer library](/guides/android/viewer.md)
- [Fast and feature-rich PDF viewer for Android apps](/guides/android/viewer/kotlin.md)
- [Customizing page navigation in our Android PDF viewer](/guides/android/basics/document-interactions.md)
- [Configuring scroll directions and page transitions in our Android viewer](/guides/android/customizing-the-interface/document-presentation-options.md)
- [Enhance your Android PDF viewer with JavaScript support](/guides/android/features/javascript.md)
- [Selecting text in Android PDF viewer](/guides/android/features/text-selection.md)
- [Android PDF  iewer troubleshooting](/guides/android/viewer/troubleshooting.md)
- [Using the view state to display PDFs on Android](/guides/android/view-management/store-load-view-state.md)
- [Customizing zoom options in our Android PDF viewer](/guides/android/miscellaneous/zooming.md)

