> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/get-started.md).

# Get started

- [Get Started with WebViewer - Integrations, Frameworks, Samples](https://docs.apryse.com/web/get-started/readme.md): Discover the power of WebViewer, a top-tier JavaScript document library for lightning-fast and reliable document processing. Seamlessly integrate with any frameworks like React, Angular, Vue, and Next
- [React and WebViewer](https://docs.apryse.com/web/get-started/readme/react-and-webviewer.md): Learn how to integrate WebViewer into a React app.
- [How to integrate WebViewer into a JQuery PDF Viewer](https://docs.apryse.com/web/get-started/readme/jquery.md): Generate, view, edit PDF files with JQuery PDF viewer
- [Integrate WebViewer JavaScript PDF Viewer & Editor into a Cordova App](https://docs.apryse.com/web/get-started/readme/cordova.md): Learn how to integrate WebViewer Document Viewer & Editor into a Cordova app with this step-by-step guide. Download a sample on GitHub & get started easily. The Apryse Web SDK streamlines secure, serv
- [How to integrate WebViewer into a Outsystems PDF Viewer](https://docs.apryse.com/web/get-started/readme/outsystems.md): Integrate Outsystems pdf viewer for viewing, annotating, editing, and creating PDFs in Mendix. Process documents natively in Mendix without third-party applications.
- [Get started with WebViewer Video - Video Collaboration SDK](https://docs.apryse.com/web/get-started/readme/manually-video.md): Collaborate and review videos frame by frame with WebViewer video. Annotate, comment, and collaborate on specific frames. Learn how to get started with a free trial and access the source code. The Apr
- [How to integrate WebViewer into a Mendix PDF Viewer](https://docs.apryse.com/web/get-started/readme/mendix.md): Integrate mendix pdf viewer for viewing, annotating, editing, and creating PDFs in Mendix. Process documents natively in Mendix without third-party applications.
- [Learn More About WebViewer, the JavaScript PDF Viewer Library](https://docs.apryse.com/web/get-started/guides.md): Discover the essentials of WebViewer guides. Learn to annotate, view, and edit PDFs across all major browsers. Explore demos, samples, and more to kickstart your journey. The Apryse Web SDK streamline
- [Get file data without a viewer](https://docs.apryse.com/web/get-started/guides/get-file-data-without-viewer.md): Learn how to get file data without a viewer. Retrieve document data from a PDF using Document or PDFDoc objects using JavasScript. Opt for getFileData for easy control and safety over saveMemoryBuffer
- [Create rectangle annotation using JavaScript](https://docs.apryse.com/web/get-started/guides/create-annotation-rectangle.md): Learn how to create a rectangle annotation using JavaScript with this example. Explore how to generate various annotations easily. Start annotating now! The Apryse Web SDK streamlines secure, serverle
- [React PDF Editor Library](https://docs.apryse.com/web/get-started/guides/react.md): WebViewer is a pure client-side JavaScript editor library to view, annotate and edit documents. It is compatible with any JavaScript framework, including React.
- [Electron PDF SDK](https://docs.apryse.com/web/get-started/guides/electron.md): Discover the ultimate file type support with customizable features for Windows 7+, Linux, Ubuntu, Fedora, and Debian. Try it out with a free trial today! The Apryse Web SDK streamlines secure, serverl
- [Opening MS Office documents using JavaScript](https://docs.apryse.com/web/get-started/guides/open-office-document.md): Learn how to open MS Office documents using JavaScript by initializing the Office worker. Follow this snippet for a seamless process similar to creating a PDF document. The Apryse Web SDK streamlines
- [Applying page manipulations to PDFs directly in the client](https://docs.apryse.com/web/get-started/guides/page-manipulation.md): Enhance PDFs directly in the client with page manipulations using WebViewer. Rotate, crop, reorder, add, or delete pages seamlessly for visible changes in any PDF viewer. The Apryse Web SDK streamline
- [Angular PDF Library](https://docs.apryse.com/web/get-started/guides/angular.md): Unlock the power of customizable file type support and browser compatibility with a free trial. Try it now! The Apryse Web SDK streamlines secure, serverless document processing with robust support fo
- [Adding walkthrough or product tour in WebViewer](https://docs.apryse.com/web/get-started/guides/ui-customization-walkthrough.md): Enhance user experience with WebViewer Walkthrough. Learn how to create interactive product tours or tutorials seamlessly within WebViewer using step-by-step guidance. Optimize user engagement and nav
- [Svelte PDF library](https://docs.apryse.com/web/get-started/guides/svelte.md): Discover the benefits of customizable file type support, browser compatibility, and a free trial with our innovative software. Try it now! The Apryse Web SDK streamlines secure, serverless document pr
- [Create file attachment annotation using JavaScript](https://docs.apryse.com/web/get-started/guides/create-annotation-file-attachment.md): Learn how to create a file attachment annotation using JavaScript with this helpful snippet. Discover how to easily implement this feature and explore other annotation options. The Apryse Web SDK stre
- [Typescript PDF library](https://docs.apryse.com/web/get-started/guides/typescript.md): Discover WebViewer, a client-side JavaScript library for viewing, annotating, and editing documents. Compatible with any JavaScript framework, including TypeScript. Trusted by startups, governments, a
- [Create XOD document](https://docs.apryse.com/web/get-started/guides/lower-level-doc-create-xod.md): Create XOD documents easily with our guide. Learn how to efficiently generate XOD files using simple steps. Start creating XOD documents now! The Apryse Web SDK streamlines secure, serverless document
- [Creating Office documents using JavaScript](https://docs.apryse.com/web/get-started/guides/lower-level-doc-create-office.md): Create, view, and manipulate Office documents using JavaScript with ease. Learn how to work with DOCX, XLSX, and PPTX files directly in your browser with WebViewer. The Apryse Web SDK streamlines secu
- [Blazor PDF Library](https://docs.apryse.com/web/get-started/guides/blazor.md): Discover the benefits of customizable file type support, browser support, and a free trial with our innovative software in your Blazor app. Try it now!
- [Samples for PDF Viewing using JavaScript](https://docs.apryse.com/web/get-started/guides/viewer-samples.md): Discover how to view PDFs using JavaScript with these helpful samples. Learn how to load local/remote files, use WebViewer Server, handle XOD files, and optimize PDF viewing. Launch demos and explore
- [Migrating to v4](https://docs.apryse.com/web/get-started/guides/migrating-to-v4.md): Migrating to v4? Learn about the key changes: Case updates, jQuery removal, async annotations, default viewer switch, and more. Ensure a smooth transition with these essential insights. The Apryse Web
- [Create text highlighting annotations using JavaScript](https://docs.apryse.com/web/get-started/guides/create-annotation-highlight.md): Learn how to create text highlighting annotations using JavaScript with this example. Easily implement various types of annotations for your web projects. The Apryse Web SDK streamlines secure, server
- [Creating stamp annotations using JavaScript](https://docs.apryse.com/web/get-started/guides/create-annotation-stamp.md): Learn how to create stamp annotations using JavaScript. Stamp annotations can be easily generated from an image as a data URI. Utilize the ImageData key property to set your desired data URI value. St
- [Cordova PDF SDK](https://docs.apryse.com/web/get-started/guides/cordova.md): Enhance your Cordova project with Apryse's PDF library for seamless document viewing and editing solutions. Explore the benefits of integrating WebViewer for a consistent UI and extensive API support.
- [Vue.js PDF library](https://docs.apryse.com/web/get-started/guides/vue.md): WebViewer is a pure client-side JavaScript library to view, annotate and edit documents. It is compatible with any JavaScript framework, including Vue...
- [APIs for JavaScript PDF Viewer](https://docs.apryse.com/web/get-started/guides/viewer-apis.md): Enhance document viewing with APIs for JavaScript PDF Viewer. Annotate, view, and edit PDFs seamlessly in all major browsers using this pure JavaScript library. The Apryse Web SDK streamlines secure,
- [Creating PDF free text annotations using JavaScript](https://docs.apryse.com/web/get-started/guides/create-annotation-free-text.md): Create free text annotations in PDFs using JavaScript with this example. Learn how to add annotations easily using web. The Apryse Web SDK streamlines secure, serverless document processing with robus
- [JavaScript PDF Viewer Library](https://docs.apryse.com/web/get-started/guides/viewer.md): Discover the JavaScript PDF document viewer with advanced features like color separation, diffing, and streaming. Optimize your viewing experience offline and learn about transforming coordinates effi
- [Learn more about WebViewer](https://docs.apryse.com/web/get-started/guides/learn-more-overview.md): Discover the power of WebViewer for seamless document processing on web. View, annotate, and collaborate effortlessly with this versatile library. Embed it in your web app for a seamless user experien
- [Create PDF document using JavaScript](https://docs.apryse.com/web/get-started/guides/lower-level-doc-create-pdf.md): Generate PDF documents effortlessly with JavaScript by following these steps to initialize the PDF worker based on your browser's backend type. Start creating PDFs now! The Apryse Web SDK streamlines
- [Features](https://docs.apryse.com/web/get-started/guides/features.md)
- [PDF Generation Library using JavaScript](https://docs.apryse.com/web/get-started/guides/features/create.md): Create new documents easily with templates or blank PDFs. Learn how to generate from a template or start fresh with a blank document. Perfect for all your document needs. The Apryse Web SDK streamline
- [Generate a PDF page thumbnail using JavaScript](https://docs.apryse.com/web/get-started/guides/features/create/thumbnail.md): Learn how to create a PDF page thumbnail in various image formats like JPG, PNG, BMP, and TIFF. Convert PDF to images with code samples for PNG and JPEG. Explore more image format options like RAW, BM
- [JavaScript PDF Annotation Library](https://docs.apryse.com/web/get-started/guides/features/annotation.md): Learn how to import and export annotations, set style properties, add sticky notes, links, and stamps, and remove annotations from PDF documents. The Apryse Web SDK streamlines secure, serverless docu
- [Import annotations using JavaScript](https://docs.apryse.com/web/get-started/guides/features/annotation/import.md): Learn how to efficiently manage XFDF and FDF files with PDFNet APIs. Explore methods for replacing, adding, and merging annotations in PDF documents. Choose the best API for your specific use case. Th
- [Remove annotation from document using JavaScript](https://docs.apryse.com/web/get-started/guides/features/annotation/remove.md): Learn how to remove an annotation from a document with our step-by-step guide. Easily manage your files and annotations for a seamless experience. The Apryse Web SDK streamlines secure, serverless doc
- [Add text annotation to a document using JavaScript](https://docs.apryse.com/web/get-started/guides/features/annotation/text-annotation.md): Learn how to add a sticky note (text annotation) to a PDF document and edit PDF annotations with this full code sample. Add hyperlinks, stamps, text, and more! The Apryse Web SDK streamlines secure, s
- [Add link annotation to a document using JavaScript](https://docs.apryse.com/web/get-started/guides/features/annotation/link-annotation.md): Learn how to add hyperlinks or annotations to PDF documents with this full code sample. Enhance your PDFs with various annotations like hyperlinks, stamps, and more. The Apryse Web SDK streamlines sec
- [Export annotations using JavaScript](https://docs.apryse.com/web/get-started/guides/features/annotation/export.md): Extract data from PDF to FDF, export FDF as XFDF, and fill PDF forms with ease using our sample code. Learn about FDF merge/extract functionality and full support for Forms Data Format (FDF). The Apry
- [Edit annotation style properties using JavaScript](https://docs.apryse.com/web/get-started/guides/features/annotation/style.md): Learn how to add or edit PDF annotations with this comprehensive code sample. Set annotation style properties like color, border style, and more. Perfect for enhancing your PDF documents. The Apryse W
- [Forms](https://docs.apryse.com/web/get-started/guides/features/forms.md)
- [Filling PDF form fields using JavaScript](https://docs.apryse.com/web/get-started/guides/features/forms/fill-fields.md): We show how to fill PDF form fields using JavaScript. Guide includes sample code.
- [Extract FDF data from a PDF using JavaScript](https://docs.apryse.com/web/get-started/guides/features/forms/export-data.md): Learn how to extract data from PDF to FDF, export FDF as XFDF, and fill PDF forms with ease. Get full sample code for FDF merge/extract functionality and comprehensive support for Forms Data Format (F
- [Merge Form Data File (FDF or XFDF) to PDF Forms using JavaScript](https://docs.apryse.com/web/get-started/guides/features/forms/import-data.md): Learn how to efficiently import XFDF or FDF annotations into PDF documents using FDFUpdate, FDFMerge, and MergeXFDF APIs. Choose the best method for your use case and optimize your workflow. The Aprys
- [Search](https://docs.apryse.com/web/get-started/guides/features/search.md)
- [Code samples for searching PDF text or images using JavaScript](https://docs.apryse.com/web/get-started/guides/features/search/samples.md): Search PDF files for text using regular expressions with TextSearch. Replace text and images in existing PDFs with ContentReplacer. Learn how to enhance your PDF search capabilities. The Apryse Web SD
- [APIs for searching PDF documents using JavaScript](https://docs.apryse.com/web/get-started/guides/features/search/apis.md): Discover utility classes for searching PDF documents using Web (Javascript) PDFNet.TextSearch and PDFNet.ContentReplacer. Optimize your PDF search capabilities now! The Apryse Web SDK streamlines secu
- [Search for text in a PDF using JavaScript](https://docs.apryse.com/web/get-started/guides/features/search/text-search.md): Learn how to search for text in a PDF using regular expressions and apply link annotations on highlighted results. Full code sample included! The Apryse Web SDK streamlines secure, serverless document
- [Portfolio](https://docs.apryse.com/web/get-started/guides/features/portfolio.md)
- [Sample to create PDF packages using JavaScript](https://docs.apryse.com/web/get-started/guides/features/portfolio/samples.md): Learn how to create, extract, and manipulate PDF Packages (portfolios) with this sample. Enhance your PDF skills now! The Apryse Web SDK streamlines secure, serverless document processing with robust
- [APIs for creating PDF packages using JavaScript](https://docs.apryse.com/web/get-started/guides/features/portfolio/apis.md): Discover utility classes for portfolios with PDF documents using Web (Javascript) PDFNet.PDFDoc. Enhance your PDF handling capabilities now! The Apryse Web SDK streamlines secure, serverless document
- [Manipulation](https://docs.apryse.com/web/get-started/guides/features/manipulation.md)
- [How to merge or insert PDF pages using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/merge.md): Learn how to merge, insert, copy, rearrange, or delete pdf pages using Python
- [Removing pages from PDFs using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/remove.md): Guide to merge, copy, delete, and rearrange PDF pages in JavaScript.
- [Rotate PDF pages using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/rotate.md): Learn how to rotate pages in a PDF document with ease. Discover how to rotate pages clockwise by 90 degrees for better viewing and printing. Find out more about Page.GetRotation() and Page.SetRotation
- [Split PDF pages using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/split.md): Learn how to split a PDF document into multiple pages and perform various operations like merging, copying, deleting, and rearranging PDF pages with code examples. Master the ImportPages() function. T
- [Cropping PDF pages using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/crop.md): Learn how to crop a page in a PDF document with this guide. Understand the importance of the crop box and how to set it using Page.SetCropBox(). Master PDF editing now! The Apryse Web SDK streamlines
- [Create a blank document page using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/create.md): Learn how to create a new 8.5x11 blank page in a PDF document and add it at the end of the page sequence. Follow step-by-step instructions for optimal results! The Apryse Web SDK streamlines secure, s
- [Reordering pages in a PDF document using JavaScript](https://docs.apryse.com/web/get-started/guides/features/manipulation/reorder.md): Learn how to reorder pages in a PDF document by reversing their order. Easily rearrange, sort, merge, copy, delete, and rearrange PDF pages with code samples. The Apryse Web SDK streamlines secure, se
- [Security](https://docs.apryse.com/web/get-started/guides/features/security.md)
- [Apryse Custom Security Handler using JavaScript](https://docs.apryse.com/web/get-started/guides/features/security/custom-handler.md): Protect your files with Apryse Custom Security Handler for DRM use cases. Learn how to encrypt and decrypt documents with this built-in SDK feature. The Apryse Web SDK streamlines secure, serverless d
- [Extraction](https://docs.apryse.com/web/get-started/guides/features/extraction.md)
- [Extracting text from a PDF using JavaScript](https://docs.apryse.com/web/get-started/guides/features/extraction/text-extract.md): We show how to extract text from a PDF in JavaScript
- [Basics](https://docs.apryse.com/web/get-started/guides/features/basics.md)
- [Lock a PDF document using JavaScript](https://docs.apryse.com/web/get-started/guides/features/basics/lock.md): Learn how to efficiently manage PDF document instances across multiple threads with Apryse SDK locking mechanisms. Improve performance and enable parallel applications. The Apryse Web SDK streamlines
- [Open a PDF using JavaScript](https://docs.apryse.com/web/get-started/guides/features/basics/open.md): Learn how to open a PDF document from a memory buffer with full source code examples. Explore the PDFDoc constructor and best practices for handling PDF documents efficiently. The Apryse Web SDK strea
- [Access PDF content to read, write & edit using JavaScript](https://docs.apryse.com/web/get-started/guides/features/basics/page-content.md): Learn how to access PDF page content with the ElementReader API. Explore code samples and powerful features of Apryse SDK for efficient content extraction and dynamic PDF generation. The Apryse Web SD
- [Access PDF pages to add, copy, delete or rearrange using JavaScript](https://docs.apryse.com/web/get-started/guides/features/basics/pages.md): Learn how to efficiently manage PDF pages with code samples for copying, deleting, and rearranging pages. Explore methods like ImportPages() for seamless operations. The Apryse Web SDK streamlines sec
- [Serialization / Saving PDFs using JavaScript](https://docs.apryse.com/web/get-started/guides/features/basics/save.md): Learn how to efficiently serialize PDF documents with Apryse SDK. Benefit from incremental save, linearization, and support for compressed object streams. Serialize to memory, stream, or disk with eas
- [Redaction](https://docs.apryse.com/web/get-started/guides/features/redaction.md)
- [Redact a PDF document using JavaScript](https://docs.apryse.com/web/get-started/guides/features/redaction/redact.md): Learn how to redact content from a PDF document using Apryse SDK API. Remove sensitive information securely with pdftron.PDF.Redactor. Control the style of redaction overlay for added security. The Ap
- [Bookmark](https://docs.apryse.com/web/get-started/guides/features/bookmark.md)
- [Code samples to edit PDF bookmarks using JavaScript](https://docs.apryse.com/web/get-started/guides/features/bookmark/samples.md): Discover how to read, add, and edit PDF outlines and bookmarks with this high-level API sample code. Enhance your document management skills today! The Apryse Web SDK streamlines secure, serverless do
- [Apryse Web SDK Samples: View, Annotate, Edit, and More](https://docs.apryse.com/web/get-started/guides/samples.md)
- [Advanced JavaScript samples](https://docs.apryse.com/web/get-started/guides/samples/signatures.md): Discover how Sign App Demonstrates building a signing application where users can request signatures, place fields, sign documents, and review signed documents. Simplify your document signing process
- [Samples to customize PDF viewer UI with JavaScript](https://docs.apryse.com/web/get-started/guides/samples/customization.md): Learn how to customize form fields by changing color and opacity. Discover internationalization techniques to switch languages on your website. The Apryse Web SDK streamlines secure, serverless docume
- [Samples to view documents using JavaScript](https://docs.apryse.com/web/get-started/guides/samples/viewing.md): Learn how to call the WebViewer constructor to load and instantiate documents, whether local or remote. Explore different viewing options with WebViewer Server, Custom Server (XOD), and compare optimi
- [Full API samples for WebViewer](https://docs.apryse.com/web/get-started/guides/samples/full-apis.md): Learn how to customize document save/download, select elements in a PDF, perform complex editing, preprocess documents, compare PDFs, and more with PDFNetJS samples. The Apryse Web SDK streamlines sec
- [Project integration samples](https://docs.apryse.com/web/get-started/guides/samples/project-integration.md): Explore Github repositories showcasing how to integrate WebViewer into React, Angular, Vue, NuxtJS, Svelte, Electron, and Salesforce Lightning Web Component projects.
- [Samples to customize PDF Forms with JavaScript](https://docs.apryse.com/web/get-started/guides/samples/forms.md): Discover how to add form fields to a PDF with this Form Builder Demo. Learn to customize signatures, text fields, and checkboxes. Change color and opacity easily. The Apryse Web SDK streamlines secure
- [PDF manipulation samples in JavaScript](https://docs.apryse.com/web/get-started/guides/samples/pdf-manipulation.md): Learn how to use thumbnail controls, perform page operations, assemble documents from multiple viewers, separate layers, and colors for enhanced document manipulation. Ideal for client-side PDF and Of
- [Annotation code samples in JavaScript](https://docs.apryse.com/web/get-started/guides/samples/annotation.md): Discover how to manage users and permissions, annotate HTML web pages, and enable real-time collaboration using Node.js and Firebase backends. Learn about custom annotations in this comprehensive guid
- [Textdiff](https://docs.apryse.com/web/get-started/guides/textdiff.md)
- [Semantic Compare using JavaScript](https://docs.apryse.com/web/get-started/guides/textdiff/textdiff.md): Compare PDF documents easily with Apryse's semantic comparison feature. Highlight textual differences between two versions with colored annotations. Learn more about this efficient tool for document c
- [WVS](https://docs.apryse.com/web/get-started/guides/wvs.md)
- [Changing the HTTP data directory](https://docs.apryse.com/web/get-started/guides/wvs/changing-the-http-data-directory.md): Learn how to configure WebViewer Server to write cache to a networked drive on Windows. Follow step-by-step instructions for setting up a static\_data directory and ensuring proper permissions for seam
- [Changelog](https://docs.apryse.com/web/get-started/guides/changelog.md)
- [Build a JavaScript PDF viewer with Apryse WebViewer SDK and npm](https://docs.apryse.com/web/get-started/npm.md): Get started with the Apryse WebViewer SDK. Install a Java PDF viewer in a vanilla JavaScript app using Node Package Manager (npm) without a bundler, then render your first document in the WebViewer UI
- [Build a JavaScript PDF viewer with Apryse WebViewer SDK using a manual setup](https://docs.apryse.com/web/get-started/manually.md): Get started with the Apryse WebViewer SDK. Download and manually install a PDF viewer and editor in a vanilla JavaScript app without using a package manager, then render your first document in the Web
- [Build UI-free document processing workflows with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/without-viewer.md): Use the Apryse WebViewer SDK to process, convert, and edit PDFs without the WebViewer UI. Build headless, programmatic workflows for data extraction, page operations, and document automation.
- [Libraries and Frameworks](https://docs.apryse.com/web/get-started/libraries-and-frameworks.md)
- [Build a React PDF viewer with Apryse WebViewer SDK and Vite](https://docs.apryse.com/web/get-started/libraries-and-frameworks/react.md): Create a React (Vite) PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your React apps and render PDFs in the viewer UI.
- [Build an Angular PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/angular.md): Create an Angular PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your Svelte apps and render PDFs in the viewer UI.
- [Build a Vue PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/vue.md): Create a Vue PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your Vue.js apps and render PDFs in the viewer UI.
- [Build a Next.js PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/nextjs.md): Create a Next.js PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your Next.js app and render PDFs in the viewer UI.
- [Build a Nuxt PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/nuxt.md): Create a Nuxt PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your NuxtJS apps and render PDFs in the viewer UI.
- [Build an Electron PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/electron.md): Create an Electron PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your Electron app and render PDFs in the viewer UI.
- [Build a Svelte PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/svelte.md): Create a Svelte PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your Svelte apps and render PDFs in the viewer UI.
- [Build a Vite PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/vite.md): Create a Vite-powered PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your React, Vanilla, Vue, or Svelte apps and render PDFs in the viewer UI.
- [Build a Blazor PDF viewer with Apryse WebViewer SDK](https://docs.apryse.com/web/get-started/libraries-and-frameworks/blazor.md): Create a Blazor PDF viewer and editor with Apryse WebViewer. Learn how to integrate the SDK into your Blazor app and render PDFs in the viewer UI.
- [Compatible JavaScript Frameworks for PDF Viewer](https://docs.apryse.com/web/get-started/libraries-and-frameworks/frameworks.md): Learn how to integrate WebViewer into any JavaScript framework with ease. Follow three simple steps: Importing, Instantiating, and Calling APIs. Start using WebViewer today! The Apryse Web SDK streaml
- [Integrations](https://docs.apryse.com/web/get-started/integrations.md)
- [Mendix](https://docs.apryse.com/web/get-started/integrations/mendix.md)
- [Mendix WebViewer](https://docs.apryse.com/web/get-started/integrations/mendix/mendix.md): Enhance your Mendix environment with the WebViewer Widget - a powerful tool for document processing. Get started with a free trial and easily install it through the Mendix Marketplace. Access PDF, DOC
- [Install Apryse WebViewer in Mendix](https://docs.apryse.com/web/get-started/integrations/mendix/install.md): Learn how to install the WebViewer Component in Mendix with this comprehensive guide. Get a free trial, remove watermarks, and deploy to production. Follow step-by-step instructions for a seamless set
- [Open PDF and MS Office Files in Mendix](https://docs.apryse.com/web/get-started/integrations/mendix/open.md): Learn how to prepopulate attributes and pass them to a custom widget in Mendix. Follow the guide to add custom attributes and refactor components for seamless integration. Optimize your workflow with
- [Save Annotations in Mendix](https://docs.apryse.com/web/get-started/integrations/mendix/save.md): Learn how to add an annotation attribute to a custom widget in Mendix Studio. Follow the step-by-step guide and optimize your web viewer for seamless user experience. Don't miss out on this essential
- [How to integrate WebViewer into a Outsystems PDF Viewer](https://docs.apryse.com/web/get-started/integrations/outsystems.md): Integrate Outsystems pdf viewer for viewing, annotating, editing, and creating PDFs in Mendix. Process documents natively in Mendix without third-party applications.
- [SharePoint](https://docs.apryse.com/web/get-started/integrations/sharepoint.md)
- [SharePoint PDF library](https://docs.apryse.com/web/get-started/integrations/sharepoint/sharepoint.md): Discover the benefits of customizable file type support, browser compatibility, and a free trial with our innovative software solution. Try it now! The Apryse Web SDK streamlines secure, serverless do
- [Integrate Apryse WebViewer into Sharepoint](https://docs.apryse.com/web/get-started/integrations/sharepoint/get-started.md): Integrate Apryse WebViewer with Sharepoint for pdf viewing, annotating, editing, and creating PDFs.
- [Integrating WebViewer, SharePoint Online, and PowerApps to create a Digital Signature Workflow](https://docs.apryse.com/web/get-started/integrations/sharepoint/sharepoint-signing-flow.md): Integrate a free trial of WebViewer into SharePoint Online as a web part with this comprehensive guide. Get step-by-step instructions, unlimited trial usage, and support from solution engineers. Prere
- [File Handler App with Graph APIs](https://docs.apryse.com/web/get-started/integrations/sharepoint/file-handler-app-with-graph-apis.md): Integrate sharepoint pdf viewer for viewing, annotating, editing, and creating PDFs in Mendix. Process documents natively in Mendix without third-party applications.
- [Integrating Microsoft Teams with WebViewer](https://docs.apryse.com/web/get-started/integrations/microsoft-teams.md): Learn how to integrate Apryse's WebViewer with Microsoft Teams as a Teams App. Get started with PDFs, Annotations, and more for seamless collaboration. Follow the step-by-step guide here! The Apryse W
- [Using WebViewer with Typescript](https://docs.apryse.com/web/get-started/typescript.md): Learn how to integrate WebViewer Document Viewer & Editor into a React app with this step-by-step guide. Watch a video tutorial, download a sample, and get TypeScript declaration files for seamless de
- [Copying WebViewer Static Assets](https://docs.apryse.com/web/get-started/copy-assets.md)
- [Get a WebViewer trial key](https://docs.apryse.com/web/get-started/trial-key.md): Unlock your Apryse trial key and experience the power of AI-driven analytics. Sign up now for a free trial and elevate your decision-making process. The Apryse Web SDK streamlines secure, serverless d
- [Download WebViewer's JavaScript PDF Library](https://docs.apryse.com/web/get-started/download.md): The following page lists the available downloads for our utilities and supported platforms. For new users, we have guides to help you get started quickly.
- [Samples](https://docs.apryse.com/web/get-started/samples.md)
- [Custom Annotations Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-custom-annotations.md): Draw custom annotations choosing from multiple animated annotations, color, opacity, and stroke thickness
- [Save and Load Annotations with ASP.NET](https://docs.apryse.com/web/get-started/samples/webviewer-annotations-aspnet.md): Save and load annotations to disk using XFDF and HTTP messaging
- [Save and Load Annotations with SQLite3 and XFDF, JavaScript](https://docs.apryse.com/web/get-started/samples/webviewer-annotations-sqlite3.md): Save and load annotations to a server-side database using SQLite3 and XFDF.  Sample code for WebViewer provided in JavaScript
- [Integrate WebViewer into a Flutter App to Enable Cross-Platform Document Viewing](https://docs.apryse.com/web/get-started/samples/webviewer-flutter.md): Integrating Apryse WebViewer into a Flutter web project.
- [Merge Documents and Reorganize Pages Using a Drop Zone](https://docs.apryse.com/web/get-started/samples/webviewer-document-merge.md): Merge and rearrange pages from multiple documents using a drop zone. Note that this is only enabled for client-side PDF and Office documents.  Sample is using React and Apryse WebViewer.
- [Vector-Quality Custom Annotations](https://docs.apryse.com/web/get-started/samples/webviewer-react-canvastopdf.md): Sample to integrate Apryse WebViewer in React and create vector-quality custom annotations
- [View, Edit, Annotate, and Redact Attachments in SalesForce](https://docs.apryse.com/web/get-started/samples/webviewer-salesforce-attachments.md): How to View, Edit, Annotate and Redact Salesforce Record Attachment Files in a Lightning Web Component.
- [Implement WebViewer in Salesforce as a Lightning Web Component](https://docs.apryse.com/web/get-started/samples/webviewer-salesforce.md): Integrating Apryse WebViewer in Salesforce as a Lightning Web Component. Note that Salesforce static resources have file size limitation to 5MB, to safely upload to the Salesforce platform.
- [Saving and Loading XFDF Annotations in Node.js](https://docs.apryse.com/web/get-started/samples/webviewer-annotations-nodejs.md): Save and load XFDF annotations using files and Node.js backend.
- [Integrate WebViewer into a WinForms Project](https://docs.apryse.com/web/get-started/samples/webviewer-winforms.md): This sample integrates WebViewer into a WinForms project using Microsoft Edge's WebView2 control
- [Modular UI Customization Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-modular-ui-customization.md): Customize the viewer UI through modular components defined in JSON.
- [Toolbar Customization Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-toolbar-customization.md): Customize UI elements in the viewer's toolbar, buttons, or menus. Change their colors or use your own icons.
- [CAD Viewer Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-cad-viewer.md): Easily create a visualization tool for AutoCAD's DWG and DXF files. View, edit, and annotate those files as PDF files from the browser.
- [Password Protection Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-password-protect.md): Open encrypted, password-protected PDFs using the correct password, and create new ones with built-in support for 128-bit or 256-bit AES encryption.
- [CAD Title Block Data Extraction Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demos-title-block-extraction.md): Extract key-value data pairs from PDF format CAD drawings with well-formed title blocks.
- [Redaction Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-redaction.md): Quickly search and redact sensitive text within documents — all handled securely on the client side. Redaction is performed entirely within your private network, ensuring sensitive data never leaves y
- [Save and Load PDF Annotations with Node.js](https://docs.apryse.com/web/get-started/samples/webviewer-annotations-document.md): Save and load annotations using files and Node.js backend.
- [Integrate WebViewer into Blazor](https://docs.apryse.com/web/get-started/samples/webviewer-blazor.md): This sample integrates WebViewer into a Blazor Project.
- [Enable Barcode Scanning and Writing with React](https://docs.apryse.com/web/get-started/samples/webviewer-barcode.md): Sample project to implement a WebViewer into React for generating barcodes, stamping them onto a PDF and then reading them after they have been flattened
- [Custom UI Enhancements to WebViewer with React](https://docs.apryse.com/web/get-started/samples/webviewer-custom-ui.md): Sample that demonstrates several features to customize WebViewer into a React app that renders without \<iFrame>, \<button> elements for expanded functions, and on leveraging search APIs.
- [Integrate WebViewer into Electron Project](https://docs.apryse.com/web/get-started/samples/webviewer-electron.md): This sample integrates WebViewer into an Electron project
- [Integrate WebViewer into Blazor WASM](https://docs.apryse.com/web/get-started/samples/webviewer-blazor-wasm.md): This sample integrates WebViewer into a Blazor WebAssembly Project
- [Generate DOCX from a Blob with WebViewer](https://docs.apryse.com/web/get-started/samples/webviewer-generate-docx.md): This JavaScript sample creates DOCX documents and displays them in WebViewer.  Does not require other software.
- [Integrate WebViewer into a Mendix Web Module](https://docs.apryse.com/web/get-started/samples/webviewer-mendix-module.md): This sample provides a server side Mendix Web Module for WebViewer.
- [Using SQLite3 to Enable Collaboration](https://docs.apryse.com/web/get-started/samples/webviewer-realtime-collaboration-sqlite3.md): This sample shows how to construct a collaboration server for WebViewer through WebSocket, SQLite3, and Node.js.
- [Integrate WebViewer into a Power Apps Component](https://docs.apryse.com/web/get-started/samples/webviewer-powerapps-component.md): This sample shows how to integrate WebViewer into a Power Apps component project.
- [Integrate WebViewer with Angular](https://docs.apryse.com/web/get-started/samples/webviewer-angular.md): This sample shows how to integrate WebViewer into an Angular project.
- [Implement WebViewer in a TypeScript Project](https://docs.apryse.com/web/get-started/samples/webviewer-typescript.md): WebViewer API in a TypeScript project to create a WebViewer component and call methods from the docViewer and annotManager objects in the instance.
- [Integrate WebViewer into a Vue.js Project](https://docs.apryse.com/web/get-started/samples/webviewer-vue.md): WebViewer is defined in a Vue component and added to the project.  The component is able to view, annotate, and manipulate PDFs and other documents.
- [Integrate WebViewer into a Next.js 14 Project](https://docs.apryse.com/web/get-started/samples/webviewer-nextjs-14.md): The sample also demonstrates how to programmatically add a rectangle annotation with user-defined dimensions in WebViewer.
- [Integrate WebViewer into Tomcat JavaServer Pages (JSP)](https://docs.apryse.com/web/get-started/samples/webviewer-tomcat-java.md): This sample adds WebViewer as a Web Application that is hosted on a Tomcat Servlet
- [Annotations Permissions Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-annotation-permissions.md): Enable customization of user permissions to interact with annotations in the PDF file, completely client-side with three different levels of permissions: administrator, user, and read-only.
- [Spreadsheet Editor Showcase Demo Sample Code](https://docs.apryse.com/web/get-started/samples/showcase-demo-spreadsheet-editor.md): Enable loading, viewing, and editing XLSX files directly in your browser.
- [PDF Viewer Mobile Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-viewer-mobile.md): Quickly enable PDF document viewing dimensions on mobile devices using our code sample.
- [Color Separation Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-color-separation.md): Manipulate colors in PDF documents, view or hide — all on the client side.
- [Secure Digital Signatures Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-digital-signatures.md): Add digital signatures using cryptographic certificates to create secure PDFs.
- [Add Bookmarks to PDFs Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-add-personal-bookmark-pdf.md): Add bookmarks to quickly return to specific pages within your PDF document.
- [Add and Edit Watermark Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-add-watermark.md): Add and edit watermarking on PDF documents. Watermark text is displayed as an overlay text on top of the original document.
- [Right-to-Left Language Support Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-rtl-language-support.md): Load right-to-left language PDFs and Office documents and interact with them directly in your browser, without server-side dependencies
- [Large Files Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-large-files.md): Display large PDF files in a browser or mobile app quickly and reliably.
- [PDF Text Extractor Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-text-extractor.md): Extract text from PDFs—either from entire pages or just the highlighted sections.
- [Invoice Generation Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-invoice-generation.md): Generate invoices using loops, denoted by {{loop var}} and {{endloop}} clauses. Loops are used to repeat content in a document and fill in unique data for each repetition - especially when building ta
- [Edit Table of Contents in a PDF Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-edit-table-of-contents-in-a-pdf.md): Create accessible navigation with document outlines or table of contents. Add new outlines or edit them.
- [Document Classification Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demos-document-classification.md): Analize a document and produce a JSON report to identify the document type. Supports multi page documents.
- [Online Flipbook Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-online-flipbook.md): Add page-turning flipbook animation experience to online content
- [PDF Page Manipulation API Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-page-manipulation-api.md): Perform page manipulation, including split, merge, append, replicate, reorder, and more.
- [Flatten Form Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-flatten-form.md): Annotate and form flatten PDFs to permanently merge annotations and fields with page content.   Use form flattening by adding annotations and fields, then merging them into a PDF.
- [Office to PDF - Showcase Demo](https://docs.apryse.com/web/get-started/samples/showcase-demo-office-to-pdf.md): Easily convert MS Office documents to PDF, completely client-side.  You can convert from the following formats: DOC, DOCX, DOCM, DOTX, DOTM, DOT, XLSX, XLSM, XLT, XLS, PPTX, PPT, PPTM, PPS, POT.  This
- [Document Assembly Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-document-assembly.md): Assemble PDF documents by dragging and dropping thumbnail pages between document viewers. This code relates to our showcase demo for documentation assembly.
- [Image to PDF Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-image-to-pdf.md): Easily convert image formats to PDF, completely client-side.
- [PDF to Image Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-to-image.md): Convert PDFs to images like JPG or PNG.
- [XFDF Annotations in PDF Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-xfdf-annotations-in-pdf.md): Import and export PDF annotations with the XFDF format. This code relates to the XFDF annotation page in our showcase demo.
- [Compare Files Showcase Demo Sample Code](https://docs.apryse.com/web/get-started/samples/showcase-demo-compare-files.md): Easily compare two files by converting them to images and laying them on top of each other for a pixel-by-pixel comparison.
- [Field Detection Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-field-detection.md): Form field detection and classification in a flat PDF using AI
- [Document Collaboration Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-document-collaboration.md): Add real-time document collaboration into your application, with synchronized user permissions, annotations, comments, and status updates
- [Portfolio Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-portfolio.md): Add support for PDF Portfolios (also known as PDF Packages), allowing users to view and edit each embedded file in its own dynamically generated tab.
- [Integrate WebViewer into a jQuery Content Delivery Network (CDN)](https://docs.apryse.com/web/get-started/samples/webviewer-jquery.md): Using a Vanilla JavaScript app, WebViewer is instantiated in an app.js application. The component is able to view, annotate, and manipulate PDFs and other documents.
- [Implement WebViewer Cross-Origin Resource Sharing - CORS](https://docs.apryse.com/web/get-started/samples/webviewer-cors.md): Loading WebViewer's lib from a different domain using CORS.
- [Implement WebViewer using Vanilla JavaScript](https://docs.apryse.com/web/get-started/samples/webviewer-js.md): Sample project to implement WebViewer in a Vanilla JavaScript
- [Integrate WebViewer into React](https://docs.apryse.com/web/get-started/samples/webviewer-react.md): Sample project to implement WebViewer into a React project
- [Integrate WebViewer into Microsoft Teams](https://docs.apryse.com/web/get-started/samples/webviewer-microsoft-teams.md): WebViewer implementation on a Microsoft Teams project
- [Integrate WebViewer into Nuxt 2](https://docs.apryse.com/web/get-started/samples/webviewer-nuxtjs.md): Sample project integrating WebViewer with Nuxt 2
- [Annotations in WebViewer with PHP backend](https://docs.apryse.com/web/get-started/samples/webviewer-annotations-php.md): Sample project that implements WebViewer into a PHP backend development environment.
- [Enable Bookmark Saving and Loading with Node.js and WebViewer](https://docs.apryse.com/web/get-started/samples/webviewer-user-bookmarks-nodejs.md): Sample WebViewer project with a Node.js backend that enables save/load user bookmarks.
- [Implement WebViewer Offline Using Service Worker and localforage](https://docs.apryse.com/web/get-started/samples/webviewer-offline.md): Sample to implement WebViewer offline using service worker and localforage.
- [Integrate WebViewer into Mendix](https://docs.apryse.com/web/get-started/samples/webviewer-mendix.md): Sample of WebViewer integration into a Mendix low-code app.
- [Enhanced Server-Side Search Functionality](https://docs.apryse.com/web/get-started/samples/webviewer-server-side-search.md): Sample project to integrate WebViewer with Node.js enabling server-side searches.
- [Integrate WebViewer into a Svelte Project](https://docs.apryse.com/web/get-started/samples/webviewer-svelte.md): This sample adds WebViewer into a Svelte component for use in a Svelte project
- [PDF Stamps Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-stamps.md): Add stamps to your documents. The viewer includes several sample stamps, and you can also create custom ones using text or images.
- [PDF Forms Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-forms.md): Use a JSON file with field values to programmatically populate and extract data from editable PDF forms.
- [Side-by-Side Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-side-by-side.md): View and compare PDFs, Office documents, and images with a side-by-side layout.
- [Create Thumbnail Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-create-thumbnail.md): Easily create high resolution thumbnail images from selected document pages.
- [PDF Search Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-search.md): Add search capability to PDFs using configurable string searches
- [OCR Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-ocr-module.md): Sample code will help you generate searchable PDFs from scanned documents or images using OCR with Apryse Server SDK, and view with WebViewer.
- [Key-Value Extraction Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demos-key-value-extraction.md): Extract key-value pairs from PDFs, convert them into JSON, and display annotations that highlight each paired element
- [Validate PDF/A - Showcase Demo](https://docs.apryse.com/web/get-started/samples/showcase-demo-validate-pdfa.md): Validate a PDF/A for long term storage by checking whether it meets the ISO19005 standard. Use the showcase demo related to this code sample.
- [PDF Layers Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-layers.md): See how to programmatically add PDF layer separation capabilities (Optional Content Groups). This code relates to our related showcase demo.
- [Semantic Text Compare Showcase Demo Sample Code](https://docs.apryse.com/web/get-started/samples/showcase-demo-semantic-text-compare.md): Use the code sample to compare changes in semantic categories, such as headers, paragraphs, and numbers. The code sample is related to our showcase semantic compare demo.
- [PDF Editing Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-editing.md): Edit text and images to customize a PDF. This is the code for our PDF editing showcase demo.
- [PDF Form Build Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdf-form-build.md): Create PDF field form data using JavaScript.
- [Viewing Office Docs with WebViewer](https://docs.apryse.com/web/get-started/samples/viewing.md): View & display a PDF, Office document with WebViewer (no servers or other external dependencies required) in a browser using JavaScript. Fast & reliable document viewing for 30+ file types across web,
- [Viewing with WebViewer Server](https://docs.apryse.com/web/get-started/samples/viewing-with-webviewer-server.md): Shows how to call WebViewer constructor to instantiate and load document using WebViewer with WebViewer Server. You can upload local files or load files that are publicly accessible.
- [Viewing with Custom Server (XOD)](https://docs.apryse.com/web/get-started/samples/viewing-with-custom-server.md): Learn how to load XOD files, which are generated from a custom server.
- [Viewer optimized PDFs](https://docs.apryse.com/web/get-started/samples/fast-viewing.md): See a side-by-side comparison of a PDF viewer rendering an unoptimized PDF vs an optimized PDF using this JavaScript sample. Optimized PDFs render in viewers faster, giving users access to even large
- [Users and permissions](https://docs.apryse.com/web/get-started/samples/users-and-permissions.md): JavaScript sample to define user permissions in PDF Viewer. Define how users interact with documents, limit to read only or enable adding / deleting annotations
- [Realtime collaboration - Firebase](https://docs.apryse.com/web/get-started/samples/realtime-collaboration.md): Enable real-time collaboration on PDF documents using JavaScript. Highlight text, circle objects, make notes & respond to comments directly in the browser.
- [Custom annotations](https://docs.apryse.com/web/get-started/samples/custom-annotations.md): Use JavaScript to create custom annotations in PDF viewer. Create custom annotations from scratch or update one of our 26 pre-built annotations.
- [Customizing UI - WebViewer](https://docs.apryse.com/web/get-started/samples/ui.md): JavaScript to customize PDF viewer toolbar, menu & UI. Modifying header, turn on feature sets or hide annotation icons. Import your own colors & custom icons
- [Switch Toolbar Language - Internationalization](https://docs.apryse.com/web/get-started/samples/internationalization.md): JavaScript sample to change the language displayed in the toolbar of a PDF Viewer. In this example toggle between English, French & Chinese Simplified
- [Form Builder - add fields](https://docs.apryse.com/web/get-started/samples/form-builder.md): Add fillable form fields to a PDF, DOCX, XLSX, PPTX or scanned image in a web browser using JavaScript (no servers or other external dependencies required)
- [Customize Form Fields - Sample Code](https://docs.apryse.com/web/get-started/samples/form-fields.md): Use JavaScript to change the color and opacity of PDF form fields. Highlight required fields or draw attention to important fields in your PDF forms.
- [Thumbnail controls](https://docs.apryse.com/web/get-started/samples/thumbnail-controls.md): Manipulate PDF with WebViewer thumbnail controls. You can rotate, add, move, delete, merge, and export PDF pages directly in the browser.
- [Page operations](https://docs.apryse.com/web/get-started/samples/page-operations.md): Manipulate PDF with JavaScript library. You can crop, rotate, add, move, merge and export PDF pages directly in the browser.
- [Layer Separation for PDF - Sample code](https://docs.apryse.com/web/get-started/samples/layer-separation.md): Identify & separate layers in a PDF using JavaScript. Show or hide layers in a PDF by toggling them on / off directly their web browser.
- [Color Separation in PDF - Sample Code](https://docs.apryse.com/web/get-started/samples/color-separation.md): Here is a sample showcasing how to extract color from pdf using JavaScript. Run the sample with Apryse SDK free trial.
- [Text and Image Editing - Sample Code](https://docs.apryse.com/web/get-started/samples/content-edit.md): Edit PDF text and images using this JavaScript sample (client-side, no servers or other external dependencies required). This sample allows text and images to be edited, moved and deleted from a PDF.T
- [Office template filling](https://docs.apryse.com/web/get-started/samples/template-fill.md): Fill MS Office templates using this JavaScript sample (no servers or other external dependencies required). This sample identifies and shows users the exact area where text has changed in documents.
- [Preloading WebViewer and Documents](https://docs.apryse.com/web/get-started/samples/preloading.md): Preload PDFs, DOCX, XSLX, PPTX, images and more in a PDF viewer using this JavaScript sample (no servers or other external dependencies required). Preloading documents in a PDF Viewer gives users near
- [Text Position, Search and Highlight Sample Code](https://docs.apryse.com/web/get-started/samples/text-position.md): JavaScript to search & highlight text in PDF documents. Search for a string of text & set to case-sensitive. Found words are highlighted throughout the PDF.
- [Redact Documents](https://docs.apryse.com/web/get-started/samples/redaction-viewer.md): Redact sensitive information programatically or using UI with redact pdf in JavaScript.
- [Office to PDF Sample Code](https://docs.apryse.com/web/get-started/samples/office-to-pdf-test.md): Sample JavaScript code for using Apryse SDK to convert Office documents to PDF (including DOCX, PPTX, XLSX) without needing any external dependencies or MS Office licenses.
- [Compare documents by image, pixels](https://docs.apryse.com/web/get-started/samples/diff.md): Compare documents as images directly in a web browser using JavaScript with Apryse WebViewer.
- [Measurement annotations](https://docs.apryse.com/web/get-started/samples/measurement-viewer.md): Calculate area & measure distance in PDFs with JavaScript. Convert & measure CAD files in the browser. Customize the scale of your measurement
- [Create a JavaScript PDF Viewer Flipbook and Page Flip Effect](https://docs.apryse.com/web/get-started/samples/flipbook.md): Convert your PDF to a Flipbook using JavaScript by extracting the canvas of each page & utilize the turn.js library to render them in a web browser.
- [Text to Speech - Accessibility](https://docs.apryse.com/web/get-started/samples/accessibility.md): Text to speech accessibility feature for the visually impaired
- [Customize a PDF before Saving - Sample Code](https://docs.apryse.com/web/get-started/samples/viewercustomsavetest.md): JavaScript sample that lets you customize or inject information into a PDF document before saving or downloading. Add stamps or watermarks before downloading
- [Select Elements and PDF Path Points Sample Code](https://docs.apryse.com/web/get-started/samples/viewerdisplaypointstest.md): JavaScript sample to select elements in a PDF by extracting PDF path points. Click elements in a PDF to see its bounding box & path outline.
- [Complex Document Editing](https://docs.apryse.com/web/get-started/samples/vieweredittest.md): WebViewer gives you a chance to create and edit DOCX file without installing MS-Office server or any third-party platform. See the sample for editing DOCX file in WebViewer
- [Preprocess document before viewing](https://docs.apryse.com/web/get-started/samples/viewerpreprocesstest.md): JavaScript to modify or preprocess a PDF, DOCX, XLSX, PPTX before displaying in browser. Fix corrupt content or add a watermark before displaying your documents
- [PDF Comparison by image - ViewerPDFDiff](https://docs.apryse.com/web/get-started/samples/viewerpdfdifftest.md): Here is compare pdf js samples showcasing how to compare pdf, DOCX files or images using. Track the changes that have been made in documents using JS.
- [Snap To Nearest Point Sample Code](https://docs.apryse.com/web/get-started/samples/viewersnaptonearesttest.md): Automatically detect & snap-to nearest control point in PDF using JavaScript. Make measuring distances between two points in a drawing more intuitive for users
- [Validate Digital Signature - Sample Code](https://docs.apryse.com/web/get-started/samples/viewerdigitalsignaturevalidationtest.md): View digital signature validation information in PDFs using JavaScript. Makes it easy to see the whether a signature is valid when viewing a PDF.
- [Reader Mode Sample Code](https://docs.apryse.com/web/get-started/samples/readermodetest.md): JavaScript sample that lets you open documents in reader mode for easier reading.
- [Add Image to PDF - Sample Code](https://docs.apryse.com/web/get-started/samples/addimagetest.md): Sample JavaScript code to use Apryse SDK for inserting various raster image formats (e.g. TIFF, JPEG, JPEG2000, JBIG2, GIF, PNG, BMP, etc.) into a PDF document.
- [Annotation: Add and Edit in PDFs](https://docs.apryse.com/web/get-started/samples/annotationtest.md): Sample JavaScript code to use Apryse SDK to add or edit PDF annotations. Link, stamp, file attachment, sound, text, free-text, line, circle, square, polygon, polyline, highlight, squiggly, caret, ink
- [Bookmarks & Outlines - Sample Code](https://docs.apryse.com/web/get-started/samples/bookmarktest.md): Sample JavaScript code to use Apryse SDK for programmatically reading and editing existing outline items, and for creating new PDF bookmarks using the high-level API.
- [Replace Text, Image, and String - Sample Code](https://docs.apryse.com/web/get-started/samples/contentreplacertest.md): Sample JavaScript code to use Apryse SDK for searching and replacing text strings and images inside existing PDF files (e.g. business cards and other PDF templates). Unlike PDF forms, the ContentRepla
- [Digital Signature and Certification](https://docs.apryse.com/web/get-started/samples/digitalsignaturestest.md): Sample JavaScript code to use Apryse SDK's high-level digital signature API for digitally signing and/or certifying PDF files.
- [Element Builder - Embed Fonts, Images](https://docs.apryse.com/web/get-started/samples/elementbuildertest.md): Sample JavaScript code to use Apryse SDK's page writing API to generate new pages, embed fonts & images, and copy graphical elements from one page to another.
- [Edit PDF Elements - Sample Code](https://docs.apryse.com/web/get-started/samples/elementedittest.md): The sample code shows how to edit the page display list and how to modify graphics state attributes on existing PDF Elements using Apryse WebViewer in JavaScript. In particular the sample program stri
- [Element Reader - Sample Code](https://docs.apryse.com/web/get-started/samples/elementreadertest.md): Sample JavaScript code for using WebViewer, Apryse Web SDK, to traverse the page display list using ElementReader.
- [Encrypt and Decrypt Files](https://docs.apryse.com/web/get-started/samples/enctest.md): Learn how to encrypt and decrypt PDF files in Apryse SDK.  It includes samples to encrypt and decrypt PDFs using JavaScript client-side with WebViewer.
- [XFDF - Forms Data Format (FDF) Import - Sample Code](https://docs.apryse.com/web/get-started/samples/fdftest.md): Sample JavaScript code for using WebViewer, Apryse Web SDK, to programmatically merge forms data with the PDF in order to fill forms, or to extract form field data from the PDF. Apryse SDK has full su
- [Interactive Forms - Sample Code for JavaScript](https://docs.apryse.com/web/get-started/samples/interactiveformstest.md): Sample JavaScript code for using WebViewer, Apryse Web SDK, with interactive forms (also known as AcroForms). Capabilities include programatically creating new fields and widget annotations, form fill
- [Logical Structure Reader - PDF Sample Code](https://docs.apryse.com/web/get-started/samples/logicalstructuretest.md): Sample JavaScript code for using WebViewer, Apryse Web SDK, to explore the logical structure and content of a tagged PDF file, then dumps the information to the console window. In tagged PDF files, St
- [PDF/A - Validate and Convert](https://docs.apryse.com/web/get-started/samples/pdfatest.md): Convert PDF to PDF/A format using JavaScript. All you need is full API enabled in WebViewer to validare pdf/a js. it supports all versions of PDF/A
- [Render PDF image](https://docs.apryse.com/web/get-started/samples/pdfdrawtest.md): Learn to convert pdf to image format using WebViewer or programatically using code without WebViewer UI
- [Layers (OCG) Manipulation - Sample Code](https://docs.apryse.com/web/get-started/samples/pdflayerstest.md): Sample JavaScript code to use Apryse SDK for creating and manipulating PDF layers (also known as Optional Content Groups - OCGs). These samples demonstrate how to create and extract layers, as well as
- [Merge, copy, delete, rearrange PDF pages](https://docs.apryse.com/web/get-started/samples/pdfpagetest.md): Sample JavaScript code for using Apryse SDK to copy pages from one document to another, delete and rearrange pages, and use ImportPages() method for very efficient copy and merge operations.
- [Redact document](https://docs.apryse.com/web/get-started/samples/pdfredacttest.md): Sample JavaScript code for using Apryse SDK to remove potentially sensitive content within PDF documents. Using 'pdftron.PDF.Redactor' makes sure that if a portion of an image, text, or vector graphic
- [Media Box Manipulation - Sample code](https://docs.apryse.com/web/get-started/samples/recttest.md): Sample JavaScript code for using Apryse SDK to change a page's MediaBox using Rect class.
- [Extract SDF Document From PDF](https://docs.apryse.com/web/get-started/samples/sdftest.md): Sample JavaScript code to edit an existing PDF document at the object level by using the Apryse SDK Cos/SDF low-level API.
- [Stamper - Stamp Text & Image Annotations](https://docs.apryse.com/web/get-started/samples/stampertest.md): Sample JavaScript code for using Apryse SDK to programmatically stamp PDF pages with text, images, or with other PDF pages.
- [Text Extraction](https://docs.apryse.com/web/get-started/samples/textextracttest.md): Sample JavaScript code for using WebViewer, Apryse Web SDK to read a PDF (parse and extract text).
- [Text Search with Regular Expression Sample Code](https://docs.apryse.com/web/get-started/samples/textsearchtest.md): Sample JavaScript code for using Apryse SDK to search text on PDF pages using regular expressions. The TextSearch utility class builds on functionality available in TextExtractor to simplify most comm
- [Convert - WebViewerConvert](https://docs.apryse.com/web/get-started/samples/webviewerconverttest.md): These samples shows how to integrate PDFNet WebViewer into any HTML5, Silverlight, or Flash web application. The sample is using 'pdftron.PDF.Convert.ToXod()' to convert/stream PDF, XPS, MS Office, RT
- [Optimizer to Compress PDF Files](https://docs.apryse.com/web/get-started/samples/optimizertest.md): This guide will walk you thorugh how to compress PDF file using JavaScript. WebViewer makes it easy to reduce images, Unembed fonts, Remove unused objects with JavaScript
- [Conditional Content for Document Generation Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-complex-generation.md): Generate complex documents using conditionals denoted by {{ifcond}} and {{endif}} clauses.
- [Accessible Reading Order Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-accessible-reading-order.md): Easily load accessible PDF and PDF/UA documents and interact with them via screen reader directly in your browse, without server-side dependencies.
- [WebViewer Dark Mode Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-webviewer-dark-mode.md): Learn how to add a Dark/Light mode toggle in WebViewer.
- [Office Template Fill Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-office-template-fill.md): Securely merge JSON data with MS Word, PowerPoint and Excel templates directly in the browser - no server required. You can fill PDF templates using text or images.
- [Extract Document Structure Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-document-structure-extraction.md): Easily analyze the top two pages and produce a JSON that describes the PDF's structure.
- [Extract Images from PDF Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-extract-images-from-pdf.md): Add PDF image extraction capability to the viewer. This code is related to the showcase demo for PDF image extraction.
- [Office Documents Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-office-documents.md): Sample code for MS Office document support in WebViewer, a JavaScript-based PDF SDK for web apps. 100+ pre-built features from viewing to collaborating, document manipulation, redaction and more.  Cli
- [PDF/A Conversion - Showcase Demo](https://docs.apryse.com/web/get-started/samples/showcase-demo-pdfa-conversion.md): Generate PDF/A compliant documents from PDFs.
- [Language Switcher Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-language-switcher.md): Add language localization capabilities to the viewer by switching currently supported languages or adding your own.  Follows the Language Switcher demo found in Showcase.
- [Office Editor Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-office-editor.md): Edit DOCX files directly in your browser without server-side dependencies or MS Office installations. View the showcase demo related to the code samples.
- [Multi-Tab Support Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-multi-tab-support.md): Launch and manage multiple documents concurrently across multiple tabs using our code sample for the Apryse WebViewer SDK.
- [Measurement Tools Showcase Demo Code Sample](https://docs.apryse.com/web/get-started/samples/showcase-demo-measurement-tools.md): Easily calculate area dimensions, measure between lines, or trace perimeters in engineering drawings in browser or app.
- [FAQ](https://docs.apryse.com/web/get-started/faq.md)
- [Why do I see watermark when I enter a valid license key?](https://docs.apryse.com/web/get-started/faq/license-watermark.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Form Widget Tab Ordering](https://docs.apryse.com/web/get-started/faq/widget-tab-ordering.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Sharing WebViewer instance across components](https://docs.apryse.com/web/get-started/faq/react-global-instance.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [What are the size limits for PDF files?](https://docs.apryse.com/web/get-started/faq/pdf-file-size-limits.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Printing doesn't work in Chrome 77 with client rendering](https://docs.apryse.com/web/get-started/faq/chrome-77-printing.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [CORS support](https://docs.apryse.com/web/get-started/faq/cors-support.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why does a custom Stamp annotation lose its appearance after being resized?](https://docs.apryse.com/web/get-started/faq/custom-stamp-appearance.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [MIME types](https://docs.apryse.com/web/get-started/faq/mime-types.md): If you see a 404 for files on your server but you're very sure that the files are there then you may need to set MIME types for certain file extensions used by WebViewer.
- [How to enable inline commenting feature and right-click annotation menu](https://docs.apryse.com/web/get-started/faq/enable-inline-comment.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to load a TIFF file in WebViewer?](https://docs.apryse.com/web/get-started/faq/load-tiff.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [My custom header element is not rendering when using a polyfill (IE)](https://docs.apryse.com/web/get-started/faq/custom-elements-with-polyfill.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Open cordova or ionic links in external browser](https://docs.apryse.com/web/get-started/faq/cordova-links-external-browser.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Where can I find code snippets for WebViewer 5.0 or earlier?](https://docs.apryse.com/web/get-started/faq/webviewer-5.0-snippets.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Best practices for handling the re-rendering of Custom Elements](https://docs.apryse.com/web/get-started/faq/webviewer-custom-elements.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop WebViewer UI React Custom Elements
- [Disable localStorage usage](https://docs.apryse.com/web/get-started/faq/localstorage.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Add a License Key to WebViewer](https://docs.apryse.com/web/get-started/faq/add-license.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [WebViewer is loading in an infinite loop](https://docs.apryse.com/web/get-started/faq/infinite-loading-loop.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why does my office file only have 1 page in documentLoaded?](https://docs.apryse.com/web/get-started/faq/office-file-page-count.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to extract XML from a XFA PDF form?](https://docs.apryse.com/web/get-started/faq/extract-xml-from-xfa.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [React Hooks Error](https://docs.apryse.com/web/get-started/faq/react-hooks-error.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Configure WebAssembly Threads in WebViewer](https://docs.apryse.com/web/get-started/faq/wasm-threads.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to revert to old annotation selection styling (version 7.2 and earlier)](https://docs.apryse.com/web/get-started/faq/revert-selection-styling.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why does my XFDF not get imported into WebViewer?](https://docs.apryse.com/web/get-started/faq/annotation-xfdf-import.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [ASP.NET or Blazor Integration Issues](https://docs.apryse.com/web/get-started/faq/blazor-integration-issues.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [What type of server can WebViewer be hosted on?](https://docs.apryse.com/web/get-started/faq/webviewer-on-static-server.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to use WebViewer with IE11?](https://docs.apryse.com/web/get-started/faq/webviewer-with-ie11.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [What is external converter?](https://docs.apryse.com/web/get-started/faq/external-converter.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [PNaCl modules can only be used on the open web](https://docs.apryse.com/web/get-started/faq/pnacl-modules.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Transpiling Javascript](https://docs.apryse.com/web/get-started/faq/transpiling-javascript.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why can’t I edit outlines in WebViewer when using WebViewer Server?](https://docs.apryse.com/web/get-started/faq/outlines-webviewer-server.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Finding Your WebViewer Version Number](https://docs.apryse.com/web/get-started/faq/version-number.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to use WebViewer with IE9 and IE10?](https://docs.apryse.com/web/get-started/faq/webviewer-with-ie9.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [DOMNodeInserted Warnings](https://docs.apryse.com/web/get-started/faq/domnodeinserted-warning.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Is it necessary to close a document before loading another one?](https://docs.apryse.com/web/get-started/faq/close-a-document.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why does WebViewer give a warning about Content-Encoding when loading from my server?](https://docs.apryse.com/web/get-started/faq/content-encoding.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How do I use WebViewer with React strict mode?](https://docs.apryse.com/web/get-started/faq/react-strict-mode.md)
- [Enable File Attachment List](https://docs.apryse.com/web/get-started/faq/file-attachment-list.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to upgrade to the new WebViewer version?](https://docs.apryse.com/web/get-started/faq/upgrading-webviewer.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- ["npx: not found" errors when trying to install the dependencies](https://docs.apryse.com/web/get-started/faq/npx-not-found.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why is the viewer showing "Network Failure"?](https://docs.apryse.com/web/get-started/faq/viewer-showing-network-failure.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why do my PDF colors look different in WebViewer?](https://docs.apryse.com/web/get-started/faq/pdf-color-different.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [FreeHandAnnotation creation delay](https://docs.apryse.com/web/get-started/faq/pdf-color-different/freehand-creation-delay.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why does font visually change when switching tabs in multi-tab mode?](https://docs.apryse.com/web/get-started/faq/font-multitab.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Does the Apryse SDK support XFA/LifeCycle PDF forms?](https://docs.apryse.com/web/get-started/faq/xfa-lifecycle-support.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Why is the full screen button hidden (disabled) on iOS devices](https://docs.apryse.com/web/get-started/faq/full-screen-button-disabled-on-iphone.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Where can I find WebViewer nightly builds?](https://docs.apryse.com/web/get-started/faq/webviewer-nightly-build.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to load updated WebViewer files without clearing cache?](https://docs.apryse.com/web/get-started/faq/load-webviewer-files-no-cache.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Self-Serve Substitute Fonts in WebViewer](https://docs.apryse.com/web/get-started/faq/self-serve-substitute-fonts.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Use a Content Security Policy (CSP) with WebViewer](https://docs.apryse.com/web/get-started/faq/content-security-policy.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Troubleshoot WebViewer Loading Errors](https://docs.apryse.com/web/get-started/faq/loading-errors.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [WVS Install Issues](https://docs.apryse.com/web/get-started/faq/wvs-install-issues.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [2.4.0 Migration Guide](https://docs.apryse.com/web/get-started/faq/2-4-0-migration-guide.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Manual Load Balancing with HAProxy](https://docs.apryse.com/web/get-started/faq/load_balancing.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Changing the HTTP data directory](https://docs.apryse.com/web/get-started/faq/changing-the-http-data-directory.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Retrieving Information about your Container](https://docs.apryse.com/web/get-started/faq/container-information.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Supporting XRefs](https://docs.apryse.com/web/get-started/faq/supporting-xrefs.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [What is the BCID?](https://docs.apryse.com/web/get-started/faq/what-is-the-bcid.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Modifying WebViewer Server](https://docs.apryse.com/web/get-started/faq/modifying-wvs.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Adding a License to WebViewer Server](https://docs.apryse.com/web/get-started/faq/add-license-1.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Mounting a docker data volume](https://docs.apryse.com/web/get-started/faq/mounting-docker-data-volume.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [What is WebViewer Server?](https://docs.apryse.com/web/get-started/faq/what-is-wvs.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Slow loading](https://docs.apryse.com/web/get-started/faq/slow-loading.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [How to save and load a custom property on an annotation?](https://docs.apryse.com/web/get-started/faq/save-load-custom-props.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Separate opacity for fill and stroke](https://docs.apryse.com/web/get-started/faq/separate-opacity-for-fill-and-stroke.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Angular project WebViewer integration issues](https://docs.apryse.com/web/get-started/faq/angular-integration-issues.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop
- [Add video license key](https://docs.apryse.com/web/get-started/faq/add-license-video.md): World's #1 PDF SDK Library for Web, Mobile, Server, Desktop


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/web/get-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
