Open a document (Android)
You have a few options to open a document such as with an activity, fragment, or view. A diagram of the overall view hierarchy can be found here: View hierarchy.
Show a document in an Activity
Apryse's Android SDK ships with DocumentActivity, an all-in-one document reader and PDF editor. In addition to PDF files, it also supports viewing other file formats such as .docx, .doc, .pptx, .xlsx, .md, .cbz and various image formats. In this activity you can also read, annotate, sign, fill in PDF forms and more.
DocumentActivity extends Android's AppCompatActivity and follows Material design guidelines.

Prerequisites
Integrated Apryse into your project and added the
PDFTron.Android.ToolsNuGet package into your project.Minimum API: 21 (using AndroidX)
Compile API: 35
Recommended target API: 35
Step 1: Update AndroidManifest.xml
In order to support all the features in
DocumentActivity, we will need to add the Android permissions listed in this table. However if you would like to disable certain features and customize your document viewer, you should leave out unnecessary permissions.
Enable
largeHeap:
If you have not done so already, add your license in the
AndroidManifest.xmlfile, and also declareDocumentActivityin the manifest file. The finalAndroidManifest.xmlfile should look something like this:
Step 2: Launch the viewer
Launch DocumentActivity by specifiying a local file path, an HTTP/HTTPS url, or a Content Uri:
Step 3: (Optional) Customize the viewer
If you would like to customize the appearance of the viewer activity, define
PDFTronAppThemeinres/values/styles.xml:You can learn more about this in the customize the viewer's theme guide .
Also, if you would like to customize the UI components in
DocumentActivity, you can useViewerConfig.Builder. For example:For details on customizing the UI and usingViewerConfig.Builder, check out the configuration tutorial .
Display document in fragment on Android
All actions related to the PDF viewer are handled through the PdfViewCtrlTabHostFragment2. This fragment extends androidx.fragment.app.Fragment and is responsible for showing documents in tabs.

Prerequisites
Integrated Apryse into your project and added the
PDFTron.Android.ToolsNuGet package into your project.Minimum API: 21 (using AndroidX)
Compile API: 35
Recommended target API: 35
Step 1: Update AndroidManifest.xml
In order to support all the features in
PdfViewCtrlTabHostFragment2, we will need to add the Android permissions listed in this table. However if you would like to disable certain features and customize your document viewer, you should leave out unnecessary permissions.
Enable
largeHeapandusesClearTextTraffic:
Define your Activity to extend
AppCompatActivityand use an AppCompat theme:
If you have not done so already, add your license in the
AndroidManifest.xmlfile. The finalAndroidManifest.xmlfile should look something like this:
Step 2: Launch the viewer
Use ViewerBuilder2 to create an instance of PdfViewCtrlTabHostFragment2, and add it to your activity layout. To add a document viewer fragment for a given password-protected file, call the following method in your activity:
where fragmentContainer is the resource id of a layout in your activity that will contain your fragment:
For example:
Alternatively if you have extended PdfViewCtrlTabFragment2 or PdfViewCtrlTabHostFragment2, you can specify your custom classes using the ViewerBuilder2.usingTabClass() method and the ViewerBuilder2.build() method as follows:
Step 3: Customize the viewer
Customize document viewer style
If you would like to customize the appearance of the viewer activity, define
PDFTronAppThemeinstyles.xml:You can learn more about this in the customize the viewer's theme guide .
Customize using ViewerConfig
If you would like to customize certain viewer settings or the UI of
PdfViewCtrlTabHostFragment2, you can useViewerConfig.Builder. For example:
Customize the options toolbar

The default toolbar menu consists of the following buttons on phones:
App navigation
Toolbar switcher
Tab switcher
Overflow menu
The default toolbar menu consists of the following buttons on tablets:
App navigation
Toolbar switcher
Document text search
View mode configuration
Thumbnails browser
List container
Overflow menu
You can fully customize the toolbar menu and the navigation icon by calling the following in ViewerBuilder2, with custom menu resource and drawable resource files:
To change the icon color and overflow icon color, in styles.xml:
To change the navigation icon color, in styles.xml (assume MyTheme is used as the app theme):
If you would like to interact with the host fragment you can override the methods that you are interested in through events. For example, you may want to override ToolbarOptionsItemSelected when you add a new menu item, so when the item is clicked you can get a callback. As another example, you can get the callback when the navigation icon is clicked if you override NavButtonPressed.
Here's an example that replaces the default navigation icon and uses a custom toolbar:
where ic_arrow_back_white_24dp.xml is a drawable resource file for a back arrow icon, and my_custom_toolbar.xml is a menu resource file that contains:
This sample replaces the navigation icon, removes all toolbar buttons except the annotation toolbar button, and adds a new Show Toast button:

Display PDF using PDFViewCTRL in Android
PDFViewCtrl is a ViewGroup that can be embedded in any layout. It encapsulates a rich set of functionalities for interactive viewing of PDF documents, including multi-threaded rendering, PDF rendering settings, scrolling, zooming, page navigation, different page viewing modes, coordinates conversion, text selection, text search, etc.
View documents using PDFViewCtrl
In this tutorial you will display a PDF file in your activity by using PDFViewCtrl.
In your
AndroidManifest.xml, make sure you enablelargeHeapin the<application>tag. Also, add a custom theme and set theandroid:windowSoftInputMode:"adjustPan"attribute in the<activity>tag as follow:
If you would like to customize the appearance of the viewer activity, define
PDFTronAppThemefor your activity inres/values/styles.xml:You can learn more about this in the customize the viewer's theme guide.
Now, add
PDFViewCtrlto your activity's XML layout. For example:
In your activity, get a reference to
PDFViewCtrlafter inflating the layout and callAppUtils.SetupPDFViewCtrl.
Next, choose a document to display by using the following options:Add a sample PDF to
src/main/res/rawfolder, then call:
View from resource
View from local device storage
Managing lifecycle
It is extremely important that you follow the Android activity/fragment lifecycle and clean up PDFViewCtrl and PDFDoc properly. Make sure you have the following in lifecycle callbacks:
Next steps
Want to annotate on PDF files in
PDFViewCtrl? Check out the Setup ToolManager guide.Want to display non-PDF files in
PDFViewCtrl? Check out the viewing other document types guide.
Last updated
Was this helpful?