For the complete documentation index, see llms.txt. This page is also available as Markdown.

Viewing a document in your UWP application

Prerequisites

Step 1: Update xaml

Now that the project is set up, let us add a PDFViewCtrl as the main feature of the project. First, we need to set up the page to contain the PDFViewCtrl. We want to add a main viewing area for the PDFViewCtrl, and an area at the bottom where we can later add in some options. Open up “MainPage.xaml” and find the Grid element. Add some row definitions as follows:

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>
    <RowDefinition Height="Auto"/>
  </Grid.RowDefinitions>
</Grid>

The second row will be used for our options bar, while the first row will use whatever space is left to display the PDFViewCtrl.

To this Grid, let's add a Border which will host the PDFViewCtrl and then a stack panel with a button to open a document.

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>
    <RowDefinition Height="Auto"/>
  </Grid.RowDefinitions>

  <Border x:Name="PDFViewBorder" Grid.Row="0"/>

  <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5">
    <Button x:Name="OpenButton">Open</Button>
  </StackPanel>
</Grid>

Step 2: Add the viewer

Now, we want to add the PDFViewCtrl to the app. We do this in “MainPage.xaml.cs”. Open up “MainPage.xaml.cs” and add a member variable that references a PDFViewCtrl.

Next, we need to initialize PDFNet and create a PDFViewCtrl, so let's do this in the constructor of the MainPage. We also need to make the PDFViewCtrl the child of the PDFViewBorder.

We also have to add a handler for the Open button. Let's do that in MainPage's constructor after we have created a PDFViewCtrl.

Inside this click function, we need to open a Document. First, let's include two new namespaces that we need for the file picker and for the storage file.

Also, OpenButton_Click needs to be async in order to handle some of the asynchronous API's needed here. So, replace the old OpenButton_Click with the following:

Build and launch the app and we should now have a very basic PDF document viewer.

Do note that in Windows 8.1, the file picker works differently. Please see this guide for how to use file pickers in Windows Phone 8.1: https://msdn.microsoft.com/en-us/library/windows/apps/dn642086(v=vs.105).aspx

Step 3: Adding Text Selection, Form Filling, and More

The basic viewer doesn't support text selection, for example, out of the box. For this, we will need the tools package from NuGet or the tools project contained in the download package.

If you integrated PDFTron.UWP using NuGet then use the tools package PDFTron.UWP.Tools in the package manager.

Find your project in the Solution Explorer. Right Click on the project and click on Manage NuGet Packages.... In the package manager, select the Browse tab and search for PDFTron.UWP.Tools. Install this package.

If you integrated manually with the Apryse UWP download package then use the tools package in the samples folder from the download.

  1. First, we will add a new reference to the tools library. The tools library is shipped as part of the samples that come with the SDK. We can include the tools project in this solution.In the solution explorer, right click on the PDFNetSample solution and select Add -> Existing Project.... Navigate to the folder where the PDFNet package was unzipped, Open the Lib Folder, Framework Folder and then the Tools_VS2019 Folder. Inside here you should find Tools_VS2019.csproj. Select it and select Open.

  2. Since the Tool_VS2019 projects references the PDFTron.UWP NuGet package we will need to remove it in order to use the VSIX / Extension Apryse's UWP SDK. To do so right click the Tools_VS2019 project in the solutions explorer, click Manage NuGet Packages then select PDFTron.UWP -> Uninstall.

  3. Now, we want to add the Tools_VS2019 project as a reference used by PDFNetSample. We can do this in a similar way to how we added PDFNet for Windows Universal Apps. In the solution explorer, in the PDFNetSample solution, right click on References and select Add Reference... In the dialog, select Project -> Solution and find Tools_VS2019 in the list. Select it and add it by clicking OK.

  4. Right click on References in the Tools_VS2019 project in the solution explorer and select Add Reference.... In the left pane of the dialog, select Universal Windows. Then select Extensions and in the list that appears, check the box next to PDFNet SDK for UWP.

  5. Now that we have the Tools library referenced in your UWP application, we need to create a ToolManager and attach the PDFViewCtrl to it. Declare another member variable in MainPage.xaml.cs next to MyPDFViewCtrl.

Inside the constructor for MainPage we now add one more call where we initialize the ToolManager.

This is all you need for text selection to work. The tools support many other operations, such as creating and adding basic shapes to the PDF document and editing form fields.

Next step

Customize

Last updated

Was this helpful?