Samples are not runnable from the file system. Please run using "npm start" or use a local web server.

# Full API samples

## Viewer samples

#### ViewerCustomSave

This sample demonstrates how to customize document save/download. In the example annotations are flattened before saving.
Launch Demo View Source Code

#### ViewerDisplayPoints

This sample demonstrates how to use PDFNetJS to select elements in a PDF document. Click on an element in the PDF and it will show the element's bounding box and an outline if it is a PDF path.
Launch Demo View Source Code

#### ViewerEdit

This sample illustrates how PDFNetJS can be used to perform complex editing on PDF documents as they are displayed in the WebViewer. Open a PDF of your choice and press the refresh button at the top right to change all text to blue and all images to red.
Launch Demo View Source Code

#### ViewerFormBuilder

This sample demonstrates how to add form fields to a PDF. Fields are first added as annotations and then converted to interactive form fields.
Launch Demo View Source Code

#### ViewerRedact

This sample illustrates how PDFNetJS can be used to redact elements on PDF documents as they are displayed in the WebViewer. Open a PDF of your choice and drag-select regions on the PDF document to redact.
Launch Demo View Source Code

#### ViewerPreprocess

This sample illustrates how PDFNetJS can be used to preprocess a document before displaying it with WebViewer.
Launch Demo View Source Code

#### ViewerPDFDiffTest

This sample illustrates how PDFNetJS can be used to compare two PDF documents and show their difference in WebViewer.
Launch Demo View Source Code

#### ViewerSnapToNearestTest

This sample illustrates how to use the snap API for calculating the nearest snap point.
Launch Demo View Source Code

#### deck.js

This sample illustrates how PDFNetJS can be used to power deck.js slideshows in the same way WebViewer does using PDFNet rasterizing functions.
Launch Demo

## Console samples

#### AddImage

This sample illustrates how to embed various raster image formats (e.g. TIFF, JPEG, JPEG2000, JBIG2, GIF, PNG, BMP, etc.) in a PDF document.
Launch Demo View Source Code

#### Annotation

Shows how to add a text annotation to an existing page and how to create link annotations between several pages.
Launch Demo View Source Code

#### Bookmark

The sample code illustrates how to read and edit existing outline items and create new bookmarks using the high-level API.
Launch Demo View Source Code

#### ContentReplacer

The sample demonstrates replacement of objects such as images, text and strings within a document.
Launch Demo View Source Code

#### DigitalSignature

Demonstrates how to digitally sign a PDF and also how to certify a PDF doc.
Launch Demo View Source Code

#### ElementBuilder

Illustrates how to use PDFNet page writing API, how to embed fonts and images and how to copy graphical elements from one page to another.
Launch Demo View Source Code

#### ElementEdit

The sample code shows how to edit the page display list and how to modify graphics state attributes on existing Elements. In particular the sample program strips all images from the page and changes text color to blue.
Launch Demo View Source Code

#### ElementReader

Illustrates how to traverse page display list using ElementReader.
Launch Demo View Source Code

#### Encryption

Demonstrates how to encrypt and decrypt files by adding or removing passwords.
Launch Demo View Source Code

#### XFDF Import

PDFNet includes full support for FDF (Forms Data Format) and the capability to merge/extract forms data (FDF) with/from PDF. The sample illustrates basic XFDF merge functionality available in PDFNet.
Launch Demo View Source Code

#### InteractiveForms

Illustrates how to create and edit interactive forms (check boxes and text boxes).
Launch Demo View Source Code

#### LogicalStructure

This sample illustrates how to traverse the structure and content of a tagged PDF document.
Launch Demo View Source Code

#### OfficeToPDF

This sample illustrates how to convert office files to PDF using PDFNetJS.
Launch Demo View Source Code

#### PDFA

This sample demonstrates PDFA verification and conversion.
Launch Demo View Source Code

#### PDFDraw

This sample illustrates how to use the built-in rasterizer in order to render PDF images on the fly and how to save resulting images in PNG and JPEG format.
Launch Demo View Source Code

#### PDFLayers

This sample demonstrates how to create PDF layers (also known as Optional Content Groups - OCGs). The sample also shows how to extract and render PDF layers.
Launch Demo View Source Code

#### PDFPage

The sample illustrates how to copy pages from one document to another, how to delete, and re-arrange pages and how to use ImportPages() method for very efficient copy and merge operations.
Launch Demo View Source Code

#### PDFRedaction

The sample illustrates how to create Redaction objects and use PDFNetJS's redact function to remove and overlay PDF document content.
Launch Demo View Source Code

#### PDFRect

The sample illustrates how to translate a PDF image by extracting and manipulating the image's media box.
Launch Demo View Source Code

#### SDFTest

The sample illustrates how to extract an SDF document from a PDF document and change some of its values.
Launch Demo View Source Code

#### Stamper

The sample code illustrates how to stamp text and images onto various pages in a PDF document.
Launch Demo View Source Code

#### TextExtraction

The sample demonstrates how to extract information from text boxes such as their position, font, size, color and of course the text itself.
Launch Demo View Source Code

#### TextSearch

The sample demonstrates how to search using strings and regular expressions in a PDF document and how to set search mode and parameters.
Launch Demo View Source Code

#### WebViewerConvert

The sample is using `pdftron.PDF.Convert.ToXod()` to convert/stream PDF, XPS, MS Office, RTF, HTML and other document formats to WebViewer.
Launch Demo View Source Code