Powerful Features

Easy to Integrate

Drop-In UI

A fluid, adaptable UI based on fast Edge web technology, ready to go out of the box.

Features

Seamlessly integrate these PDF features into your Windows apps:

PDF Viewing

A fast and smooth viewing experience — even with large documents.
Supports both single- and double-page layouts and page rotation.
Intuitive document navigation via scrolling, pagination, pan, and zoom.

Forms

Full support for PDF AcroForms, so your users can view, fill out, and submit forms with
ease.

Highlight Text

Easily mark up text on a document via an intuitive highlight menu
with support for highlighting, strikethrough, and underlining.

Freehand Drawing

Draw anywhere on a document. Move and resize, and change appearance —
including color, thickness, and opacity.

Text Annotation

Add text anywhere on a document. Move and resize, and change appearance –
including font, size, alignment, and color.

Note Annotation

Add longer comments, which can be collapsed or expanded, to a document.
Change appearance with a variety of shapes and colors.

Stamp Annotations
NEW

Place stamps on a PDF with our predefined stamp templates, or let your users
create their own using the stamp annotation builder UI. Easily swap out the
default stamp templates with your own.

Search

Quickly search documents with a fluid and fast search experience, including intuitive
keyboard shortcuts for power users.

Mouse and Touch

Handles input via mouse, keyboard, and touch to support a wide range of use cases and
devices.

Sidebar
NEW

Choose from four sidebar options — Thumbnails, Outline, Annotations, or
Bookmarks — to get an overview of the content in a document. Show and hide
the sidebar at any time, resize it, or expand it into a full gallery view.

Printing

Print and export documents, including all annotations. Use the system print dialog to
allow for full control of the output.

Additional Features

In addition to the UI layer, the PSPDFKit for Windows UWP PDF Library provides
comprehensive API access for building advanced PDF workflows into your application.

Signing documents

Page creation and organization

Document and page actions

Watermarking

Toolbar customization

Full-text search

Importing/exporting annotations

Bookmarks and outlines

Batch processing of documents

Model API

Architecture

Web UI, Native Speed

PSPDFKit for Windows offers the best of both worlds — the speed and stability
of our C++ PSPDFKit Core running natively, and the flexibility and features of our Web SDK UI.

Integration

PSPDFKit for Windows can be integrated with just a few lines of code, and
it comes with a rich API, which allows for
complete customization.

// This loads a PDF from `Assets` as soon as the PdfView is readyprivateasyncvoidPdfViewInitializationCompletedHandler(PdfViewsender,Documentargs){try{varfile=awaitStorageFile.GetFileFromApplicationUriAsync(newUri("ms-appx:///Assets/document.pdf"));if(file==null)return;awaitsender.OpenStorageFileAsync(file);}catch(Exceptione){varmessageDialog=newMessageDialog(e.Message);awaitmessageDialog.ShowAsync();}}// This loads a PDF from a file picked by the user in the UI.privateasyncvoidButton_OpenPDF_Click(objectsender,RoutedEventArgse){// Open a Picker so the user can choose a PDFvarpicker=newFileOpenPicker{ViewMode=PickerViewMode.Thumbnail,SuggestedStartLocation=PickerLocationId.DocumentsLibrary};picker.FileTypeFilter.Add(".pdf");varfile=awaitpicker.PickSingleFileAsync();if(file==null)return;// Open and display it in the PSPDFKit PdfViewvardocumentSource=DocumentSource.CreateFromStorageFile(file);awaitPdfView.Controller.ShowDocumentAsync(documentSource);}

// This loads a PDF from `Assets` as soon as the PdfView is readyvoidMainPage::PdfViewInitializationCompletedHandler(UI::PdfView^sender,Pdf::Document^args){constautopath=refnewUri("ms-appx:///Assets/document.pdf");create_task(StorageFile::GetFileFromApplicationUriAsync(path)).then([this](StorageFile^file){if(file==nullptr)return;PdfView->OpenStorageFileAsync(file);});}// This loads a PDF from a file picked by the user in the UI.voidMainPage::Button_OpenPDF_Click(Platform::Object^sender,RoutedEventArgs^e){// Open a Picker so the user can choose a PDFFileOpenPicker^openPicker=refnewFileOpenPicker();openPicker->ViewMode=PickerViewMode::Thumbnail;openPicker->SuggestedStartLocation=PickerLocationId::PicturesLibrary;openPicker->FileTypeFilter->Append(".pdf");create_task(openPicker->PickSingleFileAsync()).then([this](StorageFile^file){if(file==nullptr)return;// Open and display it in the PSPDFKit PdfViewconstautodocumentSource=DocumentSource::CreateFromStorageFile(file);PdfView->Controller->ShowDocumentAsync(documentSource);});}

publicsealedpartialclassMainPage:Page{privateconststringCssLocation="ms-appx-web:///Assets/pspdfkit/windows.css";privateController_controller;publicMainPage(){InitializeComponent();// Get your license...varpspdfkitLicense="YOUR LICENSE GOES HERE";// And initialize the SDK with it.Sdk.Initialize(pspdfkitLicense);}// Once the WebView is ready create an instance of the API and initialize it with the WebViewprivatevoidMainWebView_NavigationStarting(WebViewsender,WebViewNavigationStartingEventArgsargs){// This is the location of the standard CSS for Windows// You may provide your own CSS. See The CSS section here https://pspdfkit.com/api/web/css-General.html// We need to attach a Controller to the WebView_controller=newController(sender,newUri(CssLocation));}privateasyncvoidMainWebView_NavigationCompleted(WebViewsender,WebViewNavigationCompletedEventArgsargs){// The WebView has loaded the UI so we can display a PDF now.try{varfile=awaitStorageFile.GetFileFromApplicationUriAsync(newUri("ms-appx:///Assets/document.pdf"));if(file==null)return;await_controller.ShowDocumentAsync(DocumentSource.CreateFromStorageFile(file));}catch(Exceptione){varmessageDialog=newMessageDialog(e.Message);awaitmessageDialog.ShowAsync();}}privateasyncTask<StorageFile>PickPDF(){varpicker=newFileOpenPicker{ViewMode=PickerViewMode.Thumbnail,SuggestedStartLocation=PickerLocationId.DocumentsLibrary};picker.FileTypeFilter.Add(".pdf");returnawaitpicker.PickSingleFileAsync();}privateasyncvoidButton_OpenPDF_Click(objectsender,RoutedEventArgse){varfile=awaitPickPDF();if(file==null)return;// Open and display it in the PSPDFKit PDFViewawait_controller.ShowDocumentAsync(DocumentSource.CreateFromStorageFile(file));}}