# About Nutrient Nutrient delivers the tools to build intelligent document-centric applications and workflows. Nutrient’s document SDKs, cloud services, integrations for M365 and Salesforce, and workflow automation platform transform how modern businesses automate, secure, and scale document-centric processes. The company powers thousands of organizations worldwide, including more than 15 percent of Global 500 brands, thousands of commercial businesses across 80 nations, and more than 130 public sector organizations in 24 countries. Backed by Insight Partners and based in Raleigh, NC, Nutrient operates additional offices in England, France, and Austria. Nutrient is on a mission to transform how humans work with documents, with a technology stack that integrates the industry-leading document and workflow automation technology from PSPDFKit, ORPALIS, Aquaforest, Muhimbi, and Integrify. Learn more at https://www.nutrient.io/. ## Product suite Nutrient’s interconnected product lines include: 1. **SDKs** — Developer-first, cross-platform development kits for embedding PDF functionality into native and hybrid applications (Web, iOS, Android, React Native, Flutter, and many more). Key capabilities: Viewing, rendering, annotations, real-time collaboration, form handling, digital/electronic signatures, editing, redaction, OCR, and AI-powered features. 2. **Document Engine** — A self-hosted PDF server for processing documents and powering server-side automation workflows. It operates standalone or as a backend for the SDKs for enhanced performance and collaboration. 3. **Document Web Services (DWS)** — Fully managed, SOC 2 Type 2 audited cloud APIs for high-scale document viewing and processing. Includes the DWS Viewer API (for cloud-based rendering) and DWS Processor API (30+ action-based APIs for generation, conversion, watermarking, merging, and much more). 4. **Workflow Automation platform** — A no-code/low-code SaaS platform to automate business processes centered around documents, forms, and approvals. Features include a process builder, form designer, approval routing, and intelligent document processing with AI. 5. **Low-Code integrations (M365 and Salesforce)** — Advanced document functionality embedded directly into platforms such as Microsoft 365 (SharePoint, Power Automate) and Salesforce. Capabilities include conversion, OCR, watermarking, PDF form handling, and native generation/editing, without requiring plugins or custom code. ## Key differentiators - **Full document lifecycle** — End-to-end capabilities in one platform. - **Developer flexibility** — Clean APIs, extensive customization, and deployment flexibility (cloud, self-hosted, air-gapped). - **AI-native** — Intelligence is embedded across all products for agentic workflows and document intelligence. - **Enterprise trust** — SOC 2 Type 2 audited and WCAG compliant, deployed in regulated industries. ## Primary use cases - Embedding rich PDF viewers and annotation tools in apps. - Building in-app eSigning and approval workflows. - Automating document generation and form processing/data extraction. - Enterprise-scale content management and compliance. - Redacting sensitive information at scale. ## Nutrient Android SDK Nutrient Android SDK offers a rich set of features that empower you to integrate seamless PDF viewing, editing, and customization capabilities directly into your Android app, all while maintaining a focus on performance and user experience. Key capabilities include: - Display complex PDFs exactly as authored — fonts, layouts, images, and vector graphics render flawlessly on any Android screen. - Let users highlight, sign, fill forms, and add comments directly in your app. Pair with server-side components to enable offline edits and real-time or deferred syncing. - Build on a modern Android stack with full support for AI-powered features like summarization, redaction, and natural language search. The SDK integrates cleanly with AndroidX and scales with whatever comes next. - All processing stays on-device, keeping data inside your app’s sandbox. The same core engine ensures a consistent UX across platforms. ## API reference API documentation is available at https://www.nutrient.io/api/android/. ## Documentation directory [Add PDF functionality in Android](https://www.nutrient.io/sdk/android/getting-started/): Learn how to integrate Nutrient Android SDK into your Android application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Nutrient Android SDK changelog](https://www.nutrient.io/guides/android/about/changelog/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK file type support](https://www.nutrient.io/guides/android/about/file-type-support/): Android file type support guide for Nutrient Android SDK with detailed instructions and code examples. [Nutrient Android SDK framework support](https://www.nutrient.io/guides/android/about/frameworks/): Nutrient can be deployed on a number of mobile frameworks. There are official sample projects for different mobile platforms:. [Nutrient Android SDK licensing](https://www.nutrient.io/guides/android/faq/licensing/): Thanks for your interest in Nutrient Android SDK. Our SDK is licensed as a subscription on a per-app ID basis. We do allow additional app IDs for beta testing. [Nutrient Android SDK system compatibility](https://www.nutrient.io/guides/android/announcements/version-support/): System requirements and compatibility information for Nutrient Android SDK including supported versions and dependencies. [Add AI capabilities to Nutrient document viewer](https://www.nutrient.io/guides/android/ai-assistant/): Learn how to integrate Nutrient AI Assistant with Nutrient Android SDK to enable conversational document interactions and AI-powered summaries — all within your Android-based document viewer. [Android image annotation made easy](https://www.nutrient.io/guides/android/annotations/annotate-images/): Learn how to annotate images seamlessly in Android with our SDK's new ImageDocument class. [Image annotation specification guide](https://www.nutrient.io/guides/android/features/image-document-standard/): Discover how to annotate images seamlessly using our enhanced XMP format for PNG, JPEG, and TIFF files. [Define annotation behavior in a PDF with flags Android](https://www.nutrient.io/guides/android/annotations/annotation-flags/): Every Annotation in a document can specify AnnotationFlags that further define the annotation’s behavior and capabilities. [Embed or attach a file to a PDF on Android](https://www.nutrient.io/guides/android/annotations/file-annotations/): Learn how to easily attach a file in Android with our comprehensive guide. Follow simple steps to share files effortlessly on your device. [Set annotation author on Android in PDF](https://www.nutrient.io/guides/android/annotations/annotation-author-name/): Learn how to set the PDF annotation author name on Android using PSPDFKit. Create a seamless user experience with customizable annotation settings. [Copy and paste annotations in PDFs on Android](https://www.nutrient.io/guides/android/features/copy-paste/): Nutrient Android SDK has support for copying and pasting annotations. This works between pages of a document and even between multiple documents. [Detect if PDF annotation has changed on Android](https://www.nutrient.io/guides/android/annotations/create-edit-and-remove/detect-changes/): After loading a document, you can access its annotations via the AnnotationProvider returned by PdfDocument#getAnnotationProvider. [Disable PDF annotation editing on Android](https://www.nutrient.io/guides/android/annotations/configuring-annotation-editing/): Annotation editing can be configured using PdfActivityConfiguration.Builder when using PdfActivity, or using PdfConfiguration.Builder when using PdfFragment. [Programmatically create PDF annotations on Android](https://www.nutrient.io/guides/android/annotations/programmatically-creating-annotations/): You can programmatically create link, highlight, free text, ink, or note annotations just like you can any other types of supported annotations. [Undo and redo PDF annotations on Android](https://www.nutrient.io/guides/android/features/undo-redo/): Nutrient Android SDK supports undo and redo for creating and editing annotations. Control UndoManager functions, and use PdfConfiguration to enable/disable these features. [Z-index for stacking order of PDF annotations Android](https://www.nutrient.io/guides/android/annotations/annotation-z-index/): The annotation z-index defines the stacking order of annotations on a page. Control PDF annotation stacking order to manipulate the Z-index programmatically. [Custom appearance streams for PDF annotations](https://www.nutrient.io/guides/android/annotations/appearance-streams/): Learn how to set up appearance streams in PDF annotations on Android for tailored visual representations and improved user experience. [Configure PDF annotations in Android](https://www.nutrient.io/guides/android/annotations/annotation-configuration/): Every annotation of a document has properties specific to its type. For example, ink annotations have a color property as well as a line width. [Hide PDF annotations on Android](https://www.nutrient.io/guides/android/annotations/configuring-editablevisible-annotation-types/): Learn how to hide specific annotation types in Nutrient by configuring excludedAnnotationTypes for customized PDF rendering. Enhance your document display now! [Customizing note annotation icon on Android](https://www.nutrient.io/guides/android/annotations/customize-annotation-rendering/): There are various ways to customize how an annotation is shown and rendered on a page. for Nutrient Android SDK. [PDF annotations on Android with JavaScript support](https://www.nutrient.io/guides/android/miscellaneous/javascript-api/): We added JavaScript support in Nutrient Android SDK 4.7. JavaScript can be attached to any interactive element in a PDF document. [Store custom data in annotations](https://www.nutrient.io/guides/android/annotations/custom-data-in-annotations/): Learn how to store custom data in PDF annotations using the Android SDK. [Flatten PDF annotation on Android](https://www.nutrient.io/guides/android/annotations/flatten/): Nutrient allows annotation flattening using the PdfProcessor class. [Effortless annotation rotation on Android](https://www.nutrient.io/guides/android/annotations/annotation-rotation/): Learn how to implement annotation rotation in your Android app using SDK, including UI guidance and programmatic solutions. [Import and export PDF annotations on Android](https://www.nutrient.io/guides/android/annotations/import-and-export/document-engine/): Automatically manage PDF annotations on Android with PSPDFKit Instant. Simple import and export features enhance your PDF handling experience. [PDF annotations import/export on Android](https://www.nutrient.io/guides/android/annotations/import-and-export/instant-json/): Learn how to import and export PDF annotations using Instant JSON on Android for smooth document handling and long-term storage. [Import and export PDF annotations from XFDF file on Android](https://www.nutrient.io/guides/android/importing-exporting/xfdf-support/): Use the XfdfFormatter class methods, such as parseXfdfAsync() and writeXfdfAsync(), to import and export PDF annotations and form field values using the Adobe XML-based XFDF standard on Android. [Supported PDF annotation types in Android viewer](https://www.nutrient.io/guides/android/annotations/introduction-to-annotations/annotation-types/): Supported PDF annotation types in Android viewer | guide for Nutrient Android SDK with detailed instructions and code examples. [Retrieve or set annotation bounding box on Android](https://www.nutrient.io/guides/android/annotations/position-and-size/): Discover how to use bounding boxes in annotations effectively. Enhance your data visualization and improve accuracy with our comprehensive guide. [PDF annotation formats for Android: XFDF vs. JSON](https://www.nutrient.io/guides/android/annotations/introduction-to-annotations/data-formats/): Explore the differences between XFDF and Instant JSON for managing PDF annotations on Android and learn which format is best for your needs. [What are PDF annotations?](https://www.nutrient.io/guides/android/annotations/introduction-to-annotations/what-are-annotations/): Learn about PDF annotations and how to work with them in Nutrient Android SDK. [Magic Ink tool — Draw and detect annotation shapes in PDFs](https://www.nutrient.io/guides/android/annotations/magic-ink/): With Nutrient Android SDK 5.3, we introduced a new annotation tool: Magic Ink. This tool lets you draw on a PDF using the ink tool. [Android PDF annotation library: Fast and easy setup](https://www.nutrient.io/guides/android/annotations/introduction-to-annotations/): Quick start guide for integrating Nutrient Android SDK with installation steps, configuration, and basic implementation. [Add link annotation to PDF on Android](https://www.nutrient.io/guides/android/annotations/link-annotations/): Configure DocumentListener#onPageClick to implement custom URI handling for link annotations, and use PdfActivityConfiguration#automaticallyGenerateLinks(true) to autodetect web and mobile links on Android. [PDF annotation actions on Android](https://www.nutrient.io/guides/android/annotations/pdf-actions/): PDF annotation actions on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Review and reply to PDF annotations on Android](https://www.nutrient.io/guides/android/annotations/replies/): With annotation replies, users are able to have written discussions directly inside a document. As of Nutrient Android SDK 4.5. [Add multimedia to PDFs with Android annotations](https://www.nutrient.io/guides/android/annotations/multimedia-annotations/): Along with rich media and video annotations, Nutrient supports a custom gallery format that can display locally stored videos, websites. [Create and embed sound annotations in PDF on Android](https://www.nutrient.io/guides/android/annotations/sound-annotations/): Nutrient supports the reading and creation of sound annotations with embedded audio data. There’s also full UI support for playing back. [Android video annotation — Embed video in PDFs](https://www.nutrient.io/guides/android/annotations/video-annotations/): This section is about embedded video annotations. For adding multimedia elements on demand, see our multimedia annotations guide instead. [Auto save PDF annotations on Android](https://www.nutrient.io/guides/android/annotations/annotation-and-bookmark-saving-triggers/): Nutrient will save “dirty” (changed/created/deleted) annotations when their fragment lifecycle onStop() method is called. In practice. [Embed annotations in PDF on Android](https://www.nutrient.io/guides/android/annotations/save/embed-into-pdf/): By default, save writable PDFs to embed annotations directly; call PdfDocument#save() or enable auto saving to ensure annotations are saved within the PDF document file on Android. [Save PDF annotation on Android](https://www.nutrient.io/guides/android/annotations/annotation-saving-mechanism/): By default, Nutrient will save annotations asynchronously and automatically when the onStop() lifecycle event is called. [Save PDF annotations to external source on Android](https://www.nutrient.io/guides/android/annotations/save/to-external-source/): Saving annotations to an external source is an operation that can be tackled in different ways. With Nutrient Android SDK. [Select or deselect annotations on Android](https://www.nutrient.io/guides/android/annotations/select-or-deselect/): Learn how to select annotations in a document using Nutrient. Enable annotation editing and follow specific preconditions. [Stamp custom image annotation on PDF on Android](https://www.nutrient.io/guides/android/annotations/image-annotations/): Programmatically create custom image annotations using the StampAnnotation class, and set the appearanceStreamGenerator to a vector source such as AssetAppearanceStreamGenerator for high-resolution stamping on Android. [PDF stamp annotation on Android — Draft, Copy, Approved](https://www.nutrient.io/guides/android/annotations/stamp-annotations-configuration/): Nutrient supports stamp annotations, which you can customize to your liking. To change the default set of stamp annotations available. [Resolving annotation conflicts on Android](https://www.nutrient.io/guides/android/annotations/synchronization/conflict-resolution/): Learn effective strategies for handling concurrent annotation updates and conflicts in Android applications. [Synchronizing PDF annotations on Android](https://www.nutrient.io/guides/android/annotations/synchronization/): Unlock the secrets of flawless annotation synchronization in Android. Master your PDF editing experience with our expert guide. Click now! [Store annotation data efficiently on Android](https://www.nutrient.io/guides/android/annotations/synchronization/storing-annotation-data/): Learn effective techniques for storing and synchronizing annotation data on Android using Instant Synchronization and custom solutions. [Sluggish rendering](https://www.nutrient.io/guides/android/annotations/annotation-overlay-mode/): Discover how Nutrient’s overlay mode enhances annotation performance, ensuring faster updates and a seamless user experience on Android devices. [Android PDF annotation troubleshooting](https://www.nutrient.io/guides/android/annotations/troubleshooting/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Nutrient Android SDK best practices](https://www.nutrient.io/guides/android/best-practice/): Nutrient Android SDK has a number of guides that illustrate best practices for various use cases:. [About memory usage](https://www.nutrient.io/guides/android/memory-and-storage/about-memory-usage/): Implement optimization strategies to reduce PDF rendering memory pressure on Android, including disabling multithreaded rendering and reducing the memoryCacheSize via PdfActivityConfiguration. [Checking for device compatibility](https://www.nutrient.io/guides/android/faq/check-for-compatibility/): System requirements and compatibility information for Nutrient Android SDK including supported versions and dependencies. [Customizing the page number](https://www.nutrient.io/guides/android/customizing-pdf-pages/customizing-the-page-number/): Nutrient supports the PDF page label feature, which means you can rewrite and change the regular absolute one-based numbering in PDF documents. [Managing data storage and privacy in Android](https://www.nutrient.io/guides/android/best-practices/data-storage-and-privacy/): Understand how Nutrient Android SDK manages data storage, caching, and privacy. Learn where data is stored, how to control retention, and ensure compliance with security requirements. [Framework size](https://www.nutrient.io/guides/android/faq/framework-size/): You might be wondering why the Nutrient .aar file is 31 MB. [Logging](https://www.nutrient.io/guides/android/features/logging/): Configure Android logging using the PdfLog API: add custom loggers with addLogger(), control log output destinations, and filter messages based on priority (e.g. VERBOSE, INFO) or tag via the Logger#isLogged() method. [Manual library integration](https://www.nutrient.io/guides/android/advanced-integration/manual-library-integration/): Learn how to manually integrate features into your Android app with our comprehensive guide. Get expert tips and best practices for seamless integration. [Nightly builds](https://www.nutrient.io/guides/android/advanced-integration/nightly-builds/): Learn about nightly builds and how to use them in Nutrient for Android and iOS. [Opening local files](https://www.nutrient.io/guides/android/miscellaneous/opening-local-files/): Nutrient supports opening files from the local file system of your device. This article provides best practices for working with local files in your apps. [Optimize PDF Documents for mobile rendering](https://www.nutrient.io/guides/android/miscellaneous/optimize-pdf-documents-for-mobile-rendering/): Optimize PDF Documents for mobile rendering guide for Nutrient Android SDK with detailed instructions and code examples. [Permissions](https://www.nutrient.io/guides/android/advanced-integration/permissions/): Certain features in Nutrient need additional permissions, which apps have to declare inside their manifest using ` elements. [Powered by Nutrient](https://www.nutrient.io/guides/android/miscellaneous/powered-by-nutrient/): Powered by guide for Nutrient Android SDK with detailed instructions and code examples. [Android PDF SDK security](https://www.nutrient.io/guides/android/faq/sdk-security/): Nutrient has been implemented using the latest and best security practices and is used in security-conscious applications. [Subscription license validation for versions 2.0.0 – 2.1.0](https://www.nutrient.io/guides/android/announcements/subscription-validation/): Update Android SDK to resolve a bug in versions 2.0.0 – 2.1.0 where an expired subscription license caused the application to exit unexpectedly. [Third-party compatibility](https://www.nutrient.io/guides/android/miscellaneous/third-party-compatibility/): System requirements and compatibility information for Nutrient Android SDK including supported versions and dependencies. [Unsupported private APIs](https://www.nutrient.io/guides/android/announcements/unsupported-internal-symbols/): Unsupported private s API documentation for Nutrient Android SDK with methods, properties, and code examples. [Android PDF bookmark management guide](https://www.nutrient.io/guides/android/bookmarks/): Learn how to add, remove, and manage bookmarks in PDF documents on Android using Nutrient for a seamless reading experience. [Android changelog](https://www.nutrient.io/guides/android/changelog/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Document comparison guide for Android users](https://www.nutrient.io/guides/android/compare-documents/): Learn to compare documents on Android efficiently by changing stroke colors and aligning pages for clear visual differences. [Contributing to Nutrient projects](https://www.nutrient.io/guides/android/miscellaneous/contributing/): Contributing to projects guide for Nutrient Android SDK with detailed instructions and code examples. [HTML to PDF Android library — Accurate and reliable](https://www.nutrient.io/guides/android/generating-pdfs/generating-pdf-from-html/): Learn how to effortlessly convert HTML files to PDF on Android. Follow our simple guide for quick and effective results. [Convert images to PDFs on Android](https://www.nutrient.io/guides/android/conversion/image-to-pdf/): Learn to convert images to PDFs on Android using the PdfProcessor API with minimal code for seamless file management. [Android image to text conversion library](https://www.nutrient.io/guides/android/conversion/image-to-text/): Nutrient Android SDK supports extracting textual information from a scanned PDF. To do so, follow the steps below:. [Android PDF converter library — Accurate and reliable](https://www.nutrient.io/guides/android/conversion/): Unlock the secrets of efficient PDF conversion on Android. Learn expert tips and tricks for maximizing your productivity. Click now! [Android convert Office [docx, xlsx, pptx] to PDF](https://www.nutrient.io/guides/android/features/office-conversion/): Nutrient Android SDK can work with a Document Engine instance to provide conversion of Office documents to PDF files in your Android application. [Android PDF to image library: Convert PDF to JPG, PNG](https://www.nutrient.io/guides/android/conversion/pdf-to-image/): Android PDF to image library: Convert PDF to JPG, PNG | guide for Nutrient Android SDK with detailed instructions and code examples. [Convert scanned PDFs with advanced OCR capabilities](https://www.nutrient.io/guides/android/conversion/scan-to-searchable-pdf/): Unlock text in scanned PDFs on Android with advanced OCR. Enhance accessibility and search functionality easily. [Explore top PDF SDK demos for Android apps](https://www.nutrient.io/guides/android/demo/): Discover Nutrient's top PDF SDK demos for Android apps, showcasing features like PDF viewing, annotation, OCR, and Microsoft Office conversion to enhance your app development. [Create password-protected PDF on Android](https://www.nutrient.io/guides/android/document-security/add-a-password/): A PDF document can be encrypted to protect its contents from unauthorized access. for Nutrient Android SDK. [Add watermarks to PDF documents on Android](https://www.nutrient.io/guides/android/document-security/add-a-watermark/): Learn how to add custom watermarks to PDFs on Android to enhance security and discourage unauthorized sharing of your content. [Decrypt PDF on Android with AES](https://www.nutrient.io/guides/android/document-security/decrypt-aes-files/): Nutrient supports fast, in-memory AES-256 decryption using the AesDataProvider class. Unlike other solutions, the PDF is never fully decrypted. [Encrypt PDF on Android with AES](https://www.nutrient.io/guides/android/security/aesdataprovider/): The AesDataProvider we ship with our Catalog example app lets you efficiently read and write encrypted PDF documents in your app. [Android PDF SDK security: Secure documents on Android](https://www.nutrient.io/guides/android/document-security/): Unlock the secrets of top-notch document security on Android! Explore expert tips and best practices for safeguarding your files. Click now! [Encrypt PDF file on Android library](https://www.nutrient.io/guides/android/security/introduction-to-encryption/): Encryption is the process in which some data is converted to an unintelligible format so that only authorized parties can access the original data. [Prevent sharing of PDF files on Android](https://www.nutrient.io/guides/android/document-security/prevent-sharing/): Nutrient Android SDK enables you to customize the document sharing experience. To prevent your end users from sharing documents. [Create PDFs with restricted permissions](https://www.nutrient.io/guides/android/features/document-permissions/): Learn how to set and manage document permissions for PDFs on Android with our comprehensive guide. [Download Android PDF library](https://www.nutrient.io/guides/android/downloads/): This page lists the latest version of Nutrient available for manual integrations of our Android PDF library. [Add and insert images into PDFs on Android](https://www.nutrient.io/guides/android/editor/add-image/): Learn how to enhance your Android applications by adding images to PDF documents using Nutrient Android SDK’s Processor and Document Editor APIs. This guide provides step-by-step instructions to seamlessly integrate photos, graphics, or scanned images into your PDFs. [Add page to PDF file on Android](https://www.nutrient.io/guides/android/editor/add-page/): With Nutrient, there are four ways to add a page to a document:. [Attach file to PDF on Android](https://www.nutrient.io/guides/android/features/embedded-files/): PDF 1.4 added support for embedded files, allowing objects to be embedded into any PDF — this includes deep nesting (e.g. [Customizing PDF editing permissions on Android](https://www.nutrient.io/guides/android/editor/document-permissions/): Configure a PDF document’s editing permissions using the DocumentSaveOptions object, setting flags such as DocumentPermissions.ANNOTATIONS_AND_FORMS, then call PdfDocument#save() on Android. [Edit PDF text on Android: Edit text, font, size, more](https://www.nutrient.io/guides/android/editor/edit-text/): Starting with Nutrient Android SDK 8.7, you can edit text directly in PDF documents using the built-in user interface. You can also change text color. [Merge PDF files Android library — Combine multiple PDFs](https://www.nutrient.io/guides/android/editor/merge-or-combine/): Nutrient Android SDK lets you merge or combine multiple documents using the Processor API or the Document Editor API. With this functionality. [Change document title in PDF metadata on Android](https://www.nutrient.io/guides/android/customizing-the-interface/changing-the-document-title/): By default, Nutrient parses documents and extracts the PDF title from the PDF metadata. If there is no metadata or the PDF name equals Untitled. [Edit PDF metadata on Android](https://www.nutrient.io/guides/android/customizing-pdf-pages/customizing-document-metadata/): Use DocumentPdfMetadata and DocumentXmpMetadata to retrieve or modify PDF properties such as Author, CreationDate, and custom key-value pairs, then persist changes with PdfDocument#saveIfModified() on Android. [Android PDF editor library — Merge, rotate, crop](https://www.nutrient.io/guides/android/features/document-processing/): Nutrient Android SDK is a library for editing PDF documents directly in an app. It offers developers a robust API for programmatic editing. [Crop PDF Android library](https://www.nutrient.io/guides/android/editor/page-manipulation/crop/): Nutrient Android SDK lets you crop the pages of a document using the Processor API. To do this, load your document and then configure the parameters. [Move or copy PDF pages on Android](https://www.nutrient.io/guides/android/editor/page-manipulation/move-or-copy/): Nutrient Android SDK lets you move and copy the pages of a document using the Processor API or the Document Editor API. [Remove pages from PDF file on Android](https://www.nutrient.io/guides/android/editor/page-manipulation/remove/): Nutrient Android SDK lets you remove the pages of a document using the Processor API or the Document Editor API. [Rotate PDF Android library](https://www.nutrient.io/guides/android/editor/page-manipulation/rotate/): Nutrient Android SDK lets you rotate the pages of a document using the Processor API or the Document Editor API. [Resize PDF on Android](https://www.nutrient.io/guides/android/editor/page-manipulation/scale-or-resize/): Nutrient Android SDK’s PdfProcessor combined with a PdfProcessorTask can be used to scale pages of a document:. [Split PDF Android library](https://www.nutrient.io/guides/android/editor/split/): Nutrient Android SDK lets you split a document into multiple documents using the Processor API or the Document Editor API. [Android PDF Viewer analytics](https://www.nutrient.io/guides/android/features/analytics/): The Nutrient Analytics API lets you easily collect usage data based on a user’s activity taking place in Nutrient components. [Android PDF annotation events and notifications](https://www.nutrient.io/guides/android/events-and-notifications/annotation/): In Nutrient Android SDK, annotation events are accessible through the PdfFragment. There, you can find the following listeners for subscription:. [Android PDF Viewer analytics events](https://www.nutrient.io/guides/android/events-and-notifications/events/): Every event has a name and a Bundle of additional parameters. You can find the complete list of all Nutrient events and parameters in Analytics.Event. [PDF form events and notifications in Android](https://www.nutrient.io/guides/android/events-and-notifications/forms/): Explore how to handle PDF form events using the Android SDK's FormManager and PdfFragment for effective form management. [Android PDF events and notifications](https://www.nutrient.io/guides/android/events-and-notifications/): Unlock the secrets of Android events and notifications with our comprehensive guide. Elevate your knowledge and optimize your app's performance today! [Android PDF text selection events and notifications](https://www.nutrient.io/guides/android/events-and-notifications/text-selection/): To learn how to programmatically enter or leave text selection mode and how to customize our text selection UI, have as look at our full text selection guide. [Android PDF viewer events and notifications](https://www.nutrient.io/guides/android/miscellaneous/document-listeners/): Nutrient provides the DocumentListener interface, which lets you hook into interesting document events like document loading, page changes. [Android PDF extraction library — Text, images, more](https://www.nutrient.io/guides/android/extraction/): Unlock the power of Android content extraction with our comprehensive guide. Learn how to streamline processes and boost productivity today! [Extract metadata from PDF on Android](https://www.nutrient.io/guides/android/extraction/metadata/): Nutrient comes with DocumentPdfMetadata and DocumentXmpMetadata, which allow you to retrieve or modify a document’s metadata. [Extract pages from PDF on Android](https://www.nutrient.io/guides/android/extraction/page-extraction/): PdfProcessor can export pages from one document into another document. You can choose to extract a single page, a range of pages. [Easy PDF parsing for Android applications](https://www.nutrient.io/guides/android/extraction/parse-content/): Learn how to simplify PDF text extraction on Android to enhance your app's capabilities with easy-to-use APIs. [Extract selected text from PDF on Android](https://www.nutrient.io/guides/android/extraction/selected-text/): Add custom functionality when a user selects text by implementing TextSelectionManager.OnTextSelectionChangeListener, or programmatically select and retrieve text content by using PdfFragment#enterTextSelectionMode on a specified character range on Android. [Extract text from pdfs with android library](https://www.nutrient.io/guides/android/features/text-extraction/): Learn how to simplify PDF text extraction on Android using our tools and guides. [Extract text position from PDF on Android](https://www.nutrient.io/guides/android/extraction/text-position/): Nutrient Android SDK’s PdfDocument class can be used to get the position of text on a page. [Add signature fields to PDF forms on Android](https://www.nutrient.io/guides/android/forms/create-edit-and-remove/add-signature-field/): Learn how to create and add signature fields to your PDF forms on Android with our easy guide and configuration builders. [Create fillable PDF form on Android](https://www.nutrient.io/guides/android/forms/form-creation/): Programmatically create fillable PDF form fields, including signature fields, radio buttons, and push buttons, using the FormProvider#addFormElementToPage method on Android. [Disable PDF form editing on Android](https://www.nutrient.io/guides/android/forms/create-edit-and-remove/disable-editing/): You can disable the modification of a specific form field by using setFlags with the READONLY flag, like so: for Nutrient Android SDK. [PDF form field flags on Android](https://www.nutrient.io/guides/android/forms/create-edit-and-remove/form-field-flags/): Form elements are based on annotations, so form field flags work the same way as annotations do. See our annotation flags guide to learn more. [Extract PDF form data on Android](https://www.nutrient.io/guides/android/forms/extract-form-data/): Learn how to extract data from PDF form fields on Android using XFDF and Instant JSON formats with easy-to-follow code examples. [Attach a file to PDF form field on Android](https://www.nutrient.io/guides/android/forms/fill-form-fields/attach-a-file/): Attach a file to PDF form field on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Detect user clicks in PDF form elements on Android](https://www.nutrient.io/guides/android/forms/fill-form-fields/detect-clicks/): With Nutrient, it’s possible to detect when a form element is clicked or selected for editing. [User input in PDF forms on Android](https://www.nutrient.io/guides/android/forms/fill-form-fields/detect-user-input/): Learn how to detect user input in PDF form fields on Android with our comprehensive guide to FormManager and event listeners. [Fill PDF form fields programmatically on Android](https://www.nutrient.io/guides/android/forms/form-filling/): Nutrient Android SDK fully supports the AcroForm standard and can view and fill forms inside the PdfFragment/PdfActivity. [Undo and redo in PDF form field on Android](https://www.nutrient.io/guides/android/forms/fill-form-fields/undo-and-redo/): Form elements are based on annotations, so undoing and redoing changes to forms works the same way as with annotations. See our Undo. [Android PDF viewer with form fill support](https://www.nutrient.io/guides/android/forms/fill-form-fields/using-the-ui/): Filling form fields using the UI provided by Nutrient Android SDK is extremely simple and intuitive. [Flatten PDF form fields on Android](https://www.nutrient.io/guides/android/forms/flatten/): Nutrient allows form flattening using the PdfProcessor class. [Android PDF form library — Create, view, fill](https://www.nutrient.io/guides/android/forms/): Discover the ultimate guide to enhancing forms on Android apps. Learn how to streamline your workflow and boost user engagement. Click now! [Store PDF form data on Android easily](https://www.nutrient.io/guides/android/forms/introduction-to-forms/data-formats/): Learn how to store PDF form data on Android using widget annotations for interactive forms like checkboxes and text fields. [Supported PDF form fields on Android](https://www.nutrient.io/guides/android/forms/introduction-to-forms/): Nutrient supports all form types specified by the PDF specification. [Explore the advantages of PDF forms](https://www.nutrient.io/guides/android/forms/introduction-to-forms/what-are-forms/): Discover how PDF forms function, their benefits, and how users can interact with them through fields, buttons, and customizable actions. [PDF form validation using JavaScript on Android](https://www.nutrient.io/guides/android/forms/javascript-validation/): Learn how to validate and format PDF forms on Android using JavaScript with PSPDFKit's powerful features and supported APIs. [PDF form actions for Android apps](https://www.nutrient.io/guides/android/forms/pdf-actions-support/): Discover various PDF form actions for Android, including GoTo, URI, and JavaScript actions to enhance user interaction. [Auto save PDF forms on Android](https://www.nutrient.io/guides/android/forms/submit-or-save/auto-save/): Learn how to automatically save PDF form changes on Android using Nutrient SDK. Control auto-saving features with simple configuration settings in Kotlin or Java. [Embed data into PDF form on Android](https://www.nutrient.io/guides/android/forms/submit-or-save/embed-data-into-pdf/): Embed form data into PDF files on Android using Nutrient Android SDK. Learn to configure saving options for persistent data retention in your documents. [Submit and save PDF form to custom destination on Android](https://www.nutrient.io/guides/android/forms/submit-or-save/to-custom/): Forms can be submitted to a custom destination using SubmitFormAction. When creating the action instance, you can provide the form fields, the URI. [Submit and save PDF form to Document Engine on Android](https://www.nutrient.io/guides/android/forms/submit-or-save/to-document-engine/): Forms aren’t yet supported by Nutrient Instant on Android. Get in touch and let us know if you’re interested in this feature. [Submit and save PDF form to external destination on Android](https://www.nutrient.io/guides/android/forms/form-submission/): Form submission is an action performed on a form element in a PDF document that will let you save forms to an external destination. [Reducing PDF size](https://www.nutrient.io/guides/android/generating-pdfs/reducing-pdf-size/): Control PDF size in your Android apps. Learn how Nutrient SDK’s document rewriting cleans unreferenced objects to deliver optimized, smaller PDF files. [Sync PDF annotations on Android seamlessly](https://www.nutrient.io/guides/android/pspdfkit-instant/syncing/): Discover efficient methods for syncing PDF annotations on Android devices, ensuring real-time collaboration and energy savings. [JWT Authentication for Instant Synchronization](https://www.nutrient.io/guides/android/instant-synchronization/authentication/): Learn how to authenticate your Android app using JSON Web Tokens for instant synchronization with the Document Engine. [Add comments to PDF on Android](https://www.nutrient.io/guides/android/comments/introduction-to-instant-comments/): Nutrient Android SDK provides a user interface (UI) for viewing, adding, and deleting comments in PDF documents. The component, Instant Comments. [Instant sync and document state on Android](https://www.nutrient.io/guides/android/pspdfkit-instant/instant-document-state/): Over the course of its lifetime, any InstantPdfDocument will go through several states. This article covers those states and their transitions in detail. [Instant synchronization FAQ for Android](https://www.nutrient.io/guides/android/instant-synchronization/faq/): Find answers to common questions about Instant synchronization on Android, including sync errors, keepalive messages, and troubleshooting. [Getting started with real-time collaboration on Android](https://www.nutrient.io/guides/android/pspdfkit-instant/getting-started/): Quick start guide for integrating Nutrient Android SDK with installation steps, configuration, and basic implementation. [PDF collaboration library for Android](https://www.nutrient.io/guides/android/instant-synchronization/): Discover the secret to seamless real-time collaboration on Android devices. Learn how instant synchronization can transform your workflow. Read more! [Create PDF annotation layers on android](https://www.nutrient.io/guides/android/pspdfkit-instant/instant-layers/): Learn to create and manage instant PDF annotation layers on Android for effective review workflows. [Offline PDF annotations with automatic sync](https://www.nutrient.io/guides/android/pspdfkit-instant/offline-support/): Create and edit PDF annotations offline, with auto-sync on connection. Perfect for unreliable connections and seamless collaboration. [Instant usage on Android](https://www.nutrient.io/guides/android/pspdfkit-instant/usage/): This guide will give you an overview of the Instant API and how to use it for displaying documents from the server. for Nutrient Android SDK. [Guides: PDF library for Android](https://www.nutrient.io/guides/android/intro/): Explore Nutrient Android SDK developer guides to integrate PDF viewing, annotating, and editing into your Android applications using Kotlin and Java APIs [Jetpack Compose toolbar customization guide](https://www.nutrient.io/guides/android/jetpack-compose/components/main-toolbar/): Learn to customize your Jetpack Compose toolbar for better flexibility and integration with DocumentView in Android apps. [Jetpack Compose PDF library: Fast and easy integration](https://www.nutrient.io/guides/android/jetpack-compose/): Nutrient Android SDK is a library for viewing, annotating, editing, and creating PDFs. It offers developers dedicated APIs. [Interact with DocumentView in Android Jetpack Compose](https://www.nutrient.io/guides/android/jetpack-compose/interactions/): Nutrient provides two ways to interact with DocumentView in your Android Jetpack Compose application:. [Jetpack Compose PDF viewer: Read and display PDFs](https://www.nutrient.io/guides/android/jetpack-compose/viewer/): Since Nutrient Android SDK version 8, our SDK exposes Jetpack Compose-specific APIs out of the box, enabling PDF viewing and editing. [Convert Instant JSON to XFDF on Android](https://www.nutrient.io/guides/android/json/convert-to-xfdf/): Learn how to convert Instant JSON to XFDF on Android using PSPDFKit APIs for seamless interoperability between PDF and JSON data. [Instant JSON: Efficient PDF Annotation Management](https://www.nutrient.io/guides/android/json/how-it-works/): Learn how Instant JSON enhances PDF annotation management by minimizing data transfer while ensuring updates and maintaining document integrity. [Instant JSON for PDF annotations and bookmarks](https://www.nutrient.io/guides/android/json/): Discover how Instant JSON synchronizes annotations and bookmarks across devices, ensuring easy interoperability and efficiency. [Instant JSON actions and types](https://www.nutrient.io/guides/android/json/schema/actions/): Explore various action types in Instant JSON including GoToAction, LaunchAction, and more for effective annotation implementation. [Instant JSON schema for PDF annotations](https://www.nutrient.io/guides/android/json/schema/annotations/): Learn how to format JSON for various PDF annotations. Explore examples, types, and best practices in this comprehensive guide. [Instant JSON schema for efficient PDF bookmarks](https://www.nutrient.io/guides/android/json/schema/bookmarks/): Learn to create and manage bookmarks in Instant JSON for improved PDF navigation. [Instant JSON schema for PDF comments](https://www.nutrient.io/guides/android/json/schema/comments/): Learn to use Instant JSON with comments for real-time collaboration in documents, enhancing communication and efficiency. [Instant JSON attachments schema overview](https://www.nutrient.io/guides/android/json/schema/file-attachments/): Learn how to sync annotation attachments in Instant JSON using SHA-256 hashes and Base64 encoding for seamless data management. [Instant JSON schema for PDF form values](https://www.nutrient.io/guides/android/json/schema/form-field-values/): Discover how to sync PDF form field values across devices using the Instant JSON schema and best practices for implementation. [JSON schema for PDF form fields](https://www.nutrient.io/guides/android/json/schema/form-fields/): Learn to sync and manage PDF form fields with Instant JSON. Explore field types, event triggers, and schema for efficient form development. [Nutrient Android SDK knowledge base](https://www.nutrient.io/guides/android/kb/): Our knowledge base shows quick solutions to many common customization questions: for Nutrient Android SDK. [How to allow cleartext traffic](https://www.nutrient.io/guides/android/knowledge-base/allow-clear-text-traffic/): Learn how to configure your server for cleartext traffic on Android 9 and resolve connection errors with Document Engine's Instant feature. [Jetpack Compose and DocumentView Q&A](https://www.nutrient.io/guides/android/knowledge-base/compose-qna/): This guide answers some questions you might face when using Jetpack Compose with Nutrient Android SDK. [Implementing custom print functionality in Android](https://www.nutrient.io/guides/android/knowledge-base/custom-print-functionality/): Nutrient Android SDK provides built-in printing capabilities, but sometimes you may need to implement custom print functionality. [How to delete pages from a PDF document](https://www.nutrient.io/guides/android/knowledge-base/deleting-pages-from-a-pdf/): You can delete pages of a PDF document using the PdfProcessor in three steps: for Nutrient Android SDK. [Disable share and print options in Android app](https://www.nutrient.io/guides/android/knowledge-base/disable-share-documentinfo-print/): Learn how to disable share, document info, and print features in your Android app for a cleaner user interface. [How to disable annotation rotation](https://www.nutrient.io/guides/android/knowledge-base/disabling-annotation-rotation/): Disable the annotation rotation UI in your PDF application by calling `annotationRotationEnabled(false)` in your configuration builder. Ensure a seamless user experience in your app. [Handle touch scrolling in Compose DocumentView](https://www.nutrient.io/guides/android/knowledge-base/document-view-inside-pager-scroll-handling/): Learn how to enable vertical and horizontal scrolling in a Compose DocumentView within a scrollable container effectively. [Dynamic layout changes for Android screens](https://www.nutrient.io/guides/android/knowledge-base/dynamic-page-layout-when-changing-orientation/): Learn how to adjust your Android app's page layout dynamically when changing screen orientations for optimal viewing. [How to retrieve all signatures in a signed document](https://www.nutrient.io/guides/android/knowledge-base/getting-all-digital-signatures/): This guide outlines how to retrieve signatures in a signed document. for Nutrient Android SDK. [How to get the location of an ink signature for digital signing](https://www.nutrient.io/guides/android/knowledge-base/getting-signature-location/): If you want to digitally sign a document that doesn’t yet contain a SignatureFormField, you can add one at the location of an ink signature. [How to fix \"install failed insufficient storage\" errors](https://www.nutrient.io/guides/android/knowledge-base/install-failed-insufficient-storage/): It’s possible that you’ll encounter the following error when trying to run your app on your Android emulator:. [Intercepting touch events passed to Nutrient](https://www.nutrient.io/guides/android/knowledge-base/intercepting-touch-events/): Learn to intercept touch events in Nutrient by wrapping `PdfFragment` in a custom `ViewGroup`. Detect multitouch and enhance event handling effectively. [Digital signatures without a signature field](https://www.nutrient.io/guides/android/knowledge-base/invisible-signature/): Discover how to create invisible digital signatures in Android without a visible signature form field. [How to invoke the search UI in the PdfActivity programmatically](https://www.nutrient.io/guides/android/knowledge-base/invoke-search-programmatically/): If you want to show the search view and/or start search in the search view, you can use the following method in PdfActivity. for Nutrient Android SDK. [How to invoke the PdfActivity share action programmatically](https://www.nutrient.io/guides/android/knowledge-base/invoking-share-action-programmatically/): Learn to programmatically invoke the PdfActivity share action by removing it from the toolbar and calling the appropriate method in your custom activity. [How to make form elements read-only](https://www.nutrient.io/guides/android/knowledge-base/making-form-elements-read-only/): If you want to make certain form elements in your document read-only, you can set the AnnotationFlags.LOCKEDCONTENTS flag on the associated WidgetAnnotation. [Overriding hyperlink behavior in Android](https://www.nutrient.io/guides/android/knowledge-base/override-hyperlink-behavior/): This guide addresses a common query of how to override hyperlink behavior in Android, especially for long-press actions. [How to remove a button from toolbars](https://www.nutrient.io/guides/android/knowledge-base/remove-tool-variant-from-toolbar/): Learn to remove the ink highlighter button from the annotation creation toolbar in Nutrient. Customize your toolbars for a streamlined user experience. [Handling runtime permissions in Cordova](https://www.nutrient.io/guides/android/knowledge-base/runtime-permissions-cordova/): To read and write files on the external storage, your app must acquire READEXTERNALSTORAGE and WRITEEXTERNALSTORAGE permissions. [Save signed PDFs directly to a remote server on Android](https://www.nutrient.io/guides/android/knowledge-base/save-signed-pdfs-to-remote-server/): Learn how to capture and flatten PDF signatures in your Android app, store them securely in cache, and upload the signed PDF to a server — without saving files locally. [Change overflow button color in Android toolbar](https://www.nutrient.io/guides/android/knowledge-base/styling-overflow-button/): Learn how to change the color of the overflow button in your Android toolbar to match your app's theme with easy code snippets. [How to use Nutrient Android SDK with dynamic delivery](https://www.nutrient.io/guides/android/knowledge-base/using-pspdfkit-with-dynamic-feature-modules/): Learn to implement Nutrient Android SDK with dynamic delivery to efficiently manage on-demand features, enhancing user experience and app performance. [Kotlin PDF library for Android: View, edit, sign](https://www.nutrient.io/guides/android/kotlin/): Discover Nutrient for Kotlin — A powerful library for viewing, annotating, and editing PDFs. Integrate seamless PDF functionality into your Android apps today! [Configure measurements in a PDF on Android](https://www.nutrient.io/guides/android/measurements/configure-measurements/): Measure distance and area in a PDF using Nutrient Android SDK starting with version 8.4. To measure distance and area in your app. [Android PDF measurements library: Distance and area](https://www.nutrient.io/guides/android/measurements/): Learn the expert-recommended Android measurements for pixel perfection. Elevate your UI design with our comprehensive guide. Click to explore now! [Measure area in a PDF on Android](https://www.nutrient.io/guides/android/measurements/measure-area/): Measure areas in a PDF on Android using Nutrient Android SDK. Learn to measure polygons, ellipses, and rectangles with simple steps and built-in tools. [Measure distance in PDF on Android](https://www.nutrient.io/guides/android/measurements/measure-distance/): Learn to measure distances in PDFs on Android using Nutrient Android SDK. Discover methods for measuring between two points or multiple connected points effectively. [Nutrient 10.3 migration guide](https://www.nutrient.io/guides/android/migration-guides/10-3-migration-guide/): Lists important public API changes for Nutrient Android SDK 10.3. [Nutrient 10.4 migration guide](https://www.nutrient.io/guides/android/migration-guides/10-4-migration-guide/): Lists important public API changes for Nutrient Android SDK 10.4. [Nutrient 10.5 migration guide](https://www.nutrient.io/guides/android/migration-guides/10-5-migration-guide/): Lists important public API changes for Nutrient Android SDK 10.5. [Nutrient 2024.8 migration guide](https://www.nutrient.io/guides/android/migration-guides/2024-8-migration-guide/): Lists important public API changes for Nutrient Android SDK 2024.8. [Nutrient 2024.9 migration guide](https://www.nutrient.io/guides/android/migration-guides/2024-9-migration-guide/): Lists important public API changes for Nutrient Android SDK 2024.9. [Migrate to electronic signatures smoothly](https://www.nutrient.io/guides/android/migration-guides/migrating-to-electronic-signatures/): Learn how to migrate to electronic signatures with an improved UI and robust compatibility for a smoother signing experience. [Nutrient 10 (PSPDFKit 2025.1) rebrand migration guide](https://www.nutrient.io/guides/android/migration-guides/nutrient-10-migration-guide/): Lists important public API changes for Nutrient Android SDK 10 (2025.1). [Nutrient 2.1 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2-1-migration-guide/): Migration guide for Nutrient Android SDK version 2.1 with breaking changes, API updates, and upgrade instructions. [Nutrient 2024.1 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2024-1-migration-guide/): Migration guide for Nutrient Android SDK version 2024.1 with breaking changes, API updates, and upgrade instructions. [Nutrient 2024.2 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2024-2-migration-guide/): Discover the latest API changes in Nutrient Android SDK 2024.2, including deprecations, new initialization methods, and updates to Jetpack Compose package. [Nutrient 2024.3 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2024-3-migration-guide/): Discover the key breaking API changes in Nutrient Android SDK 2024.3, including updated interfaces and deprecated view IDs for smoother transitions. [Nutrient 2024.4 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2024-4-migration-guide/): Discover the breaking API changes in Nutrient Android SDK 2024.4, including the removal of legacy digital signature APIs and new migration guidance. [Nutrient 2024.6 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2024-6-migration-guide/): Lists important public API changes for Nutrient Android SDK 2024.6. [Nutrient 2024.7 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-2024-7-migration-guide/): Lists important public API changes for Nutrient Android SDK 2024.7. [Nutrient 3.1 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-3-1-migration-guide/): Learn how to smoothly transition from Nutrient 3.0 to 3.1 on Android, including changes to theming and configuration classes for enhanced development. [Nutrient 3 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-3-migration-guide/): Follow this guide to smoothly transition from version 2.x to 3.0 of the Nutrient Android SDK, featuring key updates and new initialization processes. [Nutrient 4.4 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-4-4-migration-guide/): Migration guide for Nutrient Android SDK version 4.4 with breaking changes, API updates, and upgrade instructions. [Nutrient Android SDK 4 Migration Guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-4-migration-guide/): Explore the key changes and updates in the Nutrient Android SDK 4 migration guide, including new features and breaking changes. [Nutrient 5.1 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-5-1-migration-guide/): Migration guide for Nutrient Android SDK version 5.1 with breaking changes, API updates, and upgrade instructions. [Nutrient 5.2 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-5-2-migration-guide/): Discover essential guidelines for migrating from Nutrient Android SDK 5.1 to 5.2, including updated dependencies and notable changes. [Nutrient 5.3 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-5-3-migration-guide/): Discover essential guidelines for upgrading from Nutrient Android SDK 5.2 to 5.3, including updated dependencies and notable changes in ink drawing behavior. [Nutrient 5.5 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-5-5-migration-guide/): Discover essential guidelines for upgrading from Nutrient Android SDK 5.4 to 5.5, including updated dependencies and library unification. [Nutrient 5 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-5-migration-guide/): Migration guide for Nutrient Android SDK version 5 with breaking changes, API updates, and upgrade instructions. [Nutrient 6.1 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-6-1-migration-guide/): Learn essential guidelines for migrating to Nutrient Android SDK 6.1, including updated dependencies, deprecated methods, and build version changes. [Nutrient 6.2 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-6-2-migration-guide/): Discover essential guidelines for migrating to Nutrient Android SDK 6.2, including updated build versions, deprecations, and renamed APIs. [Nutrient 6.3 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-6-3-migration-guide/): Discover the latest Nutrient 6.3 updates, including build version changes, updated dependencies, and improved MenuItem ID organization for Android. [Nutrient 6.4 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-6-4-migration-guide/): Discover the latest Nutrient Android SDK 6.4, featuring updated build versions, API changes, and crucial migration tips for developers. [Nutrient 6.6 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-6-6-migration-guide/): Discover essential steps for migrating to Nutrient Android SDK 6.6, including updates on build systems and removal of deprecated dependencies. [Nutrient 6 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-6-migration-guide/): Learn about the API changes and migration steps for Nutrient Android SDK 6.0, including updates to annotation, bookmark, and form field methods. [Nutrient 7 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-7-migration-guide/): Migration guide for Nutrient Android SDK version 7 with breaking changes, API updates, and upgrade instructions. [Nutrient 8.6 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-8-6-migration-guide/): Migration guide for Nutrient Android SDK version 8.6 with breaking changes, API updates, and upgrade instructions. [Nutrient 8.7 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-8-7-migration-guide/): Migration guide for Nutrient Android SDK version 8.7 with breaking changes, API updates, and upgrade instructions. [Nutrient 8.8 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-8-8-migration-guide/): Discover breaking API changes in Nutrient Android SDK 8.8, including updates to measurement tools and configurations for enhanced functionality. [Nutrient 8.9 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-8-9-migration-guide/): Discover the key API changes in Nutrient Android SDK 8.9, including the new SigningManager for advanced digital signatures and simplified document signing. [PSPDFKit 8 migration guide](https://www.nutrient.io/guides/android/migration-guides/pspdfkit-8-migration-guide/): Migration guide for Nutrient Android SDK version 8 with breaking changes, API updates, and upgrade instructions. [Upgrading](https://www.nutrient.io/guides/android/advanced-integration/upgrading/): Comprehensive upgrade guide for Nutrient Android SDK covering version migrations, breaking changes, and new features. [Android OCR SDK](https://www.nutrient.io/guides/android/ocr/getting-started/): Use Nutrient's mobile OCR SDK to extract text from PDFs on Android. Unlock previously inaccessible content, enabling text selection, annotation, search, and accessibility. [OCR languages for Android applications](https://www.nutrient.io/guides/android/ocr/language-support/): Explore the extensive list of languages supported by our Android OCR library for accurate text recognition. [Enhance PDFs with advanced Android OCR features](https://www.nutrient.io/guides/android/ocr/overview/): Try our advanced Android OCR library to enhance scanned PDFs. Unlock text selection, extraction, and search capabilities easily. [How to OCR a PDF on Android](https://www.nutrient.io/guides/android/ocr/usage/): How to OCR a PDF on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Open PDF from custom data provider on Android](https://www.nutrient.io/guides/android/features/data-providers/): In addition to loading documents using a URI, Nutrient can load documents using a DataProvider. A data provider defines a common interface. [Open PDF file from Document Engine on Android](https://www.nutrient.io/guides/android/open-a-document/from-document-engine/): Document Engine is an optional backend for Nutrient Android SDK that powers our Instant synchronization component for syncing annotations across users. [Open PDF from in-memory data on Android](https://www.nutrient.io/guides/android/open-a-document/from-in-memory-data/): Learn to open PDFs from in-memory data on Android while avoiding memory issues and ensuring data persistence across process recreations using Nutrient Android SDK. [Open a local PDF file on Android app](https://www.nutrient.io/guides/android/open-a-document/from-local-storage/): Learn to open local PDF files in your Android app using Nutrient Android SDK. Access files without hardcoding paths, ensuring compatibility across devices. [Open PDF from URL on Android](https://www.nutrient.io/guides/android/miscellaneous/document-downloads/): Open PDF documents from any URL on Android using Nutrient Android SDK. Learn to implement different methods for downloading and managing remote files efficiently. [Android library — Open PDF file on Android](https://www.nutrient.io/guides/android/open-a-document/): Discover the ultimate guide to opening documents on Android. Boost your skills with expert tips and tricks. Get started now! [Open password-protected PDF on Android](https://www.nutrient.io/guides/android/security/secured-documents/): PDF documents can be secured with a password or with other security methods. Nutrient can handle protected and secured documents and write annotations. [Generate blank PDF on Android](https://www.nutrient.io/guides/android/features/document-creation/): Nutrient can create new blank PDF documents from scratch by using PdfProcessor. [Generate PDF from HTML on Android](https://www.nutrient.io/guides/android/pdf-generation/from-html/): Generate PDF from HTML on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Create PDFs from images on Android](https://www.nutrient.io/guides/android/pdf-generation/from-images/): Learn how to convert images to PDFs on Android with PdfProcessor API using minimal code for fast PDF generation. [Generate PDF from template on Android](https://www.nutrient.io/guides/android/pdf-generation/from-template/): Nutrient Android SDK enables you to create a new PDF document from a template. Our SDK ships with a predefined list of page patterns. [Android PDF generator library — Fast and accurate](https://www.nutrient.io/guides/android/pdf-generation/): Unlock the secrets of PDF generation on Android with expert tips and guidance. Enhance your skills and knowledge today. Explore now! [Generate PDF report on Android](https://www.nutrient.io/guides/android/generating-pdfs/generating-pdf-reports/): Create professional PDF reports on Android using Nutrient SDK. Utilize templates, add text and images, and customize your documents offline for business intelligence. [Android generate PDF programmatically](https://www.nutrient.io/guides/android/pdf-generation/programmatically/): Nutrient Android SDK offers several different ways to programmatically create PDF files. Check out the following guides for generating a:. [Generate PDF thumbnails on Android](https://www.nutrient.io/guides/android/pdf-generation/thumbnail-preview/): Learn how to create low-resolution PDF page thumbnails using Android SDK with our step-by-step guide. [Android PDF code samples and guides](https://www.nutrient.io/guides/android/samples/): Discover useful Android code samples for enhancing PDF features in your apps. Learn and implement now! [Changing configuration at runtime](https://www.nutrient.io/guides/android/customizing-the-interface/changing-configuration-at-runtime/): You might want to change the configuration used to display your documents at runtime. This can easily be achieved when using PdfActivity or PdfFragment. [Creating markup annotations from page text](https://www.nutrient.io/guides/android/annotations/text-markup-annotations/): Learn how to create highlight, underline, and strikeout annotations in Nutrient using Kotlin, including retrieving text rectangles from PDF pages. [Retrieving highlighted text](https://www.nutrient.io/guides/android/prebuilt-solutions/common-use-cases/retrieving-highlighted-text/): Discover how to retrieve highlighted text with TextMarkupAnnotation in Nutrient. Learn the implementation in Kotlin and Java for efficient text markup managemen [Configure sharing options](https://www.nutrient.io/guides/android/miscellaneous/document-sharing/): Nutrient lets you securely share PDF documents with other apps via DocumentSharingManager, which provides several static methods for that purpose. [Android PDF library example projects](https://www.nutrient.io/guides/android/prebuilt-solutions/example-projects/): Interactive examples demonstrating Nutrient Android SDK features with complete source code and implementation details. [Android PDF viewer with redaction](https://www.nutrient.io/guides/android/redaction/built-in-ui/): In addition to being able to create redactions programmatically, you can create and customize redactions via the UI Nutrient provides. [Android PDF redaction library: Secure and permanent](https://www.nutrient.io/guides/android/redaction/): Unlock the power of redaction in Android with our expert guide. Learn how to safeguard sensitive information effectively. Click to discover more! [PDF redaction guide for Android users](https://www.nutrient.io/guides/android/redaction/introduction-to-redaction/): Learn how to effectively redact sensitive content in PDFs on Android. Ensure privacy and compliance with GDPR and HIPAA. [Redact PDFs programmatically on Android](https://www.nutrient.io/guides/android/features/redaction/): Learn to programmatically redact PDFs on Android using Nutrient Android SDK. Customize redaction appearance and apply overlays for effective document protection. [RegEx PDF redaction on Android](https://www.nutrient.io/guides/android/redaction/regex-patterns/): Redact URLs in PDF documents on Android using Nutrient Android SDK. Learn to create regex patterns and implement text extraction and redaction effectively. [Search and redact PDF on Android](https://www.nutrient.io/guides/android/redaction/search-and-redact/): Nutrient Android SDK enables you to search and redact text in a PDF document. In this guide, you’ll see how to redact a search term in a document. [Nutrient Android SDK 10.10.1 release notes](https://www.nutrient.io/guides/android/releases/10-10-1/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK 10.10 release notes](https://www.nutrient.io/guides/android/releases/10-10/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK 10.6 release notes](https://www.nutrient.io/guides/android/releases/10-6/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK 10.7 release notes](https://www.nutrient.io/guides/android/releases/10-7/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK 10.8 release notes](https://www.nutrient.io/guides/android/releases/10-8/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK 10.9 release notes](https://www.nutrient.io/guides/android/releases/10-9/): Latest updates and release notes for Nutrient Android SDK including new features, improvements, and bug fixes. [Nutrient Android SDK 11 release notes](https://www.nutrient.io/guides/android/releases/11-0/) [Add a page during scroll](https://www.nutrient.io/guides/android/samples/add-a-page-during-scroll-kotlin/): Shows how to detect when a document has been scrolled to the end and how to add a new page at the end of the document. [AES Encrypted File Example](https://www.nutrient.io/guides/android/samples/aes-encrypted-file-example-java/): Open AES encrypted PDFs without decrypting them first. [AI Assistant Compose](https://www.nutrient.io/guides/android/samples/ai-assistant-compose-kotlin/): AI chat for intelligent document analysis and interaction using our Jetpack Compose API. You must also run the AI Assistant demo server on your Machine. [AI Assistant Multiple Documents: Compose HorizontalPager](https://www.nutrient.io/guides/android/samples/ai-assistant-multiple-documents-compose-horizontalpager-kotlin/): AI chat for intelligent document analysis and interaction with multiple documents using HorizontalPager in Jetpack Compose. You must also run the AI Assistant demo server on your Machine. [AI Assistant Multiple Documents: DocumentCoordinator](https://www.nutrient.io/guides/android/samples/ai-assistant-multiple-documents-documentcoordinator-kotlin/): Example demonstrating AI chat for multiple documents analysis and interaction using DocumentCoordinator. You must also run the AI Assistant demo server on your Machine. [AI Assistant Multiple Documents: ViewPager](https://www.nutrient.io/guides/android/samples/ai-assistant-multiple-documents-viewpager-kotlin/): Example demonstrating AI chat for multiple documents analysis and interaction using ViewPager. You must also run the AI Assistant demo server on your Machine. [Annotation Configuration](https://www.nutrient.io/guides/android/samples/annotation-configuration-kotlin/): Shows how to customize annotation configuration. [Annotation Creation](https://www.nutrient.io/guides/android/samples/annotation-creation-kotlin/): Programmatic creation of annotations. [Annotation Creation With Alpha](https://www.nutrient.io/guides/android/samples/annotation-creation-with-alpha-kotlin/): Programmatic creation of annotations with alpha. [Annotation Flags](https://www.nutrient.io/guides/android/samples/annotation-flags-java/): Showcases annotation flags. [Annotation Overlay](https://www.nutrient.io/guides/android/samples/annotation-overlay-java/): Shows annotations in overlay mode. [Annotation Overlay Visibility](https://www.nutrient.io/guides/android/samples/annotation-overlay-visibility-kotlin/): Shows how to toggle annotation overlay visibility. [Annotation Rendering](https://www.nutrient.io/guides/android/samples/annotation-rendering-kotlin/): Shows how to render only a custom set of annotations. [Annotation Selection Customization](https://www.nutrient.io/guides/android/samples/annotation-selection-customization-java/): Shows how to customize annotation selection. [Annotation Selection Layout](https://www.nutrient.io/guides/android/samples/annotation-selection-layout-kotlin/): Shows how to customize the annotation selection layout. [Basic Example](https://www.nutrient.io/guides/android/samples/basic-example-kotlin/): Example of how to integrate Nutrient in a Jetpack compose application. [Bookmark Highlighting](https://www.nutrient.io/guides/android/samples/bookmark-highlighting-kotlin/): Shows how to use the drawable API to put a indicator on all bookmarked pages in the thumbnail bar and thumbnail grid. [Compose Navigation](https://www.nutrient.io/guides/android/samples/compose-navigation-kotlin/): Shows how to use DocumentView Composable in NavHost. [Construction](https://www.nutrient.io/guides/android/samples/construction-kotlin/): Shows how to configure Nutrient to display a building floor plan. [Custom Activity with Form Editing UI](https://www.nutrient.io/guides/android/samples/custom-activity-with-form-editing-ui-java/): Use form editing UI within the custom activity using PdfFragment. [Custom Activity with Toolbars](https://www.nutrient.io/guides/android/samples/custom-activity-with-toolbars-java/): Use toolbars within the custom activity using PdfFragment. [Custom Annotation Creation Toolbar](https://www.nutrient.io/guides/android/samples/custom-annotation-creation-toolbar-java/): Example showing how to use custom items in annotation creation toolbar and bind them to the annotation tool and variant. [Custom Annotation Inspector](https://www.nutrient.io/guides/android/samples/custom-annotation-inspector-java/): Shows how to customize annotation inspector. [Custom Annotation Toolbar Grouping](https://www.nutrient.io/guides/android/samples/custom-annotation-toolbar-grouping-java/): Example of how to alter contextual toolbar menu items structure. Displayed on AnnotationCreationToolbar. [Custom Application Policy](https://www.nutrient.io/guides/android/samples/custom-application-policy-kotlin/): Example of how to customize application policy to prevent copying text. [Custom Data Provider](https://www.nutrient.io/guides/android/samples/custom-data-provider-kotlin/): How to implement a DataProvider that can be used with PdfActivity. [Custom Document Sharing Dialog](https://www.nutrient.io/guides/android/samples/custom-document-sharing-dialog-java/): Showcases how to build a custom sharing dialog. [Custom Document Sharing Menu](https://www.nutrient.io/guides/android/samples/custom-document-sharing-menu-java/): Showcases how to build a custom share menu action. [Custom Download Dialog Example](https://www.nutrient.io/guides/android/samples/custom-download-dialog-example-java/): Showcases how to build a custom DownloadProgressFragment. [Custom Electronic Signature Flow](https://www.nutrient.io/guides/android/samples/custom-electronic-signature-flow-java/): Showcases how to use an `ElectronicSignatureFragment` to implement custom ink signature flow in custom activities using `PdfFragment`. [Custom Form Highlight Color](https://www.nutrient.io/guides/android/samples/custom-form-highlight-color-java/): Shows how to toggle the form highlight color. [Custom Inline Search](https://www.nutrient.io/guides/android/samples/custom-inline-search-java/): Example of how to use the PdfSearchViewInline in a custom layout. [Custom Layout Example](https://www.nutrient.io/guides/android/samples/custom-layout-example-kotlin/): Use some custom layout resources to alter the activity appearance. [Custom New Page Template](https://www.nutrient.io/guides/android/samples/custom-new-page-template-java/): Shows how to add custom templates to the NewPageDialog. [Custom Note Annotation Hinter Provider](https://www.nutrient.io/guides/android/samples/custom-note-annotation-hinter-provider-kotlin/): Example of how to create a custom annotation hinter drawable provider. [Custom Outline Provider](https://www.nutrient.io/guides/android/samples/custom-outline-provider-kotlin/): This example shows how to use an outline provider to display a custom document outline. [Custom Search UI Compose](https://www.nutrient.io/guides/android/samples/custom-search-ui-compose-kotlin/): Showcases how to build a custom search view on top of the search API in Compose. [Custom Search UI](https://www.nutrient.io/guides/android/samples/custom-search-ui-java/): Showcases how to build a custom search view on top of the search API. [Custom Signing Example](https://www.nutrient.io/guides/android/samples/custom-signing-example-kotlin/): Showcases how to use a custom signing lambda to manually sign a document with a private key. [Custom Stamp Annotations](https://www.nutrient.io/guides/android/samples/custom-stamp-annotations-java/): Customizes the default set of stamps in the StampPickerDialog. [Customized ActionBar Actions](https://www.nutrient.io/guides/android/samples/customized-actionbar-actions-kotlin/): This example shows how to modify the default set of ActionBar icons to your app's needs. [Dark Theme](https://www.nutrient.io/guides/android/samples/dark-theme-kotlin/): An example with applied custom theme. [Digital Signatures](https://www.nutrient.io/guides/android/samples/digital-signatures-kotlin/): A simple example adding a digital signature to a document. Either basic CMS or advances PAdES. Certificate password is: test [Disabled Annotation Property](https://www.nutrient.io/guides/android/samples/disabled-annotation-property-java/): Shows how to disable annotation note option in the annotation editing toolbar. [Document Comparison](https://www.nutrient.io/guides/android/samples/document-comparison-kotlin/): Compare PDFs using a different stroke color for each document. [Document Creation From Canvas](https://www.nutrient.io/guides/android/samples/document-creation-from-canvas-kotlin/): Shows how to create a document programmatically using an Android canvas. [Document Download Example](https://www.nutrient.io/guides/android/samples/document-download-example-kotlin/): How to download a PDF document from the web. [Document JSON](https://www.nutrient.io/guides/android/samples/document-json-kotlin/): Shows how to import and export Instant Document JSON with Nutrient. [Document Processing Example](https://www.nutrient.io/guides/android/samples/document-processing-example-kotlin/): Showcases usage of the PdfProcessor class for document processing. [Document Sharing Example](https://www.nutrient.io/guides/android/samples/document-sharing-example-java/): How to implement custom sharing actions. [Document Split-view](https://www.nutrient.io/guides/android/samples/document-split-view-java/): Usage example for two PdfFragment instances sitting side-by-side in a single activity. [Document Switcher](https://www.nutrient.io/guides/android/samples/document-switcher-java/): Switching between documents using a side navigation drawer. [Download from Remote URL](https://www.nutrient.io/guides/android/samples/download-from-remote-url-kotlin/): Shows how to download and display a remote document using the UrlDataProvider. [Dynamic Multimedia Annotation](https://www.nutrient.io/guides/android/samples/dynamic-multimedia-annotation-kotlin/): This example shows how to dynamically add multimedia annotations to a document. [E-Learning Example](https://www.nutrient.io/guides/android/samples/e-learning-example-kotlin/): Shows how to swap between documents and sync view state, annotations, and bookmarks. [Electronic Signature Storage Database Example](https://www.nutrient.io/guides/android/samples/electronic-signature-storage-database-example-kotlin/): Shows how to initialize a signature storage database that can be used for storing electronic signatures. [Electronic Signatures and Digital Signing Combined](https://www.nutrient.io/guides/android/samples/electronic-signatures-and-digital-signing-combined-kotlin/): This example shows how to combine a signature render created with the ElectronicSignatureDialog with digitally signing the document with a certificate. [Empty Activity](https://www.nutrient.io/guides/android/samples/empty-activity-kotlin/): Shows how to start a PdfActivity without any document loaded. [External Document](https://www.nutrient.io/guides/android/samples/external-document-kotlin/): Choose a document from the file system. [File Annotation Creation](https://www.nutrient.io/guides/android/samples/file-annotation-creation-kotlin/): Programmatic creation of file annotations. [Filterable Thumbnail Grid](https://www.nutrient.io/guides/android/samples/filterable-thumbnail-grid-java/): Shows how to combine PDF processor and customizable nature of the thumbnail grid to create filters. [Form Creation](https://www.nutrient.io/guides/android/samples/form-creation-kotlin/): Shows how to create forms programmatically. [Form Filling](https://www.nutrient.io/guides/android/samples/form-filling-kotlin/): Shows how to fill forms programmatically. [Form Intercept with Compose](https://www.nutrient.io/guides/android/samples/form-intercept-with-compose-kotlin/): Shows how to intercept form click with the `DocumentView` Composable. [Form text field suggestions](https://www.nutrient.io/guides/android/samples/form-text-field-suggestions-kotlin/): Demonstrates how to add suggestions to form text fields. [Forms JavaScript](https://www.nutrient.io/guides/android/samples/forms-javascript-kotlin/): Showcases how to use forms JavaScript. [Fragment Example](https://www.nutrient.io/guides/android/samples/fragment-example-kotlin/): Shows how to create an activity using the PdfFragment. [FTS Indexing Example](https://www.nutrient.io/guides/android/samples/fts-indexing-example-kotlin/): Index PDF assets and search through them using PdfLibrary and LibraryFileSystemDataSource. [FTS Indexing Example (legacy)](https://www.nutrient.io/guides/android/samples/fts-indexing-example-legacy-kotlin/): Index all documents of the catalog app and make them searchable. Uses an older API. For a modern example with directory support, see the non-legacy example. [Generate PDF Report](https://www.nutrient.io/guides/android/samples/generate-pdf-report-kotlin/): Shows how to create a PDF report using our document processor. The password is: password [Hide and Reveal Annotations](https://www.nutrient.io/guides/android/samples/hide-and-reveal-annotations-kotlin/): Allow users to select areas to hide/reveal on a page. [HTML-to-PDF Conversion](https://www.nutrient.io/guides/android/samples/html-to-pdf-conversion-kotlin/): Shows how to convert an HTML file to a PDF. [Image Document](https://www.nutrient.io/guides/android/samples/image-document-kotlin/): This example shows how to open a demo image document from the assets folder. [Image Example](https://www.nutrient.io/guides/android/samples/image-example-kotlin/): Example of how to load an image using Nutrient in a Jetpack compose application. [Inline Multimedia](https://www.nutrient.io/guides/android/samples/inline-multimedia-kotlin/): Embed videos and galleries within a PDF document. [Instant JSON Attachment](https://www.nutrient.io/guides/android/samples/instant-json-attachment-kotlin/): Import and export Instant JSON Attachment binary data for an image stamp annotation. [JavaScript Actions Example](https://www.nutrient.io/guides/android/samples/javascript-actions-example-kotlin/): Shows how to create and execute JavaScript actions. [JavaScript Calculator Example](https://www.nutrient.io/guides/android/samples/javascript-calculator-example-kotlin/): Basic calculator app implemented completely in PDF JavaScript. [JavaScript Form Filling](https://www.nutrient.io/guides/android/samples/javascript-form-filling-kotlin/): Shows how to fill forms with JavaScript. [Kiosk Grid](https://www.nutrient.io/guides/android/samples/kiosk-grid-kotlin/): Displays all documents in the assets folder. [Long-Term-Validation added to Signature](https://www.nutrient.io/guides/android/samples/long-term-validation-added-to-signature-kotlin/): Opens an already signed document and adds LTV data to the existing signature. [Long-Term-Validation Signature](https://www.nutrient.io/guides/android/samples/long-term-validation-signature-kotlin/): PAdES signature with added LTV and Timestamp data. [Measurement Tools](https://www.nutrient.io/guides/android/samples/measurement-tools-kotlin/): Shows how to read and create measurement annotations. [Merge Documents](https://www.nutrient.io/guides/android/samples/merge-documents-kotlin/): Shows how to merge multiple PDFs using the document processor. [Multiple document pager](https://www.nutrient.io/guides/android/samples/multiple-document-pager-kotlin/): Shows how multiple pdfs can be utilised in a Compose Horizontal Pager [OCR](https://www.nutrient.io/guides/android/samples/ocr-kotlin/): Performs optical character recognition (OCR) on the document. [Overlay View](https://www.nutrient.io/guides/android/samples/overlay-view-kotlin/): This example shows you how to overlay views on the document. [Password Protected PDF](https://www.nutrient.io/guides/android/samples/password-protected-pdf-kotlin/): Password is: test123 [PDF from Image](https://www.nutrient.io/guides/android/samples/pdf-from-image-kotlin/): Shows how to capture an image and convert it to a PDF. [PdfUiFragment Example](https://www.nutrient.io/guides/android/samples/pdfuifragment-example-kotlin/): Shows how to use the PdfUiFragment to display documents. [Persistent Annotation Sidebar](https://www.nutrient.io/guides/android/samples/persistent-annotation-sidebar-kotlin/): Shows how to show a persistent sidebar containing a list of all annotations. [Persistent Tabs](https://www.nutrient.io/guides/android/samples/persistent-tabs-kotlin/): Shows how to retain list of open tabs. [Playground Example](https://www.nutrient.io/guides/android/samples/playground-example-kotlin/): Start here to customize the behavior of PdfActivity. [Progress Data Provider Example](https://www.nutrient.io/guides/android/samples/progress-data-provider-example-kotlin/): Showcases how to use the ProgressDataProvider. [Random Document Replacement](https://www.nutrient.io/guides/android/samples/random-document-replacement-java/): Stress test by constantly replacing the displayed document in random time intervals. [Reader View](https://www.nutrient.io/guides/android/samples/reader-view-kotlin/): Shows the reader view, which re-flows documents for easy reading. [Rotate Page](https://www.nutrient.io/guides/android/samples/rotate-page-kotlin/): Shows how to temporarily apply a rotation to a page. [Runtime Configuration Activity Example](https://www.nutrient.io/guides/android/samples/runtime-configuration-activity-example-kotlin/): This example shows how to change activity configuration at runtime. [Runtime Configuration Fragment Example](https://www.nutrient.io/guides/android/samples/runtime-configuration-fragment-example-kotlin/): This example shows how to change fragment configuration at runtime. [Screen Reader Example](https://www.nutrient.io/guides/android/samples/screen-reader-example-java/): A small screen reader that uses TTS to speak words on the document while highlighting them. [Settings for a Scientific Paper](https://www.nutrient.io/guides/android/samples/settings-for-a-scientific-paper-kotlin/): Continuous Scrolling, Persistent User Interface, Default Style. [Simple Fragment Example](https://www.nutrient.io/guides/android/samples/simple-fragment-example-kotlin/): Most basic implementation of PdfFragment in a custom activity. [Sound Annotation Data Extraction](https://www.nutrient.io/guides/android/samples/sound-annotation-data-extraction-kotlin/): Shows how to add a sound annotation and how to extract the audio data into a .wav file. [Stamp signature parcelize](https://www.nutrient.io/guides/android/samples/stamp-signature-parcelize-kotlin/): Shows how to create stamp signature and verify it has been parsed correctly upon passing between activities. [Tabbed Documents](https://www.nutrient.io/guides/android/samples/tabbed-documents-kotlin/): Opens multiple documents in a tabbed interface. [Third Party Signing Example](https://www.nutrient.io/guides/android/samples/third-party-signing-example-kotlin/): Sign a document with PCSK@7 signature using any third party signature generator. [Try Instant](https://www.nutrient.io/guides/android/samples/try-instant-kotlin/): Downloads a document for collaborative editing. [Two Step Signing Example](https://www.nutrient.io/guides/android/samples/two-step-signing-example-kotlin/): Sign a document with a private key in two stages allowing for custom byte array encryption. [User Interface View Modes Example](https://www.nutrient.io/guides/android/samples/user-interface-view-modes-example-kotlin/): This example shows how to change user interface view mode in custom Activity. [VerticalScrollBar Example](https://www.nutrient.io/guides/android/samples/verticalscrollbar-example-java/): Example of the VerticalScrollBar widget for quick page navigation. [ViewPager2 Example](https://www.nutrient.io/guides/android/samples/viewpager2-example-kotlin/): Demonstrates using multiple documents in a Viewpager2 [Watermarks](https://www.nutrient.io/guides/android/samples/watermarks-kotlin/): Shows how to display watermarks using Drawable API. [XFDF Example](https://www.nutrient.io/guides/android/samples/xfdf-example-java/): Shows how to import and export annotations in XFDF format. [Zoom Example](https://www.nutrient.io/guides/android/samples/zoom-example-kotlin/): Zooming to certain page objects. [Auto saving PDF files on Android](https://www.nutrient.io/guides/android/features/document-checkpointing/): Learn how to enable document checkpointing in Nutrient SDK for Android to prevent data loss during crashes and ensure seamless recovery of unsaved PDF annotations. [Incremental PDF saving on Android](https://www.nutrient.io/guides/android/faq/growing-pdf-file-size/): Incremental PDF saving on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Android library — Save a PDF file on Android](https://www.nutrient.io/guides/android/save-a-document/): Learn the secret to effortlessly saving documents on Android. Discover how to streamline your workflow and boost productivity. Click to uncover more now! [Save documents as PDFs on Android](https://www.nutrient.io/guides/android/save-a-document/save-as/): Learn how to use the Save As feature to save modified documents as PDFs on Android devices with ease. [Save PDF to custom data provider on Android](https://www.nutrient.io/guides/android/save-a-document/to-custom-data-provider/): Nutrient supports loading data from many different sources. In fact, this can be done from any object that conforms to the DataProviding protocol. [Save PDF to Document Engine on Android](https://www.nutrient.io/guides/android/save-a-document/to-document-engine/): Document Engine is our server-side component that stores documents and annotations. Nutrient Instant connects to Document Engine. [Save PDF to local storage with Android library](https://www.nutrient.io/guides/android/save-a-document/to-local-storage/): Learn how to disable automatic saving in Nutrient Android SDK and manually save PDF documents using Kotlin or Java for precise document management. [Save PDF to server on Android](https://www.nutrient.io/guides/android/save-a-document/to-remote-server/): Learn to upload PDF documents from your Android app to a remote server using OkHttp. Streamline your document management with efficient code examples in Kotlin and Java. [Android PDF search library — Search 1000s of PDFs](https://www.nutrient.io/guides/android/search/): Unlock the secrets of optimizing search on Android with expert tips and tricks. Dive into our comprehensive guide now! [Android PDF index generator — Index PDF files for search](https://www.nutrient.io/guides/android/features/indexed-full-text-search/): Nutrient supports fast and efficient full-text search in PDF documents through PdfLibrary. Overview of how to get started with PdfLibrary. [PDF search matching options on Android](https://www.nutrient.io/guides/android/search/indexed-full-text-search/matching-options/): PdfLibrary offers advanced matching options. You pass these options with a QueryOptions object in the search() method. for Nutrient Android SDK. [Search PDF annotations on Android](https://www.nutrient.io/guides/android/search/search-in-a-pdf/annotation-search/): Nutrient Android SDK supports searching for text contained in PDF annotations, including note comments, replies, and form fields (text fields. [Search text in PDF with Android library](https://www.nutrient.io/guides/android/features/text-search/): To search text inside a document, create an instance of TextSearch, passing in the loaded PdfDocument via its constructor. [Android digital signature library overview](https://www.nutrient.io/guides/android/signatures/digital-signatures/overview/): Learn about digital signatures, their importance, and how Android's digital signature library ensures document integrity and authentication. [Add a signature field to a PDF](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/add-a-signature-field/): Learn to easily add signature fields to PDF documents on Android using configuration builders for smooth form field creation. [Biometric signatures on Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/biometric/): Learn to create and utilize `BiometricSignatureData` in Android, enhancing digital signatures with biometric information for improved security and authenticity. [Support for external signing services on Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/external-signing-service/): Learn to integrate external signing services on Android using Nutrient. Sign documents with hardware security modules or other signing entities effectively. [Implementing digital signature lifecycle on Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/overview/): Learn to implement the digital signature lifecycle and secure your PDF signing process with integrity and authenticity in Android. [Generate self-signed certificates on Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/prepare-the-certificates-for-signing/): Learn how to generate and validate digital signatures on Android using self-signed certificates and boost your document security effectively. [Add a digital signature to PDF on Android](https://www.nutrient.io/guides/android/features/digital-signatures/): The signing process produces the signature by encrypting the message digest from the PDF file with a private key. The certificate. [Add visible vs non-visible digital signature in Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/signature-appearance/): Learn how to customize your digital signature appearance effectively. Enhance your documents with a professional touch and streamline your signature lifecycle. [Validate PDF digital signatures on Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/signature-lifecycle/validation/): Learn how to validate digital signatures in PDFs on Android with PSPDFKit, ensuring your documents remain secure and trustworthy. [PAdES and CAdES digital signature standards](https://www.nutrient.io/guides/android/signatures/digital-signatures/standards/): Explore the differences, compliance levels, and features of PAdES and CAdES digital signatures for enhanced document integrity. [Cryptographic formats for digital signatures](https://www.nutrient.io/guides/android/signatures/digital-signatures/supported-methods/): Explore supported cryptographic formats and signing methods for secure digital signatures on Android. [Fix digital signature issues on Android](https://www.nutrient.io/guides/android/signatures/digital-signatures/troubleshooting/): Learn how to troubleshoot and resolve common digital signature issues on Android, including validation problems with certificate chains and multiple signatures. [Add electronic signatures to PDFs on Android](https://www.nutrient.io/guides/android/signatures/adding-an-electronic-signature/): Learn how to add electronic signatures to PDFs on Android using Nutrient Android SDK. Enable end users to sign documents by drawing, typing, or attaching an image. Follow our step-by-step guide for seamless eSignature integration. [eSign PDF with certificate on Android](https://www.nutrient.io/guides/android/signatures/using-electronic-signatures-and-digital-signatures-together/): ESign PDF with certificate on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Save electronic signatures on Android](https://www.nutrient.io/guides/android/signatures/signature-storage/): Learn how to implement and manage signature storage on Android for seamless document signing. [Fill and sign PDF forms on Android](https://www.nutrient.io/guides/android/signatures/fill-and-sign-forms/): Learn how to fill and sign PDF forms on Android effortlessly, using both manual and programmatic methods. Discover features like electronic signatures. [Android PDF signature library: Fast and easy setup](https://www.nutrient.io/guides/android/signatures/): Unlock the secrets of enhancing digital signatures on Android with expert tips and guidance. Learn more at Nutrient. [eSignatures and digital signatures on Android](https://www.nutrient.io/guides/android/signatures/overview/): Explore the differences between electronic and digital signatures, and learn how to implement them in Android applications for secure document signing. [Diagnosing untrusted digital signatures on Android](https://www.nutrient.io/guides/android/signatures/troubleshooting/chain-of-certs-not-valid/): Learn how to troubleshoot untrusted digital signatures on Android and understand their validation states. [Fixing invalid digital signatures in documents](https://www.nutrient.io/guides/android/signatures/troubleshooting/multi-signatures-previous-not-valid/): Learn to ensure valid digital signatures by enabling incremental saving when signing documents on Android devices. [Nutrient Android SDK troubleshooting](https://www.nutrient.io/guides/android/troubleshoot/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [ABI set not compatible](https://www.nutrient.io/guides/android/troubleshooting/abi-set-not-compatible/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Didn't find class on path DexPathList](https://www.nutrient.io/guides/android/miscellaneous/multidex/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Gradle “peer not authenticated” error](https://www.nutrient.io/guides/android/troubleshooting/gradle-peer-not-authenticated/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Image size too big](https://www.nutrient.io/guides/android/troubleshooting/errors-and-warnings/image-size-too-big/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [NoClassDefFoundError](https://www.nutrient.io/guides/android/troubleshooting/java-lang-noclassdeffounderror/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Library libpspdfkit not found](https://www.nutrient.io/guides/android/troubleshooting/errors-and-warnings/library-not-found/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Out of memory build errors](https://www.nutrient.io/guides/android/troubleshooting/out-of-memory-build-error/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [VFY warnings](https://www.nutrient.io/guides/android/troubleshooting/vfy-warnings/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Initializing Nutrient](https://www.nutrient.io/guides/android/basics/initializing-pspdfkit/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Removing ReLinker](https://www.nutrient.io/guides/android/miscellaneous/relinker/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Add a license key to your Android app](https://www.nutrient.io/guides/android/troubleshooting/license/add-license-key/): Learn how to generate and add a license key for your Android app using Nutrient SDK. Start in trial mode or register your product easily. [Getting the currently used version](https://www.nutrient.io/guides/android/license-issues/getting-the-currently-used-version/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Updates have expired](https://www.nutrient.io/guides/android/license-issues/updates-have-expired/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Using the license key in other languages](https://www.nutrient.io/guides/android/license-issues/using-the-license-key-in-other-languages/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [What is a bundle ID?](https://www.nutrient.io/guides/android/faq/what-is-a-bundle-id/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [AndroidX migration](https://www.nutrient.io/guides/android/troubleshooting/androidx-migration/): Migrate your Android app to AndroidX with Nutrient Android SDK. This guide provides steps for updating dependencies and resolving common migration problems. [Streamlined crash reporting for SDK](https://www.nutrient.io/guides/android/troubleshooting/bug-reporting/): Discover effective bug reporting tips for your Android SDK, ensuring quick resolutions and stable applications. [General layout problems](https://www.nutrient.io/guides/android/troubleshooting/layout-problems/): Learn how to resolve layout problems in Nutrient by removing the android:configChanges option in your AndroidManifest.xml for better display. [Path traversal vulnerability in content provider versions 2.3.3 – 2.8.0](https://www.nutrient.io/guides/android/announcements/path-traversal-vulnerability/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Retracing R8 obfuscated stack traces](https://www.nutrient.io/guides/android/troubleshooting/miscellaneous/r8-retracing/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Changing the font size](https://www.nutrient.io/guides/android/customizing-pdf-pages/changing-the-font-size-or-color-of-page-text/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [PDF Rendering on Android in Low-Code](https://www.nutrient.io/guides/android/troubleshooting/complexities-of-rendering-pdfs/): Explore our custom C++ PDF rendering engine for Android, ensuring pixel-perfect documents and comprehensive testing for all supported platforms. [Fix inconsistent PDF fonts on any device](https://www.nutrient.io/guides/android/rendering-issues/inconsistent-fonts/): Learn how to check and embed fonts in PDFs for consistent rendering across all devices and viewers. [Inconsistent labels](https://www.nutrient.io/guides/android/rendering-issues/inconsistent-labels/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Outdated render cache](https://www.nutrient.io/guides/android/rendering-issues/outdated-render-cache/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Fixing PDF form display issues](https://www.nutrient.io/guides/android/rendering-issues/pspdfkit-doesnt-show-the-pdf-form/): Learn how to resolve XFA form display issues in PDFs and the difference between XFA and AcroForms for better document compatibility. [Disable all UI interaction](https://www.nutrient.io/guides/android/features/controlling-pdf-editing/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Nutrient Android SDK upgrade and migration guides](https://www.nutrient.io/guides/android/upgrade/): Comprehensive upgrade guide for Nutrient Android SDK covering version migrations, breaking changes, and new features. [Android PDF viewer styling — Flexible and customizable](https://www.nutrient.io/guides/android/customizing-the-interface/appearance-styling/): To customize UI elements, Nutrient uses the standard Android style and theme system. When declaring a theme for your application. [Customize annotation creation toolbar in Android PDF viewer](https://www.nutrient.io/guides/android/annotations/custom-annotation-editing-controls/): You can control which annotation tools are enabled in the annotation creation toolbar, as well as build your own custom views. [Customize PDF annotation editing toolbar on Android](https://www.nutrient.io/guides/android/user-interface/contextual-toolbars/annotation-editing/): When annotations are being edited, Nutrient Android SDK shows the annotation editing toolbar. To use it, select an annotation. [Customize toolbar in Android PDF viewer](https://www.nutrient.io/guides/android/customizing-the-interface/customizing-the-toolbar/): Nutrient comes with a flexible toolbar system that provides basic action bar functionality, as well as powerful editing features. [Customize PDF editing toolbar on Android](https://www.nutrient.io/guides/android/features/document-editor/): Document Editor offers you and your users a whole host of document editing features, including creation of new pages, page duplication, reordering. [Customize text selection in Android PDF viewer](https://www.nutrient.io/guides/android/user-interface/contextual-toolbars/text-selection/): Learn how to enhance text selection functionality in your Android PDF viewer with customizable toolbars and actions. [Customizing contextual toolbar special modes in PdfFragment](https://www.nutrient.io/guides/android/customizing-the-interface/using-toolbars-within-fragment/): PdfActivity provides contextual toolbars out of the box for so-called special modes, which include text selection, annotation creation. [Building an activity around the PdfFragment](https://www.nutrient.io/guides/android/customizing-the-interface/building-an-activity-around-the-pdffragment/): You might want to customize the user interface of your app beyond what is possible with the predefined UI of the PdfActivity. [Extending PdfActivity with custom activities](https://www.nutrient.io/guides/android/customizing-the-interface/extending-pdfactivity/): Displaying documents using the PdfActivity is sufficient in most cases. Nonetheless, there are situations where customizations beyond pure styling are necessary. [Customize form editing toolbar on Android](https://www.nutrient.io/guides/android/customizing-the-interface/using-form-ui-within-fragment/): Learn to customize the form editing toolbar in your Android app using Nutrient Android SDK. Integrate the `FormEditingBar` into your custom activities for enhanced form functionality. [Custom PDF viewer on Android library](https://www.nutrient.io/guides/android/user-interface/): Discover the secrets to optimizing your Android app's user interface with our comprehensive guide. Elevate your app design now! [Localization: Change languages in Android PDF viewer](https://www.nutrient.io/guides/android/features/localization/): Localization: Change languages in Android PDF viewer | guide for Nutrient Android SDK with detailed instructions and code examples. [Customize toolbar menu on Android](https://www.nutrient.io/guides/android/customizing-the-interface/customizing-menus/): Customize the toolbar menu in Nutrient SDK for Android by adding or removing actions. Learn to override menu methods and enhance user interaction effectively. [Customize dialog modals on Android](https://www.nutrient.io/guides/android/customizing-the-interface/modal-dialogs-styling/): By default, Nutrient styles all dialogs according to your theme without any additional work. This produces light dialogs with light application themes. [Customize note editor on Android](https://www.nutrient.io/guides/android/customizing-the-interface/customizing-the-note-editor/): Customize the note editor on Android with Nutrient Android SDK. Control content sharing and annotation reply features to enhance user interaction and experience. [Overlay views on Android](https://www.nutrient.io/guides/android/features/overlay-views/): With Nutrient Android SDK 6.1, we introduced a new feature, overlay views, which lets you attach Android views to pages of a document using PDF coordinates. [Enable annotation inspector on Android](https://www.nutrient.io/guides/android/annotations/annotation-inspector/): The annotation inspector is a Nutrient user interface (UI) component that allows editing of annotation properties. It’s integrated. [Enable form inspector on Android](https://www.nutrient.io/guides/android/user-interface/property-inspectors/form-inspector/): The form editing inspector is a UI component that allows users to edit the value of selected ComboBoxFormElements and ListBoxFormElements. [Using property inspectors within PdfFragment](https://www.nutrient.io/guides/android/customizing-the-interface/using-inspectors-within-fragment/): Learn to integrate property inspectors into your PdfFragment, enabling efficient editing of object properties with customizable views in your application. [Hide or customize scrollbar in Android PDF viewer](https://www.nutrient.io/guides/android/customizing-the-interface/scrollbars/): Nutrient comes with out-of-the-box scrollbars indicating the current scroll position and remaining scroll range (i.e. the remaining pages in the document). [Separate the document info view in Android PDF viewer](https://www.nutrient.io/guides/android/user-interface/separate-document-info/): Learn how to separate the document info view in the Android PDF viewer using Nutrient SDK 8.3. Discover options to customize your layout effectively. [Customize electronic signature UI on Android](https://www.nutrient.io/guides/android/customizing-the-interface/configuring-the-signaturepickerfragment/): Learn how to personalize your signature user interface effectively. Enhance user experience and improve email communication with our step-by-step guide. [Customize thumbnail file viewer on Android](https://www.nutrient.io/guides/android/customizing-the-interface/customizing-the-thumbnail-bar/): The thumbnail bar is the component found on the bottom of our PdfActivity by default, or as a standalone view named PdfThumbnailBar. for Nutrient Android SDK. [Show or hide UI in Android PDF viewer](https://www.nutrient.io/guides/android/customizing-the-interface/user-interface-visibility/): When using PdfActivity, you might want to tweak how Nutrient handles its user interface visibility (e.g. toolbars, thumbnail bar). [Display PDF on Android with PdfActivity](https://www.nutrient.io/guides/android/basics/using-activity/): PdfActivity is the most straightforward way of displaying a PDF document with all Nutrient features. PdfActivity extends Android’s AppCompatActivity. [Load a PDF document on Android with PdfDocument class](https://www.nutrient.io/guides/android/basics/using-pdfdocument/): Nutrient represents loaded PDF documents using instances of the PdfDocument class. A document can be loaded from various sources. [PDF display options on Android with PdfFragment](https://www.nutrient.io/guides/android/basics/using-fragment/): Nutrient provides two kinds of fragments for displaying PDF documents:. [Android PDF viewer library with accessibility support](https://www.nutrient.io/guides/android/viewer/accessibility/features/): Nutrient Android SDK has a number of accessibility features to aide ease of access in our SDK. [PDF text-to-speech library for Android viewer](https://www.nutrient.io/guides/android/features/text-to-speech/): The Android PDF text-to-speech feature is enabled by default. To disable the text-to-speech action in the TextSelectionToolbar. [Android image viewer library: JPG, PDF, TIFF](https://www.nutrient.io/guides/android/viewer/images/): Nutrient Android SDK includes support for directly rendering JPEG, PNG, and TIFF files in any modern browser or mobile device without any plugins. [Android PDF viewer library: Drop-in ready features](https://www.nutrient.io/guides/android/viewer/): Unleash the potential of your Android app with our ultimate viewer guide. Discover expert tips and tricks for a seamless viewing experience. Click now! [Fast Java PDF viewer library for Android](https://www.nutrient.io/guides/android/viewer/java/): Embed a customizable PDF viewer in your Android app with fast rendering and advanced features like night mode and accessibility support. [Kotlin PDF viewer library for Android features](https://www.nutrient.io/guides/android/viewer/kotlin/): Discover a fast and customizable Kotlin PDF viewer for Android, offering unique features like dark mode, text-to-speech, and annotation support. [Android PDF viewer page navigations](https://www.nutrient.io/guides/android/basics/document-interactions/): After loading a PDF document, you can programmatically interact with it, which lets you scroll to different pages or zoom in and out. [Configure Android viewer scroll direction and page transition](https://www.nutrient.io/guides/android/customizing-the-interface/document-presentation-options/): Configure the scroll direction and page transition settings in the Nutrient Android SDK’s viewer. Learn to customize document presentation for optimal user experience. [JavaScript in Android PDF viewer](https://www.nutrient.io/guides/android/features/javascript/): Discover how to leverage JavaScript in your Android PDF viewer for enhanced document functionality and user interaction. [Configuring permissions in Android PDF viewer](https://www.nutrient.io/guides/android/viewer/permissions/): Learn how to configure PDF permissions in Android to control document features like printing, copying, and editing content. [Rendering annotations on Android](https://www.nutrient.io/guides/android/annotations/rendering-annotations/): Render annotations from single objects into Bitmap instances using Nutrient SDK. Load documents efficiently with PdfDocumentLoader, enhancing your Android app’s functionality. [Coordinate space conversion in Android PDF viewer](https://www.nutrient.io/guides/android/faq/coordinate-spaces/): By specification, PDF documents have their own coordinate space, which is different from the coordinate space used by Android’s views. [Edit PDF fonts on Android easily](https://www.nutrient.io/guides/android/features/custom-fonts/): Learn how to customize and load PDF fonts in your Android app for better rendering and fidelity with essential guides and code examples. [Draw content above displayed document on Android](https://www.nutrient.io/guides/android/features/drawable-api/): An app using Nutrient can draw content above a displayed document using PdfDrawable, which is a subtype of Android’s Drawable class. [Render PDF forms on Android](https://www.nutrient.io/guides/android/viewer/rendering/pdf-forms/): The following section assumes you’re familiar with forms. If not, first see the introduction to forms guides for more details. for Nutrient Android SDK. [PDF renderer library for Android — Fast and accurate](https://www.nutrient.io/guides/android/features/rendering-pdf-pages/): You can use Nutrient to render a PDF page into a Bitmap object so that you can use it in your custom application views as well. [Adjusting resolution for fast PDF viewer on Android](https://www.nutrient.io/guides/android/features/low-res-render-api/): Adjust resolution settings for fast PDF viewing on Android. Learn to implement low-resolution strategies and customize render pixel counts for optimal performance. [Customizing text selection in Android PDF viewer](https://www.nutrient.io/guides/android/features/text-selection/): Learn how to select, copy, and interact with text in our Android PDF viewer. Enhance your app’s user experience with robust text selection functionality. [Android PDF viewer troubleshooting](https://www.nutrient.io/guides/android/viewer/troubleshooting/): Solutions for common issues and errors in Nutrient Android SDK with debugging tips and workarounds. [Library to display PDF on Android with view state](https://www.nutrient.io/guides/android/view-management/store-load-view-state/): The view state is the data we capture, store and eventually use to restore what the user is currently looking at after recreating a PdfFragment —. [Open multiple PDF files in Android viewer](https://www.nutrient.io/guides/android/features/working-with-multiple-documents/): Nutrient Android SDK supports loading multiple documents into a single PdfActivity. This guide will outline how to launch the PdfActivity. [Night theme for Android PDF Viewer](https://www.nutrient.io/guides/android/viewer/viewing-options/night-theme/): Discover how to enable night theme mode in Nutrient, customize PDF styles, and enhance readability with dark colors without altering the original file. [Android pdf reader library for mobile devices](https://www.nutrient.io/guides/android/features/reader-view/): Discover how to use Reader View for a better pdf reading experience on android devices. [Right-to-left (RTL) PDF viewer support on Android](https://www.nutrient.io/guides/android/miscellaneous/page-bindings/): Right-to-left (RTL) PDF viewer support on Android | guide for Nutrient Android SDK with detailed instructions and code examples. [Android PDF viewer with zoom library](https://www.nutrient.io/guides/android/miscellaneous/zooming/): Learn to programmatically manage the zoom scale of a PDF page. for Nutrient Android SDK.