A step-by-step tutorial explaining how to add highlight annotations to PDFs in JavaScript.
A step-by-step tutorial explaining how to capture signatures in PDF using JavaScript with the PSPDFKit SDK.
Learn how to create a powerful Node.js PDF editor using the pdf-lib library, and compare it with PSPDFKit API.
A step-by-step tutorial explaining how to convert Word (DOC & DOCX) to PDF using Node.js with the PSPDFKit SDK.
A step-by-step tutorial explaining how to fill PDF forms in Node.js using pdf-lib library.
Read a step-by-step tutorial explaining how you can convert Excel (XLS & XLSX) to PDF using Node.js.
A step-by-step tutorial explaining how to convert an image to PDF using Node.js with the PSPDFKit SDK and pdf-lib.
Learn how to add annotations to PDF using Vue.js and pdf-lib.
Learn how to edit and manipulate PDFs using .NET and PdfSharpCore.
A step-by-step tutorial explaining how to fill PDF forms in SharePoint Online using PSPDFKit's SDK.
A step-by-step tutorial explaining how to fill a PDF form in React using the PSPDFKit SDK.
Learn how to create and fill PDF forms programmatically in Angular.
Learn everything you need to know about working with PDF documents in web applications.
A step-by-step tutorial explaining how to add electronic signatures to PDFs in SharePoint Online using PSPDFKit's SDK.
A step-by-step tutorial explaining how to convert Word (DOC & DOCX) to PDF using JavaScript with the PSPDFKit SDK.
A step-by-step tutorial explaining how to add a signature pad using JavaScript
A step-by-step tutorial on how to use Tesseract OCR in Python
Step-by-step tutorial on how to extract text from a PDF using PDF.js.
A step-by-step tutorial on how to convert HTML to PDF using html2pdf.
A step-by-step tutorial explaining how to open Word (DOC & DOCX) files in the browser with JavaScript using the PSPDFKit SDK.
A step-by-step tutorial explaining how to build an Excel viewer using JavaScript with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a Word viewer using JavaScript with the PSPDFKit SDK.
A step-by-step guide to how to build a Vue.js (XLS & XLSX) Excel viewer with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a jQuery (PPT / PPTX) PowerPoint viewer using the PSPDFKit SDK.
A step-by-step tutorial explaining how to build an Excel (XLS & XLSX) viewer using jQuery with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a Word (DOC & DOCX) viewer using jQuery with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build an HTML5 Excel (XLS & XLSX) viewer using JavaScript with the PSPDFKit SDK.
A step-by-step tutorial explaining how to convert Word (DOC & DOCX) to PDF using React with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a React.js file viewer for PDF, image, and Office files using PSPDFKit for Web.
A step-by-step tutorial explaining how to build an HTML5 PowerPoint (PPT & PPTX) viewer using JavaScript with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a PowerPoint (PPT & PPTX) viewer using React with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a Word viewer using React with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a Word viewer using HTML5 with the PSPDFKit SDK.
A step-by-step tutorial on how to convert HTML to image using wkhtmltoimage and Python.
A step-by-step tutorial explaining how to open Excel (XLS / XLSX) documents in the browser with JavaScript and PSPDFKit.
A step-by-step tutorial explaining how to convert Excel (XLS & XLSX) to PDF using JavaScript with the PSPDFKit SDK.
A step-by-step tutorial explaining how to build a PowerPoint (PPT & PPTX) viewer using JavaScript with the PSPDFKit SDK.
Learn how to generate a PDF in Salesforce using Visualforce pages and Apex controllers.
Learn how to display a PDF using the PSPDFKit Angular PDF library.
A comprehensive tutorial for editing PDFs in React with PSPDFKit.
In this tutorial, you'll learn how to convert an image to a PDF in Flutter
In this tutorial, you'll learn how to create a PDF document in Flutter.
This posts covers how to load a PDF document from a remote URL into the PSPDFKit Viewer.
A step-by-step tutorial on how to convert HTML to PDF using wkhtmltopdf and C#.
This blog explains how to build a PDF viewer using Express.js, PDF.js, and the EJS templating engine.
In this post, you'll learn how to convert an image to PDF using React Native.
How to OCR a document using PSPDFKit API
A step-by-step tutorial on how to convert HTML to image using wkhtmltoimage and Laravel.
A step-by-step guide to how to build a Tauri PDF viewer with PSPDFKit.
A step-by-step tutorial explaining how to build an Angular image viewer with the Viewer.js library.
A step-by-step tutorial explaining how to build a Salesforce PDF viewer with PSPDFKit.
Learn how to display a PDF in React using the PSPDFKit library.
Learn how to build a Vue.js PDF editor using the PSPDFKit library.
This blog shows how to convert HTML to PDF using wkhtmltopdf in Python.
How to convert PDFs to images using PSPDFKit Library for Java.
A comprehensive tutorial for managing React PDF annotations with PSPDFKit.
A step-by-step tutorial explaining how to print PDFs using PDF.js.
Running PSPDFKit Processor on Google App Engine
A comprehensive guide to building a PSPDFKit web component.
How to use the OCR component in PSPDFKit Processor with Python
This blog shows how to convert HTML to PDF using React.
Learn how to create PDFs with the React to PDF package
Learn how to add signatures to a PDF with PSPDFKit's Android signature library.
Learn how to build an Android image viewer using PSPDFKit's library.
This blog explains how to build a JavaScript image viewer with the Viewer.js library
Learn how to insert a JavaScript digital signature in a PDF using PSPDFKit.
A comprehensive guide to integrating and using PSPDFKit in Remix apps
Learn how to build a PDF viewer using PSPDFKit's Android PDF viewer library.
A step-by-step guide on how to build a React.js signature pad with PSPDFKit.
How to build a SharePoint On-Premises PDF viewer by integrating a file handler with PSPDFKit. View, annotate, edit, form fill, sign, & more directly in SharePoint.
How to build a SharePoint Online PDF viewer by integrating web parts with PSPDFKit. View, annotate, edit, form fill, sign & more directly in SharePoint.
How to build a Microsoft OneDrive PDF viewer by integrating the SharePoint Online file handler with PSPDFKit. View, annotate, edit, form fill, sign & more directly in Microsoft OneDrive.
How to build a Microsoft Teams PDF viewer by integrating SharePoint Online (SPFx) web parts with PSPDFKit. View, annotate, edit, form fill, sign & more directly in Microsoft Teams.
How to build a SharePoint Online PDF viewer by integrating a file handler with PSPDFKit. View, annotate, edit, form fill, sign & more directly in SharePoint.
A tutorial about forking and customizing the PSPDFKit for React Native repository.
A comprehensive tutorial for managing JavaScript PDF annotations with PSPDFKit.
Learn how to convert TIFF files to PDF with PSPDFKit API using PHP.
Learn how to convert DOCX files to PDF with PSPDFKit API using Java.
Learn how to convert TIFF files to PDFs with PSPDFKit API using Python.
Learn how to convert DOCX files to PDF with PSPDFKit API using PHP.
Learn how to convert DOCX to PDF with PSPDFKit API using Python.
Learn how to convert PDF files to JPG images with PSPDFKit API using Java.
Learn how to convert PDF files to JPG images with PSPDFKit API using JavaScript.
Learn how to convert PDF files to JPG images with PSPDFKit API using PHP.
Learn how to convert PDF files to JPG images with PSPDFKit API using Python.
Learn how to convert Excel files to PDF with PSPDFKit API using Java.
Learn how to convert Excel files to PDF with PSPDFKit API using Python.
Learn how to convert Excel files to PDF with PSPDFKit API using PHP.
Learn how to watermark a PDF with PSPDFKit API using JavaScript.
A tutorial explaining how to implement drag and drop for PSPDFKit in your React app.
Learn how to delete PDF pages with PSPDFKit API using Java.
Learn how to delete PDF pages with PSPDFKit API using JavaScript.
Learn how to delete PDF pages with PSPDFKit API using PHP.
Learn how to delete PDF pages with PSPDFKit API using Python.
Learn how to merge PDFs with PSPDFKit API using Java.
Learn how to merge PDFs with PSPDFKit API using JavaScript.
Learn how to merge PDFs with PSPDFKit API using PHP.
Learn how to merge PDFs with PSPDFKit API using Python.
Learn how to watermark a PDF with PSPDFKit API using Java.
Learn how to watermark a PDF with PSPDFKit API using PHP.
Learn how to watermark a PDF with PSPDFKit API using Python.
Learn how to split PDFs with PSPDFKit API using Python.
How to use PSPDFKit Library for Java to perform various editing operations on a PDF document programmatically.
A step-by-step guide to how to build a Svelte PDF viewer with PSPDFKit.
Learn how to convert DOCX files to PDF with PSPDFKit API using JavaScript.
Learn how to convert Excel files to PDF with PSPDFKit API using JavaScript.
Learn how to convert TIFF files to PDF with PSPDFKit API using Java.
Learn how to convert TIFF files to PDF with PSPDFKit API using JavaScript.
Learn how to duplicate a PDF page with PSPDFKit API using JavaScript.
Learn how to duplicate a PDF page with PSPDFKit API using PHP.
Learn how to duplicate a PDF page with PSPDFKit API using Python.
Learn how to flatten a PDF in Java with PSPDFKit API.
Learn how to flatten a PDF in JavaScript with PSPDFKit API.
Learn how to flatten a PDF in PHP with PSPDFKit API.
Learn how to flatten a PDF in Python with PSPDFKit API.
Learn how to split PDFs with PSPDFKit API using Java.
Learn how to split PDFs with PSPDFKit API using JavaScript.
Learn how to split PDFs with PSPDFKit API using PHP.
A step-by-step guide to how to build a Nuxt.js image viewer with PSPDFKit.
A quick tutorial that showcases how to use our powerful API.
A step-by-step guide to how to build a Nuxt.js PDF viewer with PSPDFKit.
This post shows how to use the PSPDFKit 8 for Android Electronic Signatures and Digital Signatures components to digitally stamp and sign a document.
How to build an ASP.NET image viewer with PSPDFKit for Web.
A tutorial explaining how to download and display a PDF document in Flutter using PSPDFKit.
How to build an ASP.NET PDF viewer with PSPDFKit for Web.
A step-by-step tutorial explaining how to build a PDFium image viewer with PSPDFKit.
This blog explains how to build a Next.js image viewer with PSPDFKit for Web.
How to build a TypeScript PDF viewer with PSPDFKit for Web.
A step-by-step tutorial explaining how to build a Laravel image viewer with PSPDFKit.
A step-by-step tutorial explaining how to build an HTML5 image viewer with the PSPDFKit image viewer.
A step-by-step guide to how to build a Vue.js image viewer with PSPDFKit.
A step-by-step tutorial explaining how to build a PHP image viewer with PSPDFKit.
How to build a Blazor image viewer with PSPDFKit for Web.
How to create a desktop PDF viewer using JavaScript and the PDF.js library.
How to build a Bootstrap 5 PDF viewer with PDF.js
How to build a jQuery PDF viewer with PDF.js and the PSPDFKit jQuery PDF viewer
This blog explains how to build a Next.js PDF viewer with PSPDFKit for Web.
This blog post describes how you can integrate PSPDFKit for iOS and a YubiKey to sign PDFs via NFC using an iPhone.
This blog explains how we can implement a PDF viewer with PDF.js inside any React application using Next.js as an example.
A step-by-step tutorial explaining how to build a Laravel PDF viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF reports from HTML in Java using PSPDFKit API.
A step-by-step guide to how to build a jQuery image viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF reports from HTML in PHP using PSPDFKit API.
A step-by-step tutorial explaining how to build a PHP PDF viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF reports from HTML in C# using PSPDFKit API.
How to build a Blazor PDF viewer with PSPDFKit for Web.
A step-by-step tutorial explaining how to generate PDF reports from HTML using PSPDFKit API.
How to build a Vue.js PDF viewer with PDF.js
A step-by-step tutorial explaining how to build an HTML5 PDF viewer with the PSPDFKit PDF viewer.
A step-by-step tutorial explaining how to generate PDF reports from HTML using PSPDFKit API.
A step-by-step guide on how to embed a PDF inside your website without using JavaScript.
A step-by-step tutorial explaining how to generate PDF certificates from HTML in Java using PSPDFKit API.
A step-by-step tutorial explaining how to generate PDF certificates from HTML in C# using PSPDFKit API.
How to build an Angular PDF viewer with ng2-pdf-viewer and PSPDFKit for Web.
A step-by-step tutorial explaining how to generate PDF certificates from HTML in PHP using PSPDFKit API.
How to build an Angular PDF viewer with ngx-extended-pdf-viewer and PSPDFKit for Web.
A step-by-step tutorial explaining how to build a JavaScript PDF viewer with PDF.js and PSPDFKit PDF viewer.
A step-by-step tutorial explaining how to generate PDF certificates from HTML using PSPDFKit API.
How to approach building a PDF editor with JavaScript using the pdf-lib library.
How to build a TypeScript PDF viewer with PDF.js and PSPDFKit for Web.
A step-by-step tutorial explaining how to generate PDF certificates from HTML using PSPDFKit API.
How to build a React.js PDF viewer with react-pdf and PSPDFKit for Web.
A step-by-step tutorial explaining how to generate PDF invoices from HTML in Java using PSPDFKit API.
A step-by-step tutorial explaining how to build a JavaScript image viewer with the PSPDFKit image viewer.
A step-by-step tutorial explaining how to generate PDF invoices from HTML in PHP using PSPDFKit API.
A step-by-step guide on how to build an Angular image viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF invoices from HTML in C# using PSPDFKit API.
A step-by-step guide on how to build a React.js image viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF invoices from HTML using PSPDFKit API.
A step-by-step tutorial explaining how to build a PDFium viewer with PSPDFKit PDF viewer.
A step-by-step tutorial explaining how to generate PDF invoices from HTML using PSPDFKit API.
A step-by-step guide to how to build a jQuery PDF viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF receipts from HTML in Java using PSPDFKit API.
How to open a PDF in a Jetpack Compose application.
A step-by-step guide to how to build a Vue.js PDF viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF receipts from HTML in C# using PSPDFKit API.
Using PSPDFKit to edit a PDF in .NET.
A step-by-step guide to how to build an Angular PDF viewer with PSPDFKit.
A step-by-step tutorial explaining how to generate PDF receipts from HTML in PHP using PSPDFKit API.
Due to the wide variety of web rendering engines, a task such as generating a bitmap image from text with a certain style can be trickier than expected. This blog post presents some aspects to consider.
A step-by-step guide to how to build a React.js PDF viewer with PSPDFKit.
See how PSPDFKit for Web can be used to programmatically edit PDF files in a browser.
A step-by-step tutorial explaining how to generate PDF receipts from HTML using PSPDFKit API.
A step-by-step tutorial explaining how to build a JavaScript PDF viewer with PSPDFKit PDF Viewer.
A video tutorial about how to open a PDF in React Native using the document browser.
A step-by-step tutorial explaining how to generate PDF receipts from HTML using PSPDFKit API.
This blog post shows how to create and fill out forms programmatically on Android.
This post shows how to add PDF support to your React Native app running on iOS and Android.
Learn how to prepare an invoice leveraging HTML's powerful layout capabilities.
A tutorial showing how PSPDFKit can be used to easily print a document using Java.
This post shows how to add PDF support to your Cordova app running on iOS and Android.
A step-by-step guide to implement an undo and redo history manager.
Find out how to create custom tickets like boarding passes and event e-tickets.
An introduction to PDF sound annotations.
We go through the steps required to implement private mode in PSPDFKit for Web using Collaboration Permissions.
A post that compares adding annotations in Apple's PDFKit and PSPDFKit.
This blog post explains the process of creating and filling PDF forms programmatically in Swift.
How to fork and modify the PSPDFKit Flutter PDF SDK for your own application.
Learn how to convert an image to PDF using PSPDFKit for Android and Kotlin.
This blog post will show you how to upload an image annotation in Vue.js, using adding a logo to a PDF as an example.
A tutorial that walks you through rendering a custom watermark on each page of a PDF with Next.js.
With iOS 14, Apple made it incredibly easy to integrate the document browser into SwiftUI-powered apps.
A tutorial about how to bridge native PSPDFKit iOS code to Flutter.
How digital signing and contained signatures on Android work.
A post showing how to use PSPDFKit for Android to perform OCR on scanned documents.
This blog post covers how to integrate OCR functionality in iOS, perform OCR, and leverage functionality such as extraction, selection, highlight, and search.
Learn the basics of working with JavaScript Form Elements in a PDF.
A guide on how to use OCR to redact text in a scanned document using the PSPDFKit .NET Library.
An introduction to combining the new OCR and Redaction features in the PSPDFKit Java Library to automatically redact text in a scanned document.
This blog post explains how to convert your PDF file to an image using Core Graphics, PDFKit, and PSPDFKit.
A detailed look at the different ways we can automate the redaction process.
Redacting PDF contents based on variable input data in PSPDFKit for Web.
How to customize the default Scribble experience to allow users to start writing anywhere.
Learn how you can leverage the redaction functionality of PSPDFKit for Android to effectively remove text patterns from documents.
This post is about the Gallery API in PSPDFKit for iOS that can be used to add interactive multimedia content to a PDF.
A look at how to generate a template we previously created using PSPDFKit Server.
A look into how we can leverage the concept of layers in PSPDFKit Server to create an invoice template.
Learn how to merge PDFs on Windows the simple way — with code examples, explanations, and extra features.
Learn how to put together all the components PSPDFKit provides to build a custom Annotation UI.
Learn how to split a PDF into two or more distinct PDFs.
This post describes how to use PSPDFKit for iOS and Core Image to perform facial redaction in PDF documents.
A look at how our Hide/Reveal Area example was implemented in PSPDFKit for Web.
This blog post talks in detail about the blur effect materials on iOS and the challenges we faced in picking the appropriate effect for our SDK.
See how Elixir and PSPDFKit Server are a perfect match for processing a large number of PDF files.
We explain how to create a signable PDF AcroForm with PSPDFKit and Adobe Acrobat.
Have you ever wanted to work with PDFs in ASP.NET? Find out how.
A short blog post about the difficulties of naming variables.
Learn how to fill out form fields in a PDF in Java.
PDF forms are an ideal way to collect information. Learn how to read and fill out forms programmatically in .NET.
How to write custom data validation logic with Elixir.
Learn how to merge multiple PDFs in Java (or Kotlin) the simple way — with code examples, explanations, and extra features.
Redacting PDF contents based on variable input data.
We have a lot of sensitive information in documents, and here's how can we get rid of it for good!
We provide a step-by-step explanation of how to insert an image into a PDF on Android.
A discussion about the basic concepts of SwiftUI from the point of view of a React developer
A discussion of the basic concepts of SwiftUI from the point of view of a React developer.
A video tutorial about how to bridge native iOS code to React Native.
Learn how to include attribution when sharing the contents of a PDF.
We cover some of the different ways to serve PDFs with Express.js
Enhance your GatsbyJS static generated site with the PDF viewing and annotating capabilities of PSPDFKit for Web.
Integrate PSPDFKit for Web from scratch in a Svelte application using Parcel.
A blog post describing how to persist the tabs state inside PdfActivity.
Learn how to merge PDFs in .NET the simple way — with code examples, explanations, and extra features.
How to add a PDF viewer to your Next.js app by embedding PSPDFKit for Web.
Taking advantage of native platform features to create a reusable component that can show a PDF.
This article explains how to render your PDF files to images using both Android's built-in PDF libraries and PSPDFKit.
How to add a watermark to a PDF on Android.
We'll take a look at two ways to merge PDF documents on Android.
A tutorial about how to expose native iOS APIs to Cordova.
This post will cover how you can add custom localization to PSPDFKit for Web.
How to add a watermark to a PDF on UWP.
We show how to customize the segmented controls in the document info coordinator.
An introduction to adding notes to your PDFs with PSPDFKit.
A tutorial about how to manipulate annotations programmatically in Cordova using Instant JSON and XFDF.
This blog post explains how to extend the link creation API in PSPDFKit to create JavaScript actions and build a simple tic-tac-toe PDF game.
We discuss the different strategies for saving and syncing annotations in external files on iOS.
We provide a step-by-step explanation of how to insert an image into a PDF using Swift.
This article looks at multiple factors used to determine the validity of a PDF.
This article presents existing free or open source libraries for opening PDF files in Android apps.
A short introduction to RxJS, highlighting the differences between traditional event-based JavaScript and the use of Observables.
We show how to draw on a PDF using an ink annotation in PDFKit.
How to add a watermark to a PDF on the web.
How to show a PDF using SwiftUI, Apple's PDFKit, and PSPDFKit for iOS.
A tutorial on how to add advanced PDF features to your Elm app using PSPDFKit for Web
A tutorial on how to open a PDF in Flutter.
How to merge multiple PDF files in Swift.
In this blog post, we’ll look at some simple solutions we use at PSPDFKit to make our modals more inclusive and accessible.
How to secure documents using PSPDFKit for iOS.
We demonstrate how to extract text from a PDF using Swift via PDFKit.
How to open and work with PDF documents from your ReasonML app.
A tutorial about how to expose native PSPDFKit for Windows APIs to React Native.
Learn how to use the PDFKit JavaScript SDK to generate invoices for your web app.
This article offers some tips for creating a PDF form so that the document is maintainable and performs well in PDF viewers.
How to get started with PSPDFKit for Flutter.
We explain how to watermark a PDF — both temporarily and permanently.
We explore react-pdf, a custom React renderer that can generate PDFs in the browser, on the server, and on mobile devices.
How to extract images from a PDF with Swift.
Generate PDFs in JavaScript using html2pdf and Puppeteer.
’We show you how to annotate a PDF with an image via PDFKit.’
We provide a step-by-step explanation of how to convert an image to a PDF.
How to display a PDF in your UWP app.
How to add a PDF viewer to your Angular app by embedding PSPDFKit for Web.
A tutorial about how to convert simple HTML to PDF using Swift.
An example of how to implement a minimal PDF viewer with Mozilla's PDF.js.
How to integrate PDF support into your Elm app.
How to create and customize a PDF in Swift using PDFKit.
How to convert a string with formatting to a PDF.
How to add a PDF viewer and annotator to your TypeScript app by embedding PSPDFKit for Web.
How to search and redact text using Swift and PSPDFKit for iOS.
Did you know that PDF Viewer offers everything you need for reviewing documents? In this article, you'll learn how you can use PSPDFKit's markup tools to make editing suggestions to the author of an article.
PDF supports JavaScript, and you can use this functionality to program small applications inside a document.
How to add a PDF viewer to your Vue.js app by embedding PSPDFKit for Web.
A complete step-by-step guide on how to install CocoaPods and integrate PSPDFKit.
We're exploring solutions to run native code in Electron and how WebAssembly can help us with this.
We show how a developer can use our PSPDFPageTemplate class to create custom PDF templates with iOS
An easy and free option to render PDF pages in your React app.
An outline of some of the more advanced techniques you can apply to React Native UI components on Android.
A tutorial about how to expose native iOS APIs to React Native.
How to generate on-device PDF reports without using an internet connection.
We look at the different ways of creating a PDF on Android.
We're taking a look at how to embed files using file annotations.
We'll look at how a simple Swift script and PSPDFKit for macOS can be used to export image assets for your website or app from a vector PDF graphic, using an iOS app icon as an example.
A quick overview of how to use PDF.js, created by Mozilla, to show PDFs on your webpage.
In this blog post, we show how easy it is to deploy our standalone, WebAssembly-powered version of PSPDFKit for Web to ZEIT’s now.sh, a cloud provider.
We look at the different ways of creating a PDF on iOS.
A tutorial on how to open a PDF in React Native.
We discuss a simple approach to loading PDF files in an HTML app without using JavaScript.
We look at how easy it is to theme PSPDFKit for Web to fit your web app’s style.
We discuss a simple approach for doing a public survey.
Tips and tricks for using vector-based stamp annotations.
A step-by-step tutorial on how to display and annotate PDF files inside your web app using the PSPDFKit JavaScript library.