Display documents in Fragment with Apryse Android SDK
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
com.pdftron:toolspackage into your project.Minimum API: 21 (using AndroidX)
Compile API: 35
Recommended target API: 35
Keep your license keys confidential.
License keys are uniquely generated. Please make sure that it is not publicly available (e.g. in your public GitHub).
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.
Storage permission
Please note that from Android 6.0 (API 23) and up, applications need to request storage permission at runtime before accessing any files on device.
Enable
largeHeap,usesClearTextTraffic, and setandroid:namein the<application>tag to MultiDexApplication:
If your app is targeting Android SDK version 28 or higher, you will need to add the android:usesCleartextTraffic="true" attribute in your application tag to open HTTP files in the viewer. If you are only working with HTTPS files, this is not required.
Declare your activity in the manifest file:
Note that your activity must extend AppCompatActivity.
If you have not done so already, add the
<meta-data>tag containing a reference to your license key in theAndroidManifest.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 call addHostListener(TabHostListener) and override the methods that you are interested in. For example, you may want to override onToolbarOptionsItemSelected(MenuItem) 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 onNavButtonPressed().
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:

Check out the diagram of the overall view hierarchy for more.
Last updated
Was this helpful?