Open a PDF from an array buffer in MAUI

Nutrient MAUI SDK supports opening a document from a number of formats. This guide explains how to use an array buffer to display a document in PDFView.

Introduction

To open a document, you need to add PDFView to your desired XAML. You’ll also need to assign a Name for interacting with it through code. In this example, PDFView is named PDFView:

<pspdfkit:PDFView x:Name="PDFView" Initialized="OnPDFViewInitialized"
License="{OnPlatform
Android={StaticResource AndroidLicenseKey},
iOS={StaticResource iOSLicenseKey},
MacCatalyst={StaticResource MacCatalystLicenseKey},
WinUI={StaticResource WindowsLicenseKey}}" />

The rest of the document opening process needs to be done after the PDFView control(opens in a new tab) is loaded. The easiest way to ensure it’s loaded is by using the PDFView.Initialized event as shown above. Alternatively, you can subscribe to it in code-behind as follows:

PDFView.Initialized += (sender, e) =>
{
// ...
};

If you don’t intend to open a document straight away and you know that PDFView will always be initialized, you can skip this step and open the document whenever it’s convenient.

Opening a document from an array buffer

The following example code demonstrates how to open a document from a byte array:

byte[] documentAsBuffer = /* document read as byte array */;
try
{
var document = await PSPDFKitController.LoadDocumentFromBufferAsync(documentAsBuffer,
PSPDFKitController.CreateViewerConfiguration());
}
catch (Exception ex)
{
// Handle exception.
}