Some test text!

Search
Hamburger Icon

Xamarin / Guides

Quick start: viewing a document in Xamarin.Android

This tutorial only applies to Xamarin.Android.

Supporting Sdk versions:

  • Minimum: API 16 (Using Android Support Libraries)
  • Recommended target: API 33

This guide demonstrates how to display a PDF. To begin working with Apryse SDK, you must have first added it to your project , and initialized the library .

First make sure the following is in your <application> tag in AndroidManifest.xml.

<application
    ...
    android:largeHeap="true"
    android:usesCleartextTraffic="false">
    
    <activity android:name="com.pdftron.pdf.controls.DocumentActivity"
        android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
        android:windowSoftInputMode="adjustPan"
        android:theme="@style/PDFTronAppTheme"/>
</application>
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.

Next, add permissions to AndroidManifest.xml file in the <manifest> tag (outside the <application> tag):

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
PermissionPurpose
android.permission.INTERNETInternet permission for downloading online documents
android.permission.RECORD_AUDIOAudio recording permission for creating sound annotations
Storage Permission
Please follow the latest Android best practices and guidelines outlined here

Add license key and activity declarations to AndroidManifest.xml file inside the <application> tag:

<!-- Add license key in meta-data tag here. This should be inside the application tag. -->
<meta-data
    android:name="pdftron_license_key"
    android:value="Insert_commercial_license_key_here_after_purchase"/>
    
<activity android:name="com.pdftron.pdf.controls.DocumentActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
    android:windowSoftInputMode="adjustPan"
    android:theme="@style/PDFTronAppTheme"/>

Finally, if you would like to customize the appearance of the viewer activity, define PDFTronAppTheme in Resources/values/styles.xml:

<resources>
    <style name="PDFTronAppTheme" parent="PDFTronAppThemeBase">
        <item name="colorPrimary">@color/app_color_primary_day</item>
        <item name="colorPrimaryDark">@color/app_color_primary_dark_day</item>
        <item name="colorAccent">@color/app_color_accent</item>
        <!-- Drawer -->
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <!-- Action bar -->
        <item name="actionModeBackground">?attr/colorPrimary</item>
        <item name="windowActionModeOverlay">true</item>
    </style>
</resources>
If you are using your own theme, please don't forget to add/change the theme tag of your AndroidManifest file's corresponding activity declaration.

To open a PDF file:

// Open our sample document in the 'Resources/raw' resource folder
pdftron.PDF.Controls.DocumentActivity.OpenDocument(Resource.Raw.getting_started);

You will see:

SimpleReader image

Please note that changes for files opened from res will not be saved on disk.

To open your own file in DocumentActivity, use:

// from internal storage
var localFile = Android.Net.Uri.FromFile(new Java.IO.File("myLocalFilePath"));
pdftron.PDF.Controls.DocumentActivity.OpenDocument(this, localFile);

// from content uri
var contentUri = Android.Net.Uri.Parse("myContentUri");
pdftron.PDF.Controls.DocumentActivity.OpenDocument(this, contentUri);

// from http/https
var fileLink = Android.Net.Uri.Parse("myFileLink");
pdftron.PDF.Controls.DocumentActivity.OpenDocument(this, fileLink);

// from res
pdftron.PDF.Controls.DocumentActivity.OpenDocument(this, Resource.Raw.my_file_res_id);

Get the answers you need: Chat with us