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

# Get started

- [Start your free trial on Android](https://docs.apryse.com/android/get-started/get-started.md): Enhance your Android app with Apryse SDK for efficient document processing. Supports Android, iOS, and Windows apps from a single codebase. Fast and reliable solution. The Apryse Android SDK streamlin
- [Integrate Android PDF Library into Cordova](https://docs.apryse.com/android/get-started/get-started/cordova.md): Learn how to integrate the Apryse Cordova Native Plugin for Android applications using Cordova. Follow step-by-step instructions and get a free trial with unlimited usage and support. Check out this g
- [View a PDF document in Cordova / Ionic](https://docs.apryse.com/android/get-started/get-started/cordova/view-a-document.md): Discover the benefits of using SEO meta descriptions to improve your website's visibility and click-through rates. Learn how to craft compelling meta descriptions for better search engine rankings. Th
- [APIs for Cordova / Ionic PDF viewer](https://docs.apryse.com/android/get-started/get-started/cordova/api.md): Discover the best tips for creating an effective meta description. Learn how to craft compelling and informative descriptions to improve your website's search engine visibility and click-through rates
- [Integrating Cordova PDF Library with Android](https://docs.apryse.com/android/get-started/get-started/cordova/shared-cordova.md): Integrate the Apryse Native Plugin for Android applications using Cordova with this step-by-step guide. Get a free trial with unlimited usage and support. Explore React Native or Flutter for cross-pla
- [Add an API for Cordova / Ionic](https://docs.apryse.com/android/get-started/get-started/cordova/add-an-api.md): Learn how to integrate PDFTron's Cordova plugin for Android and iOS development. Follow step-by-step instructions to implement the method keys and execute the entry point method in your project. Simpl
- [Android Mobile SDK Samples](https://docs.apryse.com/android/get-started/samples.md)
- [AddImage](https://docs.apryse.com/android/get-started/samples/addimagetest.md): Sample Java code to use Apryse SDK for inserting various raster image formats (e.g. TIFF, JPEG, JPEG2000, JBIG2, GIF, PNG, BMP, etc.) into a PDF document.
- [Annotation](https://docs.apryse.com/android/get-started/samples/annotationtest.md): Sample Java code to use Apryse SDK to add or edit PDF annotations. Link, stamp, file attachment, sound, text, free-text, line, circle, square, polygon, polyline, highlight, squiggly, caret, ink
- [Bookmarks](https://docs.apryse.com/android/get-started/samples/bookmarktest.md): Sample Java code to use Apryse SDK for programmatically reading and editing existing outline items, and for creating new PDF bookmarks using the high-level API.
- [ContentReplacer](https://docs.apryse.com/android/get-started/samples/contentreplacertest.md): Sample Java code to use Apryse SDK for searching and replacing text strings and images inside existing PDF files (e.g. business cards and other PDF templates). Unlike PDF forms, the ContentReplacer wo
- [Convert](https://docs.apryse.com/android/get-started/samples/converttest.md): Sample Java code for direct, high-quality conversion between PDF, XPS, EMF, SVG, TIFF, PNG, JPEG, and other image formats ('pdftron.PDF.Convert' namespace). The sample also shows how to convert any pr
- [DigitalSignatures](https://docs.apryse.com/android/get-started/samples/digitalsignaturestest.md): Sample Java code to use Apryse SDK's high-level digital signature API for digitally signing and/or certifying PDF files.
- [ElementBuilder](https://docs.apryse.com/android/get-started/samples/elementbuildertest.md): Sample Java code to use Apryse SDK's page writing API to generate new pages, embed fonts & images, and copy graphical elements from one page to another.
- [ElementEdit](https://docs.apryse.com/android/get-started/samples/elementedittest.md): Here is a complete PDF and DOCX editing guide using Java. Modify properties, edit text, bookmarks,annotation and lot more using COS API
- [ElementReader](https://docs.apryse.com/android/get-started/samples/elementreadertest.md): Sample Kotlin, Java code for using Apryse Android SDK to traverse the page display list using ElementReader.
- [ElementReaderAdv](https://docs.apryse.com/android/get-started/samples/elementreaderadvtest.md): Sample Java, Kotlin code for using Apryse Android SDK to extract text, paths, and images from a PDF. The sample also shows how to do color conversion, image normalization, and process changes in the g
- [Encryption](https://docs.apryse.com/android/get-started/samples/enctest.md): Learn how to encrypt and decrypt PDF files in Apryse SDK.  It includes samples to encrypt and decrypt PDFs using Java
- [FDF](https://docs.apryse.com/android/get-started/samples/fdftest.md): Sample Java, Kotlin code for using Apryse Android SDK to programmatically merge forms data with the PDF in order to fill forms, or to extract form field data from the PDF. Apryse SDK has full support
- [ImageExtract](https://docs.apryse.com/android/get-started/samples/imageextracttest.md): Here is a sample showcasing how to extract image from pdf using Java or Kotlin. Run the sample with Apryse Android SDK free trial.
- [Imposition](https://docs.apryse.com/android/get-started/samples/impositiontest.md): Sample Java code for using Apryse SDK to impose (combine) multiple PDF pages. Page imposition can be used to arrange/order pages prior to printing or for document assembly (assemble a 'master' page fr
- [InteractiveForms](https://docs.apryse.com/android/get-started/samples/interactiveformstest.md): Sample Java, Kotlin code for using Apryse Android SDK with interactive forms (also known as AcroForms). Capabilities include programatically creating new fields and widget annotations, form filling, m
- [JBIGTest](https://docs.apryse.com/android/get-started/samples/jbig2test.md): Sample Java code for using Apryse SDK to recompress bitonal (black and white) images in existing PDF documents using JBIG2 compression (lossless or lossy). The sample is intended to show how to specif
- [LogicalStructure](https://docs.apryse.com/android/get-started/samples/logicalstructuretest.md): Sample Java, Kotlin code for using Apryse Android SDK to explore the logical structure and content of a tagged PDF file, then dumps the information to the console window. In tagged PDF files, StructTr
- [OfficeToPDF](https://docs.apryse.com/android/get-started/samples/officetopdftest.md): Sample Java code for using Apryse SDK to convert Office documents to PDF (including Word, Excel, PowerPoint and Publisher) without needing any external dependencies or MS Office licenses.
- [Optimizer](https://docs.apryse.com/android/get-started/samples/optimizertest.md): This guide will walk you thorugh how to compress PDF file using Java. WebViewer makes it easy to reduce images, Unembed fonts, Remove unused objects with Java
- [PageLabels](https://docs.apryse.com/android/get-started/samples/pagelabelstest.md): Sample Java code for using Apryse SDK to work with PDF page labels. PDF page labels can be used to describe a page, which is used to allow for non-sequential page numbering or the addition of arbitrar
- [Pattern](https://docs.apryse.com/android/get-started/samples/patterntest.md): Sample Java code for using Apryse SDK to create various patterns and shadings in PDF files.
- [PDF/A](https://docs.apryse.com/android/get-started/samples/pdfatest.md): Convert PDF to PDF/A format using Java. All you need is full API enabled in WebViewer to validare pdf/a js. it supports all versions of PDF/A
- [PDFDocMemory](https://docs.apryse.com/android/get-started/samples/pdfdocmemorytest.md): Sample Java code for using Apryse SDK to read/write a PDF document from/to memory buffer. This is useful for applications that work with dynamic PDFdocuments that don't need to be saved/read from a di
- [PDFDraw](https://docs.apryse.com/android/get-started/samples/pdfdrawtest.md): Learn to convert pdf to image format using WebViewer or programatically using code without WebViewer UI
- [PDFLayers](https://docs.apryse.com/android/get-started/samples/pdflayerstest.md): Sample Java code to use Apryse SDK for creating and manipulating PDF layers (also known as Optional Content Groups - OCGs). These samples demonstrate how to create and extract layers, as well as to se
- [PDFPackage](https://docs.apryse.com/android/get-started/samples/pdfpackagetest.md): Sample Java, Kotlin code for using Apryse Android SDK for creating, extracting, and manipulating PDF packages (also known as PDF portfolios).
- [PDFPage](https://docs.apryse.com/android/get-started/samples/pdfpagetest.md): Sample Java code for using Apryse SDK to copy pages from one document to another, delete and rearrange pages, and use ImportPages() method for very efficient copy and merge operations.
- [PDFRedact](https://docs.apryse.com/android/get-started/samples/pdfredacttest.md): Sample Java code for using Apryse SDK to remove potentially sensitive content within PDF documents. Using 'pdftron.PDF.Redactor' makes sure that if a portion of an image, text, or vector graphics is c
- [Rect](https://docs.apryse.com/android/get-started/samples/recttest.md): Sample Java code for using Apryse SDK to change a page's MediaBox using Rect class.
- [SDF](https://docs.apryse.com/android/get-started/samples/sdftest.md): Sample Java code to edit an existing PDF document at the object level by using the Apryse SDK Cos/SDF low-level API.
- [Stamper](https://docs.apryse.com/android/get-started/samples/stampertest.md): Sample Java code for using Apryse SDK to programmatically stamp PDF pages with text, images, or with other PDF pages.
- [TextExtract](https://docs.apryse.com/android/get-started/samples/textextracttest.md): Sample Java, Kotlin code for using Apryse Android SDK to read a PDF (parse and extract text).
- [TextSearch](https://docs.apryse.com/android/get-started/samples/textsearchtest.md): Sample Java code for using Apryse SDK to search text on PDF pages using regular expressions. The TextSearch utility class builds on functionality available in TextExtractor to simplify most common sea
- [U3D](https://docs.apryse.com/android/get-started/samples/u3dtest.md): Sample Kotlin code for using Apryse SDK to embed U3D content (3 dimensional models) in PDF files.
- [UndoRedoTest](https://docs.apryse.com/android/get-started/samples/undoredotest.md): Sample Java code for using Apryse SDK to take snapshots of edits and move between them using the API.
- [UnicodeWrite](https://docs.apryse.com/android/get-started/samples/unicodewritetest.md): Sample Java code for using Apryse SDK to create Unicode text and embed composite fonts in PDF files.
- [Get started integrating Apryse Android SDK](https://docs.apryse.com/android/get-started/integration.md): Integrate a free trial of Apryse Android SDK into your Android Studio projects with ease. Follow this comprehensive guide for seamless integration using Gradle or .aar files. Get unlimited trial usage
- [How to view document in Android with DocumentActivity](https://docs.apryse.com/android/get-started/viewdoc.md): Here is a guide explainging how to view a document with DocumentActivity in Android using Kotlin and Java
- [Customizing Android document viewer](https://docs.apryse.com/android/get-started/customize-a.md): Learn how to customize a document viewer with Apryse for your app. Customize appearance, functions, controls, and annotation interactions. Apryse offers open-source tools for easy modifications. The A
- [Frameworks](https://docs.apryse.com/android/get-started/frameworks.md)
- [React Native](https://docs.apryse.com/android/get-started/frameworks/react-native.md)
- [Get started integrating Apryse React Native SDK](https://docs.apryse.com/android/get-started/frameworks/react-native/react-native.md): Integrate a free trial of Apryse React Native SDK into your Android and iOS projects with unlimited usage and support. Follow this comprehensive guide for seamless integration. The Apryse Android SDK
- [View a PDF document in React Native](https://docs.apryse.com/android/get-started/frameworks/react-native/view-a-document.md): Discover how to set up local storage file paths, raw resource paths, and content URIs in React Native. Follow the steps to run your project successfully and access the source code. Click to learn more
- [Add an API for React Native](https://docs.apryse.com/android/get-started/frameworks/react-native/add-an-api.md): Learn how to define a ReactProp in Android for PDFTron's DocumentView with this step-by-step guide. Implement methods, add event constants, and set up event listeners for seamless development. The Apr
- [API for React Native PDF viewer](https://docs.apryse.com/android/get-started/frameworks/react-native/api.md): Discover the best tips and tricks for creating an effective SEO meta description. Learn how to improve your website's visibility and attract more clicks. Optimize your meta tags today! The Apryse Andr
- [Flutter](https://docs.apryse.com/android/get-started/frameworks/flutter.md)
- [Integrate the Apryse Flutter PDF Library into Android](https://docs.apryse.com/android/get-started/frameworks/flutter/flutter.md): Discover the Apryse Flutter wrapper for Android and iOS, offering a versatile document reader and PDF editor with customizable native components. Enjoy unique functionality, extensive file type suppor
- [Get started integrating Apryse Flutter SDK](https://docs.apryse.com/android/get-started/frameworks/flutter/flutter-1.md): Integrate a free trial of Apryse Flutter SDK into your Flutter Project with this comprehensive guide. Get unlimited usage and support from solution engineers. Learn how to integrate Android & Flutter
- [View a PDF document in Flutter](https://docs.apryse.com/android/get-started/frameworks/flutter/view-a-document.md): Learn how to run and launch your Android emulator, start up the app, and access Apryse APIs. Explore source code and related blogs on building a Flutter PDF viewer and more. The Apryse Android SDK str
- [Add an API for Flutter](https://docs.apryse.com/android/get-started/frameworks/flutter/add-an-api.md): Learn how to define new viewer configuration options in Java for your Flutter plugin. Follow step-by-step instructions to set properties, receive functions, and implement new functions efficiently. Th
- [API for Flutter PDF Viewer](https://docs.apryse.com/android/get-started/frameworks/flutter/api.md): Discover the best tips for creating an effective SEO meta description. Learn how to craft engaging descriptions that drive clicks and improve your website's visibility in search results. The Apryse An
- [Download Android library](https://docs.apryse.com/android/get-started/download.md): Discover the best tips and examples for writing an effective meta description. Learn how to craft compelling descriptions that drive clicks and improve your website's SEO performance. The Apryse Andro
- [FAQ](https://docs.apryse.com/android/get-started/faq.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why do I need to enable largeHeap for my app?](https://docs.apryse.com/android/get-started/faq/large-heap.md): PDF document rendering can be memory intensive and this flag is recommended to ensure that your application has enough heap memory allocated.
- [Common Apryse Android integration issues](https://docs.apryse.com/android/get-started/faq/troubleshooting-integration.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to extract XML from a XFA PDF form?](https://docs.apryse.com/android/get-started/faq/extract-xml-from-xfa.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [What is external converter?](https://docs.apryse.com/android/get-started/faq/external-converter.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Add license keys](https://docs.apryse.com/android/get-started/faq/add-license.md): Add your production license key to Apryse Android SDK easily.
- [How do I use Apryse React Native with TypeScript?](https://docs.apryse.com/android/get-started/faq/react-native-use.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How do I upgrade to the latest version of Apryse?](https://docs.apryse.com/android/get-started/faq/upgrading.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How do I use the snapshot version of Apryse Android?](https://docs.apryse.com/android/get-started/faq/snapshot.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How do I run Apryse sample projects in Android Studio?](https://docs.apryse.com/android/get-started/faq/run-in-android-studio.md): Learn step by step how to to open and run Apryse sample projects in Android Studio.
- [Reduce the Size of Your APK](https://docs.apryse.com/android/get-started/faq/reduce-apk-size.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why do I need to enable vectorDrawables support for my app?](https://docs.apryse.com/android/get-started/faq/vector-drawables.md): In order to support vector drawables on devices running Android versions lower than Android 5.0 (API level 21), you will need set vectorDrawables.usesSupportLibrary...
- [What are type errors in Apryse React Native?](https://docs.apryse.com/android/get-started/faq/react-native-type-errors.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How do I use the standard version of Apryse Android?](https://docs.apryse.com/android/get-started/faq/standard-version.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [DetachCurrentThread warnings](https://docs.apryse.com/android/get-started/faq/detach-current-thread.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Does the Apryse SDK support XFA/LifeCycle PDF forms?](https://docs.apryse.com/android/get-started/faq/xfa-lifecycle-support.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Reduce memory consumption](https://docs.apryse.com/android/get-started/faq/pdfviewctrl-min-memory.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Multidex error for apps with over 64K methods](https://docs.apryse.com/android/get-started/faq/multidex.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Apryse full or standard? Which version is for me?](https://docs.apryse.com/android/get-started/faq/full-vs-standard.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Unable to load layout font metrics error](https://docs.apryse.com/android/get-started/faq/missing-office-res.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Does my app need cleartext network traffic support?](https://docs.apryse.com/android/get-started/faq/uses-clear-text-traffic.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How do I add Apryse to an app that uses AndroidX?](https://docs.apryse.com/android/get-started/faq/androidx.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to integrate the Apryse libraries from source](https://docs.apryse.com/android/get-started/faq/run-tools-source.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Apryse for Android system requirements](https://docs.apryse.com/android/get-started/faq/supported-api.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop


---

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

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

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

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

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

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

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