# About Nutrient Nutrient delivers the tools to build intelligent document-centric applications and workflows. Nutrient’s document SDKs, cloud services, integrations for M365 and Salesforce, and workflow automation platform transform how modern businesses automate, secure, and scale document-centric processes. The company powers thousands of organizations worldwide, including more than 15 percent of Global 500 brands, thousands of commercial businesses across 80 nations, and more than 130 public sector organizations in 24 countries. Backed by Insight Partners and based in Raleigh, NC, Nutrient operates additional offices in England, France, and Austria. Nutrient is on a mission to transform how humans work with documents, with a technology stack that integrates the industry-leading document and workflow automation technology from PSPDFKit, ORPALIS, Aquaforest, Muhimbi, and Integrify. Learn more at https://www.nutrient.io/. ## Product suite Nutrient’s interconnected product lines include: 1. **SDKs** — Developer-first, cross-platform development kits for embedding PDF functionality into native and hybrid applications (Web, iOS, Android, React Native, Flutter, and many more). Key capabilities: Viewing, rendering, annotations, real-time collaboration, form handling, digital/electronic signatures, editing, redaction, OCR, and AI-powered features. 2. **Document Engine** — A self-hosted PDF server for processing documents and powering server-side automation workflows. It operates standalone or as a backend for the SDKs for enhanced performance and collaboration. 3. **Document Web Services (DWS)** — Fully managed, SOC 2 Type 2 audited cloud APIs for high-scale document viewing and processing. Includes the DWS Viewer API (for cloud-based rendering) and DWS Processor API (30+ action-based APIs for generation, conversion, watermarking, merging, and much more). 4. **Workflow Automation platform** — A no-code/low-code SaaS platform to automate business processes centered around documents, forms, and approvals. Features include a process builder, form designer, approval routing, and intelligent document processing with AI. 5. **Low-Code integrations (M365 and Salesforce)** — Advanced document functionality embedded directly into platforms such as Microsoft 365 (SharePoint, Power Automate) and Salesforce. Capabilities include conversion, OCR, watermarking, PDF form handling, and native generation/editing, without requiring plugins or custom code. ## Key differentiators - **Full document lifecycle** — End-to-end capabilities in one platform. - **Developer flexibility** — Clean APIs, extensive customization, and deployment flexibility (cloud, self-hosted, air-gapped). - **AI-native** — Intelligence is embedded across all products for agentic workflows and document intelligence. - **Enterprise trust** — SOC 2 Type 2 audited and WCAG compliant, deployed in regulated industries. ## Primary use cases - Embedding rich PDF viewers and annotation tools in apps. - Building in-app eSigning and approval workflows. - Automating document generation and form processing/data extraction. - Enterprise-scale content management and compliance. - Redacting sensitive information at scale. ## Nutrient Web SDK Nutrient Web SDK is a comprehensive JavaScript library for embedding advanced PDF and document functionality into web applications. Key capabilities include: - Document viewing with high-fidelity rendering - Annotation tools (such as highlight, note, ink, and shapes) - Form handling (view, fill, create, and extract data) - Digital signature integration - Redaction for sensitive information - Page manipulation (crop, rotate, reorder, merge, split) - Real-time collaboration and commenting - Support for Microsoft Office and image formats - AI-powered features such as summarization and redaction It can run completely client-side in the browser, or it can be paired with Document Engine to offload document storing, rendering, and editing to the server — enabling enhanced performance, real-time collaboration, and advanced features such as OCR and Instant synchronization. ## API reference API documentation is available at https://www.nutrient.io/api/web/. ## Documentation directory [Getting started with Web SDK](https://www.nutrient.io/sdk/web/getting-started/): Get started with Web SDK. Choose a framework to get started, or explore the use cases. [Add PDF functionality with Next.js](https://www.nutrient.io/sdk/web/getting-started/nextjs/): Learn how to integrate Nutrient Web SDK into your Next.js application. Complete guide with troubleshooting for App Router, TypeScript support, and common integration issues. [Add PDF functionality with Angular](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/angular/): Learn how to integrate Nutrient Web SDK into your Angular application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with ASP.NET](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/aspnet/): Learn how to integrate Nutrient Web SDK into your ASP.NET application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Blazor](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/blazor/): Learn how to integrate Nutrient Web SDK into your Blazor application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Electron](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/electron/): Learn how to integrate Nutrient Web SDK into your Electron application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Flutter](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/flutter/): Learn how to integrate Nutrient Web SDK into your Flutter application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with JavaScript + Vite](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/javascript/): Learn how to integrate Nutrient Web SDK into your JavaScript application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with jQuery](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/jquery/): Learn how to integrate Nutrient Web SDK into your jQuery application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Laravel](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/laravel/): Learn how to integrate Nutrient Web SDK into your Laravel application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Nuxt](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/nuxt/): Learn how to integrate Nutrient Web SDK into your Nuxt application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with PHP](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/php/): Learn how to integrate Nutrient Web SDK into your PHP application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with PWA](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/pwa/): Learn how to integrate Nutrient Web SDK into your PWA application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Svelte](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/svelte/): Learn how to integrate Nutrient Web SDK into your Svelte application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with Vue](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/vue/): Learn how to integrate Nutrient Web SDK into your Vue application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with React + Vite](https://www.nutrient.io/sdk/web/getting-started/react-vite/): Learn how to integrate Nutrient Web SDK into your React application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Add PDF functionality with TypeScript](https://www.nutrient.io/sdk/web/getting-started/typescript/): Learn how to integrate Nutrient Web SDK into your TypeScript application. Step-by-step guide for adding PDF viewing, editing, and annotation features. [Vibe code with Nutrient Web SDK](https://www.nutrient.io/sdk/web/getting-started/vibe-code/vibecode-claude/): Integrate Nutrient’s PDF viewer using AI code assistants such as Claude Code or GitHub Copilot. [JavaScript PDF viewer browser support: Chrome, Safari, Firefox, Edge](https://www.nutrient.io/guides/web/pspdfkit-for-web/browser-support/): Nutrient Web SDK (both with and without Document Engine*) supports all commonly used browsers in their latest versions. [Capability and component comparison: Web SDK, Document Engine (DE), and Web SDK + DE](https://www.nutrient.io/guides/web/about/capability-and-component-comparison-document-engine/): Explore the capabilities of Nutrient's document solutions: Document Engine (with/without storage), Web SDK for client-side processing, and Web SDK + Document Engine. [Capability and component comparison: Web SDK + Document Engine](https://www.nutrient.io/guides/web/about/capability-and-component-comparison-web-sdk-document-engine/): Explore the capabilities of Web SDK + Document Engine. [Capability and component comparison: Web SDK](https://www.nutrient.io/guides/web/about/capability-and-component-comparison-web-sdk/): Explore the capabilities of Web SDK for client-side processing [Nutrient Web SDK file type support](https://www.nutrient.io/guides/web/about/file-type-support/): Nutrient Web SDK can be operated either as a standalone JavaScript library that runs entirely on the client, or together with Document Engine. [JavaScript PDF frameworks: View, edit, sign, more](https://www.nutrient.io/guides/web/about/frameworks/): Discover how Nutrient Web SDK functions as a standalone library, compatible with all JavaScript frameworks for seamless document viewing and management. [Nutrient Web SDK licensing](https://www.nutrient.io/guides/web/pspdfkit-for-web/licensing/): Learn about the subscription model for Nutrient Web SDK licensing, domain deployment, and how to activate your product effectively. [Migrate from Mozilla PDF.js easily](https://www.nutrient.io/guides/web/about/migration-guides/migrating-from-mozilla-pdfjs/): Discover how to migrate from Mozilla PDF.js to a more robust PDF rendering solution that enhances document handling and user experience. [Migrate from PDFTron WebViewer Guide](https://www.nutrient.io/guides/web/about/migration-guides/migrating-from-pdftron-webviewer/): Learn how to seamlessly migrate from PDFTron WebViewer to Nutrient Web SDK with our comprehensive guide. [Nutrient Web SDK operational modes](https://www.nutrient.io/guides/web/about/operational-modes/): Nutrient Web SDK can run locally in the browser or work together with Document Engine — either self-hosted or managed — to offload document storing. [Add AI capabilities to Nutrient document viewer](https://www.nutrient.io/guides/web/ai-assistant/integrate-with-ai-assistant/): Learn how to integrate Nutrient AI Assistant with Nutrient Web SDK to enable conversational document interactions, automated redactions, AI-powered summaries, and intelligent text comparisons — all within your browser-based document viewer. [JavaScript image annotation library](https://www.nutrient.io/guides/web/annotations/annotate-on-images/create-edit-and-remove/): Learn how to add annotations on images using JavaScript. Discover step-by-step guidance to enhance interactivity and improve user experience. [Image annotation made easy](https://www.nutrient.io/guides/web/annotations/annotate-on-images/specification/): Discover how to annotate images seamlessly with XMP metadata. Compile editable PDFs from PNG, JPEG, and TIFF files using our comprehensive guide. [Rotate PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/annotation-rotation/): Discover effective techniques for annotation rotation to improve clarity and aesthetics in your data visualizations. Boost your projects today! [JavaScript PDF viewer with comments and replies](https://www.nutrient.io/guides/web/annotations/comments-and-replies/comments/): Learn how to add comments and replies in JavaScript PDF viewer using Nutrient Web SDK. Implement collaborative annotation features in your web applications. [Reply to PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/comments-and-replies/replies/): Discover how to use annotation replies for threaded comments in Nutrient Web SDK and improve your PDF collaboration experience today. [Add an image annotation to PDF using JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/add-image/): Add an image annotation to PDF using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Customizing PDF annotation flags using JavaScript](https://www.nutrient.io/guides/web/annotations/annotation-flags/): Customize PDF annotation flags using JavaScript to control visibility, printing, zooming, rotation, and editing features for a tailored user experience. [Set annotation author in PDF using JavaScript](https://www.nutrient.io/guides/web/annotations/annotation-author-name/): Learn how to set the creator name for annotations in Nutrient Web SDK 2018.2 using the setAnnotationCreatorName function. Enhance your document collaboration! [Create PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/create/): Since Nutrient Web SDK implements an optimistic UI, you can easily create annotations directly on the client using JavaScript. [Cut, copy, paste & duplicate PDF annotations in JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/cut-copy-duplicate/): Learn to enable clipboard actions in Nutrient Web SDK to cut, copy, paste, and duplicate PDF annotations using keyboard shortcuts for improved workflow. [Check if a PDF annotation has changed using JavaScript](https://www.nutrient.io/guides/web/annotations/detecting-if-annotations-have-changed/): Learn how to effectively detect changes in web annotations with our step-by-step guide. Enhance your content management and improve user experience. [Edit PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/edit/): In addition to an API for creating annotations, we also provide an API for updating those annotations directly on the client. [Select PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/multiple-selection/): Learn how to select PDF annotations using JavaScript with Nutrient Web SDK. Choose single or multiple annotations through the user interface (UI) or programmatically for manipulation and grouping. [Customizing annotation permissions in JavaScript PDF viewer](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/permissions/): Nutrient Web SDK lets you control the actions that can be performed by users on a loaded document. [Remove PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/remove/): In addition to an API for editing annotations, we also provide an API for removing those annotations directly on the client. [Rich text in PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/rich-text/): Rich text in PDF annotations using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Undo and redo PDF annotations in JavaScript](https://www.nutrient.io/guides/web/annotations/create-edit-and-remove/undo-redo/): Nutrient Web SDK supports undo and redo for creating, updating, and deleting annotations in both operational modes. Users can undo. [Customizing annotations](https://www.nutrient.io/guides/web/annotations/custom-rendered-annotations/): At Nutrient, we created an API that allows customers to override or decorate specific parts of the UI when rendering them. [Annotation notes](https://www.nutrient.io/guides/web/annotations/customization/annotation-notes/): Learn to create and update annotation notes in Nutrient Web SDK, enhancing your annotations with textual context for better usability and integration. [Specify annotation appearance streams in PDF](https://www.nutrient.io/guides/web/annotations/appearance-streams/): Discover how to effectively use appearance streams in annotations to improve visual presentation and user experience in your projects. [Configure annotation presets in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/using-annotation-presets/): Discover key default properties for web annotations. Enhance your understanding and implementation with this comprehensive guide tailored for developers. [Customize when annotations are displayed in PDFs](https://www.nutrient.io/guides/web/best-practices/business-logic/): Sometimes it’s useful to extend your PDFs with some interaction and functionality. Even though PDFs are quite limited in this regard. [Hide PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/customization/hiding-annotations/): In Nutrient Web SDK, annotations can be hidden using the API. There are different methods and approaches, depending on the use case. [Store custom data in PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/custom-data-in-annotations/): Discover how to effectively use custom data in annotations. Enhance your projects with our step-by-step guide to creating tailored annotation solutions. [Flatten PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/flatten/): When flattening an annotation, the annotation is removed from the document, while its visual representation is kept intact. [Headless JavaScript PDF annotation & markup library](https://www.nutrient.io/guides/web/annotations/headless/): It’s possible to apply annotation operations without the need to present any user interface (UI) to the user. for Nutrient Web SDK. [Import and export PDF annotations in a database](https://www.nutrient.io/guides/web/annotations/import-and-export/database/): Learn how to import and export annotations in a database using Nutrient Web SDK. Manage and transfer annotation data for your web-based PDF viewer. [Import and export annotations with Instant JSON](https://www.nutrient.io/guides/web/importing-exporting/instant-json/): Learn how to import and export annotations using Instant JSON for efficient document management and long-term storage. [Import and export PDF annotations](https://www.nutrient.io/guides/web/annotations/import-and-export/server-backed/): Learn how to import and export PDF annotations using Nutrient Web SDK with Document Engine. Manage annotation data with server-side support for robust web applications. [Import and export PDF annotations in XFDF file](https://www.nutrient.io/guides/web/importing-exporting/xfdf-support/): Learn how to import and export PDF annotations using XFDF files with Nutrient Web SDK. Exchange annotation data with Adobe Acrobat and other XFDF-compatible tools. [JavaScript PDF annotation library — Fast setup](https://www.nutrient.io/guides/web/annotations/): Unlock the power of web annotations with our comprehensive guide. Learn how to enhance user engagement and improve collaboration. Click to discover more! [Supported PDF annotation types in JavaScript viewer](https://www.nutrient.io/guides/web/annotations/introduction-to-annotations/): Discover all common annotation types in Nutrient Web SDK, including highlights, signatures, and redactions. Enhance your PDF editing experience today! [XFDF vs. Instant JSON: Annotation formats](https://www.nutrient.io/guides/web/annotations/introduction-to-annotations/data-formats/): Explore the differences between XFDF and Instant JSON formats for managing PDF annotations, including compatibility and functionality. Learn more now! [Geometry primitives for PDF annotations](https://www.nutrient.io/guides/web/annotations/geometry/): Since JavaScript does not ship geometry helpers by default, we at Nutrient developed a set of tested geometry classes that we use throughout all our classes. [Display embedded video & audio in PDF using JavaScript](https://www.nutrient.io/guides/web/annotations/introduction-to-annotations/media-annotations/): Nutrient Web SDK allows viewing a video and listening to audio embedded in a PDF document by supporting media annotations. [What are PDF annotations?](https://www.nutrient.io/guides/web/annotations/introduction-to-annotations/what-are-annotations/): Learn about PDF annotations and how to work with them in Nutrient Web SDK. [Working, deploying, & saving annotations in a PDF](https://www.nutrient.io/guides/web/annotations/introduction-to-annotations/working-with-annotations/): When Nutrient Web SDK is initializing (while the load() promise resolves), it’ll start to load annotations from the server or the raw PDF. [Add link annotations in PDF using JavaScript](https://www.nutrient.io/guides/web/annotations/link-annotations/): Learn to add link annotations to PDFs using JavaScript with Nutrient SDK. Create clickable links programmatically or through the UI for enhanced interactivity. [PDF annotation actions using JavaScript](https://www.nutrient.io/guides/web/annotations/pdf-actions/): Discover key PDF actions for web annotations. Enhance user experience with our comprehensive guide on managing and utilizing PDF features efficiently. [Auto save PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/annotation-saving-mechanism/): Nutrient Web SDK supports auto saving the changes that occur to annotations. Auto-save behavior is dependent on the operational mode used. [Embed annotations in PDF using JavaScript](https://www.nutrient.io/guides/web/annotations/save/embed-into-pdf/): Embedding annotations into a PDF document using Nutrient Web SDK can be done either with the UI or programmatically using the public API. [Save PDF annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/save/overview/): Nutrient Web SDK allows making changes to documents in these two fundamental ways:. [Save PDF annotations to external storage in JavaScript](https://www.nutrient.io/guides/web/annotations/save/to-external-storage/): You have two options to save annotation changes to external storage: saving the changes only, or saving the whole PDF. for Nutrient Web SDK. [PDF stamp annotation using JavaScript](https://www.nutrient.io/guides/web/features/stamp-annotation-templates/): Explore our guide on built-in stamps for annotations, enhancing your web projects with efficient tools and techniques for better clarity and organization. [Customizing PDF stamp annotations using JavaScript](https://www.nutrient.io/guides/web/annotations/stamp-annotation-configuration/): To change the default stamp annotation templates available in the stamp picker UI, modify NutrientViewer.defaultStampAnnotationTemplates. [Mastering PDF annotation sync conflict resolution](https://www.nutrient.io/guides/web/annotations/synchronization/conflict-resolution/): Discover proven strategies to effectively resolve PDF annotation sync conflicts, ensuring smooth collaboration and data integrity in your projects. [Syncing annotations across users, devices, or sessions](https://www.nutrient.io/guides/web/annotations/synchronization/): Drive real-time collaboration with synchronized annotations. Discover how to enhance teamwork and productivity. Learn more. [Efficient techniques for storing synchronized annotations](https://www.nutrient.io/guides/web/annotations/synchronization/storing-annotation-data/): Explore proven strategies for storing synchronized annotation data, boosting your data management efficiency and overall application performance. [Appian PDF viewer: Open, view, edit, sign, more](https://www.nutrient.io/guides/web/appian/): Nutrient’s Appian PDF viewer is a soon-to-be-released integration for viewing, annotating, editing, and creating PDFs in Appian. [JavaScript barcode library: Scan, read, generate](https://www.nutrient.io/guides/web/barcodes/): With Nutrient Web SDK, you’ll soon be able to read and scan all major 1D and 2D barcodes in your application, including QR code, Data Matrix, PDF417. [Nutrient Web SDK best practices](https://www.nutrient.io/guides/web/best-practice/): Discover essential guides on Nutrient Web SDK covering SDK security, performance optimization, and caching techniques to enhance your web applications. [Nutrient Web SDK security](https://www.nutrient.io/guides/web/pspdfkit-for-web/sdk-security/): Discover Nutrient Web SDK's secure, client-side PDF processing with encrypted support and robust review practices to protect your documents. [Optimize web bookmarks with Nutrient](https://www.nutrient.io/guides/web/bookmarks/built-in-ui/): Learn to optimize web bookmarks using Nutrient Web SDK’s customizable sidebar. Create, edit, and navigate bookmarks efficiently within your documents. [JavaScript to create, generate, & add bookmarks in PDFs](https://www.nutrient.io/guides/web/features/bookmarks/): With Nutrient Web SDK, it’s possible to create bookmarks both using the sidebar UI and programmatically with JavaScript. [Detect changes in PDF bookmarks using JavaScript](https://www.nutrient.io/guides/web/bookmarks/detect-changes/): Detect changes in PDF bookmarks using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Edit bookmarks in PDFs using JavaScript](https://www.nutrient.io/guides/web/bookmarks/edit/): With Nutrient Web SDK, you can list existing bookmarks with instance.getBookmarks and update them with instance.update:. [Remove bookmarks in PDFs using JavaScript](https://www.nutrient.io/guides/web/bookmarks/remove/): Learn to delete bookmarks in PDFs using JavaScript with Nutrient Web SDK. Retrieve bookmarks and remove the first one efficiently using simple code. [JavaScript PDF bookmark library](https://www.nutrient.io/guides/web/bookmarks/): Enhance your web experience with expert tips on adding bookmarks! Find out how to make the most of your browsing journey today. [JavaScript PDF outline library: Create, edit, remove](https://www.nutrient.io/guides/web/bookmarks/introduction/): PDF bookmarks and PDF outlines (also known as a table of contents or bookmarks panel) are both features in PDF documents that help users navigate. [JavaScript PDF outlines: Create & generate PDF outlines](https://www.nutrient.io/guides/web/bookmarks/outlines/create/): With Nutrient Web SDK, it’s possible to create PDF outlines programmatically with JavaScript. [Edit PDF outlines using JavaScript](https://www.nutrient.io/guides/web/bookmarks/outlines/edit/): With Nutrient Web SDK, you can list existing PDF outlines with instance.getDocumentOutline and update them with instance.setDocumentOutline:. [Remove PDF outlines using JavaScript](https://www.nutrient.io/guides/web/bookmarks/outlines/remove/): Learn to remove PDF outlines in your documents using the Nutrient Web SDK with the `setDocumentOutline` method for cleaner presentations and improved user experience. [Explore Web PDF samples and guides](https://www.nutrient.io/guides/web/samples/): Discover powerful PDF editing capabilities with our web samples. Elevate your document workflows with ease. Visit now! [Compare PDF files using JavaScript](https://www.nutrient.io/guides/web/comparison/compare-documents/): Easily compare construction plans and drawings with Nutrient's Document Comparison tool. Launch the demo to see differences in vector-based documents. [Compare PDF text using AI and JavaScript](https://www.nutrient.io/guides/web/comparison/compare-text-ai/): Nutrient SDK’s AI text comparison feature enhances the standard text comparison feature by leveraging artificial intelligence to analyze. [Compare PDF text using JavaScript](https://www.nutrient.io/guides/web/comparison/compare-text/): Learn how to compare PDF text using JavaScript with Nutrient Web SDK. Highlight differences, track changes, and customize the comparison UI [Contributing to Nutrient projects](https://www.nutrient.io/guides/web/miscellaneous/contributing/): Contributing to projects guide for Nutrient Web SDK with detailed instructions and code examples. [Headless JavaScript PDF conversion library: MS Office & Image](https://www.nutrient.io/guides/web/conversion/headless/): It’s possible to apply file conversion operations without the need to present any user interface (UI) to the user. for Nutrient Web SDK. [Image-to-PDF JavaScript library: JPG, PNG, TIFF to PDF](https://www.nutrient.io/guides/web/conversion/image-to-pdf/): Nutrient Web SDK enables you to convert image documents to PDF client-side, without the need for server-side processing. [Convert image to text with JavaScript library](https://www.nutrient.io/guides/web/conversion/image-to-text/): Convert image to text with JavaScript library | guide for Nutrient Web SDK with detailed instructions and code examples. [JavaScript PDF conversion library](https://www.nutrient.io/guides/web/conversion/): Convert various file formats to PDF using Nutrient Web SDK. Enable seamless client-side conversions for Word, Excel, images, and more in any web application. [Convert Office (Word, Excel, PPT) to PDF using JavaScript](https://www.nutrient.io/guides/web/conversion/office-to-pdf/): Office-to-PDF conversion is compatible with any JavaScript framework supported by Nutrient Web SDK, including:. [PDF-to-image JavaScript library](https://www.nutrient.io/guides/web/conversion/pdf-to-image/): With Nutrient Web SDK, you can render independent pages of a PDF document and save them as images. If the document contains any annotations. [Convert PDF to Office (Word, Excel, PPT) using JavaScript](https://www.nutrient.io/guides/web/conversion/pdf-to-office/): PDF-to-Office conversion is compatible with any JavaScript framework supported by Nutrient Web SDK, including:. [Scanned to searchable PDF JavaScript library](https://www.nutrient.io/guides/web/conversion/scan-to-searchable-pdf/): You can convert scanned documents to searchable PDFs with Nutrient Web SDK. [Convert text to PDF using JavaScript](https://www.nutrient.io/guides/web/conversion/text-to-pdf/): Text-to-PDF conversion is compatible with any JavaScript framework supported by Nutrient Web SDK. [PDF to PDF/A in JavaScript: All standards & ISO-compliant](https://www.nutrient.io/guides/web/conversion/to-pdfa/): Nutrient Web SDK enables you to convert PDFs, Office documents, and images to PDF/A client-side, without the need for server-side processing. [JavaScript PDF library demos](https://www.nutrient.io/guides/web/demo/): Experience powerful features with our interactive JavaScript PDF library demos for web and mobile applications. Try them for free! [Add watermark to PDF using JavaScript library](https://www.nutrient.io/guides/web/document-security/add-a-watermark/): Learn how to add personalized watermarks to PDFs in Nutrient Web SDK to prevent screenshots and protect sensitive information with Canvas APIs. [JavaScript secure PDF viewer](https://www.nutrient.io/guides/web/document-security/): Enhance your document security: Discover expert tips and best practices to safeguard your content. Dive in now! [Open & view PDF without downloading using JavaScript](https://www.nutrient.io/guides/web/document-security/open-without-downloading/): Discover how to open files directly in your browser without downloading. Learn the best methods and tools for seamless file access online. [JavaScript password-protected PDF: Add password to PDF](https://www.nutrient.io/guides/web/document-security/password-protect-pdf/): Discover how to create a password-protected PDF document. Use password-protected PDFs if your document contains sensitive information. [JavaScript PDF viewer — Disable download & print option](https://www.nutrient.io/guides/web/document-security/prevent-print-or-download/): There are a few options in Nutrient Web SDK that make it possible to prevent or discourage your customers from printing or downloading your PDF documents. [Document security with Nutrient Web SDK](https://www.nutrient.io/guides/web/document-security/with-server-backed/): Learn how to implement user authentication, permissions, and dynamic watermarking with Nutrient Web SDK and Document Engine to secure your PDF documents. [JavaScript document library: View, edit, sign, annotate](https://www.nutrient.io/guides/web/documents/): Unlock the secrets of document handling with our comprehensive guide. Learn expert tips and tricks to enhance your web experience. Visit now! [Download JavaScript PDF library](https://www.nutrient.io/guides/web/downloads/): This page lists the latest version of Nutrient Web SDK available for manual integrations of our JavaScript PDF library. [Add Bates number in PDF using JavaScript](https://www.nutrient.io/guides/web/editor/add-bates-number/): With Nutrient Web SDK, you’ll soon be able to add Bates numbering to PDFs using JavaScript. It’ll be easy to set the number of digits. [Add or insert image into PDF using JavaScript](https://www.nutrient.io/guides/web/editor/add-image/): You can add images to your document using the Image Annotation API. for Nutrient Web SDK. [Add page to PDF file using JavaScript](https://www.nutrient.io/guides/web/editor/add-page/): Using addPage adds a blank page before or after the specified page index using the provided configuration: for Nutrient Web SDK. [JavaScript process documents via Document Engine or DWS API](https://www.nutrient.io/guides/web/editor/backend-processing/): JavaScript process documents via Document Engine or DWS | Nutrient API documentation for Nutrient Web SDK with methods, properties, and code examples. [PDF editing toolbar & UI](https://www.nutrient.io/guides/web/features/document-editor-ui/): Discover essential built-in UI components for web editors. Enhance your development process with user-friendly interfaces and intuitive design elements. [PDF content editing API for Web](https://www.nutrient.io/guides/web/editor/content-editor-api/): Learn how to edit PDF text content programmatically using the Nutrient Web SDK content editing API. [JavaScript PDF content editor: Edit PDF text](https://www.nutrient.io/guides/web/editor/edit-text/): Edit text in PDFs with our JavaScript PDF content editor. Modify fonts, sizes, and colors through an intuitive user interface (UI), enhancing your PDF editing capabilities. [Headless JavaScript PDF editor — Annotate, rotate, merge](https://www.nutrient.io/guides/web/features/document-editor/): Discover how to perform document editing without user interfaces. Learn about headless operations to streamline your editing processes efficiently. [JavaScript PDF editor library: Merge, split, more](https://www.nutrient.io/guides/web/editor/): Nutrient Web SDK is a JavaScript library for editing PDF documents directly in a browser. It offers developers a robust API for programmatic editing. [JavaScript library to merge PDF files](https://www.nutrient.io/guides/web/editor/merge-or-combine/): The importDocument operation lets you add an existing PDF to your document. It’ll be added either before or after the specified page index. [Edit page label in a PDF using JavaScript](https://www.nutrient.io/guides/web/editor/page-label/): Edit page label in a PDF using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Add margins to PDF pages using JavaScript](https://www.nutrient.io/guides/web/editor/page-manipulation/add-margins/): It’s possible to individually add margins to multiple document pages using the addPageMargins document operation. for Nutrient Web SDK. [Crop PDF using JavaScript](https://www.nutrient.io/guides/web/editor/page-manipulation/crop/): We shipped the document crop tool in Nutrient Web SDK 2021.5.0. You can use it to crop a single page or multiple pages at a time. [Move or copy PDF pages using JavaScript](https://www.nutrient.io/guides/web/editor/page-manipulation/move-or-copy/): To move or copy pages, you can use our page editor operations. for Nutrient Web SDK. [Remove pages from a PDF file using JavaScript](https://www.nutrient.io/guides/web/editor/page-manipulation/remove/): Remove pages from a PDF file using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Rotate PDF pages using JavaScript](https://www.nutrient.io/guides/web/editor/page-manipulation/rotate/): The rotatePages operation will rotate the specified pages by the desired amount; only multiples of 90 under 360 are allowed as values. for Nutrient Web SDK. [Replace text in PDF using JavaScript](https://www.nutrient.io/guides/web/editor/replace-text/): With Nutrient Web SDK, you’ll soon be able to replace text in PDFs. Search for a word and replace it in an entire document in one go. [JavaScript library to split PDFs](https://www.nutrient.io/guides/web/editor/split/): To split a PDF into one or more separate documents, use the headless editing and remove pages operations. for Nutrient Web SDK. [Effective annotation event management](https://www.nutrient.io/guides/web/events/annotation/): Seamlessly manage annotation events in your web app with our APIs for loading, updating, and deleting annotations. [Streamline bookmark management with events](https://www.nutrient.io/guides/web/events/bookmarks/): Learn how to manage bookmarks using events like create, update, and delete for effective organization and update tracking. [Subscribe or unsubscribe to API events](https://www.nutrient.io/guides/web/customizing-the-interface/observing-changes-with-events/): Subscribe or unsubscribe to events | Nutrient API documentation for Nutrient Web SDK with methods, properties, and code examples. [Forms](https://www.nutrient.io/guides/web/events/forms/): Forms guide for Nutrient Web SDK with detailed instructions and code examples. [Events & notifications in JavaScript PDF viewer](https://www.nutrient.io/guides/web/events/): Unlock the secrets of web events with our comprehensive guide. Elevate your knowledge and stay ahead. Dive in now! [Text selection](https://www.nutrient.io/guides/web/events/text-selection/): Access and manipulate text selections using the Nutrient Web SDK’s cross-browser API. Retrieve selected text and lines efficiently within specified ranges. [JavaScript PDF extraction library](https://www.nutrient.io/guides/web/extraction/): Uncover hidden potential with our web extraction guide. Learn how to unlock powerful insights and improve your online presence today! [JavaScript library to extract pages from PDFs](https://www.nutrient.io/guides/web/extraction/page-extraction/): Learn how to combine pages from different PDFs using Nutrient Web SDK. Import documents seamlessly in headless mode with easy-to-follow steps. [JavaScript PDF parser library](https://www.nutrient.io/guides/web/extraction/parse-content/): Discover how to parse text, annotations, and digital signatures in documents using Nutrient Web SDK for customizable data processing solutions. [Read text from PDF using JavaScript](https://www.nutrient.io/guides/web/extraction/read-text/): Extract and process text from PDF files using JavaScript with Nutrient Web SDK. Leverage a powerful API to streamline your document data handling. [Programmatically extract selected text from PDF using JavaScript](https://www.nutrient.io/guides/web/features/text-selection/): Discover how to programmatically access and manage text selection in Nutrient Web SDK, using the reliable `getTextSelection` method for PDFs. [JavaScript PDF to text: Extract text from PDF in JavaScript](https://www.nutrient.io/guides/web/features/text-extraction/): Discover effective methods for text extraction to streamline your workflow. Learn tips and tools for efficient data extraction and management. [Add signature field to PDF Form in JavaScript](https://www.nutrient.io/guides/web/forms/create-edit-and-remove/add-signature-field/): Learn to add a signature field to your PDF forms using JavaScript with Nutrient SDK. Create interactive documents that capture electronic signatures seamlessly. [JavaScript PDF Form Creator: Built-in UI](https://www.nutrient.io/guides/web/forms/create-edit-and-remove/built-in-ui/): Starting with Nutrient Web SDK 2022.3, the advanced JavaScript PDF Form Creator (formerly Form Designer) was updated to include a built-in UI. [Create fillable PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/form-creation/): Learn how to create and manage form fields in Nutrient Web SDK using the built-in interface and code, enhancing your document's interactivity. [JavaScript PDF form field editor](https://www.nutrient.io/guides/web/forms/create-edit-and-remove/edit-fields/): Edit PDF form fields with JavaScript using Nutrient Web SDK. Apply batch updates, handle multiple widgets, and programmatically modify form fields and annotations. [PDF form field flags](https://www.nutrient.io/guides/web/forms/create-edit-and-remove/form-field-flags/): Form fields inherit annotation flags through their associated widget annotations. for Nutrient Web SDK. [Remove form fields from PDF using JavaScript](https://www.nutrient.io/guides/web/forms/create-edit-and-remove/remove-fields/): You can programmatically remove any form field from a document using instance.delete(). This call will also remove the associated widget annotations. [Extract data from PDF form fields using JavaScript library](https://www.nutrient.io/guides/web/forms/extract-form-data/): You can extract the values of all the form fields present in a PDF using Instance#getFormFieldValues. It returns a simple JavaScript object. [Add or extract image in PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/fill-form-fields/add-image/): Learn how to create and manage image annotations using our intuitive UI. Attach PNG, JPEG, or PDF files and customize them effortlessly. [Attach a file to PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/fill-form-fields/attach-a-file/): Learn how to create image annotations in Nutrient using attachments. Follow our guide to easily add PNG images to your documents with code examples. [Detect user input in PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/fill-form-fields/detect-user-input/): Learn how to effectively detect user input in web forms with our step-by-step guide. Enhance user experience and optimize form functionality today! [Dynamic font loading in PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/fill-form-fields/dynamic-font-loading/): Discover the benefits of dynamic font loading for your website. Improve loading speed and user experience with our comprehensive guide and tips. [Headless JavaScript PDF form fill library](https://www.nutrient.io/guides/web/forms/fill-form-fields/headless/): It’s possible to apply PDF form fill operations without the need to present any user interface (UI) to the user. for Nutrient Web SDK. [Import data into PDF from database](https://www.nutrient.io/guides/web/forms/fill-form-fields/import-from-database/): Learn how to use Nutrient Web SDK to prefill form fields with user data from your database. Enhance user experience with automated data integration. [Import data into PDF form using Instant JSON](https://www.nutrient.io/guides/web/forms/fill-form-fields/import-from-instant-json/): With Nutrient Web SDK, it's possible to set form field values in a document by importing them as Instant JSON:. [Import data into PDF form using Web SDK with Document Engine](https://www.nutrient.io/guides/web/forms/fill-form-fields/import-from-server-backed/): Effortlessly import data into PDF forms using Nutrient Web SDK with Document Engine, ensuring automatic synchronization of form field values across all clients. Easily populate fields from various sources, such as databases or backend applications, to enhance your document workflows. [Import data into PDF form using XFDF](https://www.nutrient.io/guides/web/forms/fill-form-fields/import-from-xfdf/): Learn how to set form field values in Nutrient by importing XFDF in standalone mode. Simplify document management with efficient form prefilling techniques. [Customize PDF form permissions using JavaScript](https://www.nutrient.io/guides/web/forms/fill-form-fields/permissions/): You can control the form filling permissions of a PDF in a variety of ways, which are outlined in this guide. for Nutrient Web SDK. [Fill PDF form programmatically using JavaScript](https://www.nutrient.io/guides/web/forms/form-filling/): Discover how Nutrient Web SDK enables seamless form field filling using Document Engine, XFDF, Instant JSON, and manual APIs for enhanced user experience. [JavaScript PDF viewer with form filler](https://www.nutrient.io/guides/web/forms/fill-form-fields/using-the-ui/): Form fields can be manually filled directly using the UI. Just focus or press on a form field to type on it or modify its value. for Nutrient Web SDK. [Flatten dynamic PDF forms using JavaScript](https://www.nutrient.io/guides/web/forms/flatten/): Learn to flatten dynamic PDF form fields using JavaScript with Nutrient SDK. Achieve permanent form field application and enhance document visibility for all viewers. [JavaScript PDF fillable form library: Capture data](https://www.nutrient.io/guides/web/forms/): Unlock the secrets of optimizing web forms for maximum performance and engagement. Learn practical tips and tricks at Nutrient today! [Understanding PDF form data formats](https://www.nutrient.io/guides/web/forms/introduction-to-forms/data-formats/): Learn about PDF form elements, widget annotations, and how PSPDFKit supports various data formats for interactive PDF forms. [PDF form fields supported in JavaScript library](https://www.nutrient.io/guides/web/forms/introduction-to-forms/): Learn to create and manage form fields, including digital signatures, in Nutrient Web. Explore our guides on form creation and signature requirements. [PDF forms: Advantages and features explained](https://www.nutrient.io/guides/web/forms/introduction-to-forms/what-are-forms/): Learn about PDF forms, their benefits, and how they allow users to input and edit information effectively in a structured format. [PDF form validations using JavaScript](https://www.nutrient.io/guides/web/forms/javascript-validation/): Learn how to implement form validation in Nutrient Web SDK and Nutrient Electron SDK using JavaScript. Discover easy techniques to ensure correct form field values. [PDF actions and JavaScript for enhanced workflow](https://www.nutrient.io/guides/web/forms/pdf-actions-support/): Explore key PDF actions and JavaScript tips to improve your document management and annotation efficiency with our comprehensive guide. [JavaScript library to read PDF form fields](https://www.nutrient.io/guides/web/forms/read-form-fields/): Learn to read PDF form fields using the Nutrient Web SDK’s asynchronous API. Retrieve an immutable list of form fields and their values efficiently. [Autosaving PDF forms using JavaScript](https://www.nutrient.io/guides/web/forms/submit-or-save/auto-save/): Nutrient Web SDK supports autosaving changes made to form fields and form field values. Autosaving behavior is dependent on the operational mode used. [Embed data into PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/submit-or-save/embed-data-into-pdf/): Nutrient Web SDK lets you save the data your customer fills your PDF forms with so that the forms can be loaded later. [Submit & save PDF form to external source Using JavaScript](https://www.nutrient.io/guides/web/forms/form-submission/): Form submission is an action performed on a form element from a PDF document and is usually triggered by a submit button. [Submit & save PDF form using JavaScript](https://www.nutrient.io/guides/web/forms/submit-or-save/to-server-backed/): When you use Nutrient Web SDK with Document Engine[], whenever a form field is filled in, the new value is automatically sent. [Client authentication and instant sync with JWT](https://www.nutrient.io/guides/web/instant-synchronization/authentication/): Learn how to authenticate clients in Nutrient Web SDK with JWTs and enable instant synchronization for a seamless web application experience. [Getting started with Instant sync & collaboration](https://www.nutrient.io/guides/web/pspdfkit-instant/getting-started/): Quick start guide for integrating Nutrient Web SDK with installation steps, configuration, and basic implementation. [Instant sync & collaboration in JavaScript PDF viewer](https://www.nutrient.io/guides/web/instant-synchronization/): Unlock the power of Instant synchronization | Discover how it works with our comprehensive guide. Maximize your web experience now! [Create PDF annotations layer with Instant](https://www.nutrient.io/guides/web/instant-synchronization/instant-layers/): For more information about layers, see our Instant layers API reference for Document Engine. for Nutrient Web SDK. [PDF content ownership in Nutrient Instant](https://www.nutrient.io/guides/web/instant-synchronization/permissions/content-ownership/): Collaboration permissions allow you to define what actions are allowed on a piece of content in a document (annotations, Instant Comments. [Changing user permissions in Instant sync & collaboration](https://www.nutrient.io/guides/web/collaboration-permissions/changing-permissions/): Learn how to modify permissions for annotations and comments using JWT. Explore scopes and actions for effective record management in your projects. [Instant sync & collaboration example](https://www.nutrient.io/guides/web/collaboration-permissions/landlord-tenant-example/): Interactive examples demonstrating Nutrient Web SDK features with complete source code and implementation details. [Instant sync & collaboration permission overview](https://www.nutrient.io/guides/web/collaboration-permissions/introduction-to-collaboration-permissions/): Discover how collaboration permissions enhance document security by managing user actions like viewing, editing, and replying to comments efficiently. [Setting user permissions in Instant sync & collaboration](https://www.nutrient.io/guides/web/collaboration-permissions/defining-permissions/): The permission to perform different actions on a document is defined in the JSON Web Token (JWT) using the collaboration_permissions property:. [JavaScript PDF library](https://www.nutrient.io/guides/web/intro/): Access developer guides for the JavaScript PDF library in the Nutrient Web SDK. Learn how to integrate and customize PDF editing features for your web app. [Convert Instant JSON to XFDF using JavaScript](https://www.nutrient.io/guides/web/json/convert-to-xfdf/): Learn how to easily convert JSON to XFDF format with our step-by-step guide. Optimize your data management for better performance and usability. [How Instant JSON enhances PDF handling](https://www.nutrient.io/guides/web/json/how-it-works/): Learn how Instant JSON streamlines PDF changes, reducing bandwidth by storing annotations and bookmarks in a separate file. [Comprehensive guide to JSON with Nutrient Web SDK development](https://www.nutrient.io/guides/web/json/): Discover how JSON can enhance your web development skills with our comprehensive guide. Learn all about JSON parsing, manipulation, and integration. [Instant JSON actions and types](https://www.nutrient.io/guides/web/json/schema/actions/): Explore various action types in Instant JSON including GoToAction, LaunchAction, and more for effective annotation implementation. [Instant JSON schema for PDF annotations](https://www.nutrient.io/guides/web/json/schema/annotations/): Learn how to format JSON for various PDF annotations. Explore examples, types, and best practices in this comprehensive guide. [Instant JSON schema for efficient PDF bookmarks](https://www.nutrient.io/guides/web/json/schema/bookmarks/): Learn to create and manage bookmarks in Instant JSON for improved PDF navigation. [Instant JSON schema for PDF comments](https://www.nutrient.io/guides/web/json/schema/comments/): Learn to use Instant JSON with comments for real-time collaboration in documents, enhancing communication and efficiency. [Instant JSON attachments schema overview](https://www.nutrient.io/guides/web/json/schema/file-attachments/): Learn how to sync annotation attachments in Instant JSON using SHA-256 hashes and Base64 encoding for seamless data management. [Instant JSON schema for PDF form values](https://www.nutrient.io/guides/web/json/schema/form-field-values/): Discover how to sync PDF form field values across devices using the Instant JSON schema and best practices for implementation. [JSON schema for PDF form fields](https://www.nutrient.io/guides/web/json/schema/form-fields/): Learn to sync and manage PDF form fields with Instant JSON. Explore field types, event triggers, and schema for efficient form development. [Knowledge base of Nutrient Web SDK](https://www.nutrient.io/guides/web/kb/): Explore FAQs and troubleshooting tips for Nutrient Web SDK. Find code samples for annotations, signatures, document handling, and more. Learn how to integrate Nutrient Web SDK effectively. [Add custom keyboard shortcuts](https://www.nutrient.io/guides/web/knowledge-base/add-custom-keyboard-shortcuts/): You can implement your own custom keyboard shortcuts by adding a keydown event listener in the capture phase to the Nutrient instance. [How to add a custom toolbar item to display current zoom percentage](https://www.nutrient.io/guides/web/knowledge-base/add-custom-zoom-perentage/): Learn how to add a custom toolbar item to display current zoom percentage in the main toolbar of PDF viewer using Nutrient Web SDK. Enhance end user experience by showing real-time zoom levels and providing zoom control options. [Add a listener while editing a text or note annotation](https://www.nutrient.io/guides/web/knowledge-base/add-listener-text-note-annotation/): Learn to add an event listener during text editing in annotations. Capture content changes and enhance interactivity in your application effectively. [Add a listener to a default toolbar item](https://www.nutrient.io/guides/web/knowledge-base/add-listener-toolbar-item/): Learn how to add a custom event listener to a default toolbar item in Nutrient Web SDK for handling click events and managing page changes effectively. [Add signature initials](https://www.nutrient.io/guides/web/knowledge-base/add-signature-initials/): It’s possible to implement signature initials within the signature modal using workarounds. This guide walks you through two possibilities. for Nutrient Web SDK. [Listen to an annotation’s hover event](https://www.nutrient.io/guides/web/knowledge-base/annotations-hover-event/): Learn how to listen for annotation hover events in your web PDF viewer using Nutrient Web SDK. Implement interactive annotation behavior with custom renderers. [Implement an automatic annotation and field tab ordering](https://www.nutrient.io/guides/web/knowledge-base/automatic-annotation-field-tab-ordering/): In document annotation workflows, maintaining a logical tab order for fields is essential for smooth user navigation and accessibility. [Print output appears blurry compared to exported version](https://www.nutrient.io/guides/web/knowledge-base/blurry-print-resolution/): When using Nutrient for printing PDFs, users may encounter issues with blurry print outputs. This article explains the reasons behind this. [Change the default line width for ink annotations](https://www.nutrient.io/guides/web/knowledge-base/change-default-line-width-ink-annotations/): To change the default line width for ink annotations, use annotation presets. Here’s example code: for Nutrient Web SDK. [Check if a document contains annotations](https://www.nutrient.io/guides/web/knowledge-base/check-document-contains-annotations/): Learn different methods to check if a document contains annotations. [Check if a document is password protected](https://www.nutrient.io/guides/web/knowledge-base/check-password-protected-files/): Check if a document is password protected by configuring `maxPasswordRetries` to `0` and handling the rejection of the `NutrientViewer.load` promise effectively. [Keep widget annotation dimensions consistent across devices](https://www.nutrient.io/guides/web/knowledge-base/consistent-widget-annotation-dimensions/): Learn how to ensure widget annotations maintain consistent dimensions across devices and screen sizes when using custom renderers in Nutrient Web SDK. [Control the appearance of the delete button with CSS](https://www.nutrient.io/guides/web/knowledge-base/control-appearance-of-delete-button-on-ink-annotations/): Learn to customize the delete button’s appearance with CSS, ensuring it only appears when an ink annotation is selected for enhanced user experience. [Create text highlight annotations from text extraction](https://www.nutrient.io/guides/web/knowledge-base/create-highlight-annotations-from-text-extraction-technology/): Extracting text from a PDF file is a common task, but it isn’t always as straightforward as it should be. For that reason. [Customize the page indicator](https://www.nutrient.io/guides/web/knowledge-base/customize-page-indicator/): Customize the page indicator using CSS classes to change images and background colors, enhancing your user interface in Nutrient Web SDK. [How to default to using a cloudy border](https://www.nutrient.io/guides/web/knowledge-base/default-to-cloudy-border/): Learn to configure rectangles and ellipses with a cloudy border by setting the `cloudyBorderIntensity` in annotation presets for enhanced visual effects. [Delete all annotations](https://www.nutrient.io/guides/web/knowledge-base/delete-all-annotations/): There’s no specific command to delete all annotations in a document at once. However, this can be achieved by iterating the pages. [Deselect the current text selection](https://www.nutrient.io/guides/web/knowledge-base/deselect-text/): There’s currently no specific API for deselecting text programmatically. However, as a workaround, you can quickly change the current interaction mode. [Detecting when the Nutrient UI has loaded in the Web SDK](https://www.nutrient.io/guides/web/knowledge-base/detect-pspdfkit-ui-loaded/): Learn to detect when the Nutrient UI loads in the Web SDK using `renderPageCallback` and `MutationObserver` for effective application configuration. [Determine the current layout mode](https://www.nutrient.io/guides/web/knowledge-base/determine-current-layout-mode/): It’s possible to determine the current LayoutMode. NutrientViewer.ViewState#layoutMode has three possible values: SINGLE, DOUBLE, or AUTO. [Disable the context menu in Nutrient](https://www.nutrient.io/guides/web/knowledge-base/disable-context-menu/): There might be cases where you want to disable right-clicking inside the Nutrient inline frame. You can do this by using the following code:. [Disable resizing of annotations](https://www.nutrient.io/guides/web/knowledge-base/disable-resize-of-annotations/): It's possible to disable resizing of certain annotation types. For example, here's how to disable resizing of an ink signature: for Nutrient Web SDK. [Disable dragging of text annotations easily](https://www.nutrient.io/guides/web/knowledge-base/disable-text-annotation-movement/): Learn how to disable the movement of text annotations while still allowing text editing with this simple code for Nutrient Web SDK. [Download an exported document](https://www.nutrient.io/guides/web/knowledge-base/download-exported-document/): It’s possible to trigger the download of an exported document. NutrientViewer.Instance#exportPDF() resolves to an ArrayBuffer. [Export an ink annotation as an image](https://www.nutrient.io/guides/web/knowledge-base/export-ink-annotation-image/): Ink annotations are rendered as SVG elements on the DOM. To export an image from an ink annotation, retrieve the SVG and then either download it. [Extract text and cursor position in annotations](https://www.nutrient.io/guides/web/knowledge-base/extract-annotation-text-and-retrieve-cursor-position/): Learn how to extract text from annotations and retrieve cursor position using Nutrient in your web applications. Simplify text handling with ease. [Find an ink annotation for a signature form field](https://www.nutrient.io/guides/web/knowledge-base/find-ink-annotation-for-signature-form-field/): Signature form fields don’t have a value, so if you want to find the ink annotation being used as a signature for a signature form field. [Focus the delete button in a confirm dialog](https://www.nutrient.io/guides/web/knowledge-base/focus-delete-button-in-confirm-modal-component/): Learn how to focus the delete button in a confirm dialog using Nutrient Web SDK. Improve user interface (UI) accessibility by ensuring the correct button has initial focus in your web apps. [Focus on the PDF viewer when it loads](https://www.nutrient.io/guides/web/knowledge-base/focus-viewer-after-loading/): To focus on the Nutrient instance when it loads, get a reference to the window object of the Nutrient Web SDK viewer frame. [Focus on a widget annotation](https://www.nutrient.io/guides/web/knowledge-base/focus-widget-annotation/): Programmatically set focus on a widget annotation using the DOM API. Learn to add a custom toolbar item that targets form fields efficiently. [Get the entered document password](https://www.nutrient.io/guides/web/knowledge-base/get-entered-document-password/): Capture the password entered by users in a password-protected document using MutationObservers and event listeners. Enhance document security with this implementation. [Get the visible annotations on the current page](https://www.nutrient.io/guides/web/knowledge-base/get-visible-annotations/): Retrieve visible annotations on the current page by calculating the bounding box dimensions and comparing them with the annotations’ coordinates. [Handle unsupported form field actions](https://www.nutrient.io/guides/web/knowledge-base/handle-unsupported-form-field-actions/): Learn how to fix errors when modifying form fields with unsupported JavaScript actions such as onBlur in Nutrient Web SDK. [Handling clicks on custom overlays](https://www.nutrient.io/guides/web/knowledge-base/handling-clicks-on-custom-overlays/): By default, when clicking on a custom overlay, page.press event also gets fired. There might be cases when you don’t want to do that. for Nutrient Web SDK. [Highlight required PDF form fields](https://www.nutrient.io/guides/web/knowledge-base/highlight-required-fields/): Style required PDF form fields with CSS or programmatic styling using Nutrient Web SDK. Highlight empty required fields with custom borders and colors. [How do I disable changing the page when tapping the page edges?](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-disable-scrolling-on-page-edges/): By default, when using the NutrientViewer.ScrollMode PER_SPREAD, tapping the edges of a page will navigate to the next or previous page. [How do I limit the number of annotations in a PDF?](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-limit-the-number-of-annotations/): To limit the number of annotations in a PDF, it’s necessary to first add an event listener to the annotations.create event. [How do I prevent printing annotations?](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-prevent-printing-annotations/): For some use cases, you might want to print your document without annotations. This where the noPrint flag comes in handy. [Resize multiline text form field height](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-resize-form-fields/): Learn how to automatically resize multiline text form fields when content overflows with this helpful code snippet. [How do I rotate a page?](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-rotate-a-page/): To rotate a page in a document, use the DocumentOperation API. For example, if you want to rotate the first page of your document 90 degrees clockwise. [How do I toggle between themes?](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-toggle-the-theme/): By default, Nutrient uses a [light theme], and you can change the [theme in your configuration] when loading your document. [How do I zoom to a specific value?](https://www.nutrient.io/guides/web/knowledge-base/how-do-i-zoom-to-a-specific-value/): To zoom to a specific value, you can set the zoom level with setViewState: for Nutrient Web SDK. [How can I create a bookmark from an outline element?](https://www.nutrient.io/guides/web/knowledge-base/how-to-create-bookmarks-from-outline-elements/): One way to create a bookmark from an outline element is to manually “turn” an outline element into a bookmark using our instance.getDocumentOutline(). [Preserve attachments used for stamp annotation templates](https://www.nutrient.io/guides/web/knowledge-base/image-attachments-lost-stamp-annotation-templates/): When document operations are applied, either by calling NutrientViewer.Instance#applyOperations or using the Document Editor UI. [Iterate over PDF form fields and widgets](https://www.nutrient.io/guides/web/knowledge-base/iterate-over-form-fields/): Iterate through all form fields and widgets in a document to enhance their appearance. Learn to apply solid borders to empty fields using JavaScript. [License registered for a different bundle identifier](https://www.nutrient.io/guides/web/knowledge-base/license-registered-different-bundle-id/): License registered for a different bundle identifier guide for Nutrient Web SDK with detailed instructions and code examples. [Creating link annotations with text](https://www.nutrient.io/guides/web/knowledge-base/link-text/): Learn to create link annotations with text by overlaying them on existing annotations. Use the provided code snippet to implement clickable links efficiently. [Load a PDF as an array buffer](https://www.nutrient.io/guides/web/knowledge-base/load-pdf-as-arraybuffer/): To load a PDF as an array buffer in Nutrient Web SDK, instead of passing the document URL directly in the configuration object. [Load a PDF from a stream](https://www.nutrient.io/guides/web/knowledge-base/load-pdf-from-stream/): Learn how to load a PDF from a stream using Nutrient Web SDK by converting your stream into an ArrayBuffer for seamless document integration. [Load a minimal PDF stub from a string](https://www.nutrient.io/guides/web/knowledge-base/load-pdf-stub-from-string/): To load a minimal PDF stub from a string, use the basic set of information needed by Nutrient Web SDK to render a document. [How to load multiple files in a single viewer instance](https://www.nutrient.io/guides/web/knowledge-base/loading-multiple-files/): To load multiple PDF files and show them in a single viewer instance, you can merge your documents with our document editor API. [Manual Instant sync](https://www.nutrient.io/guides/web/knowledge-base/manual-instant-sync/): Learn how to disable automatic synchronization in Nutrient Web SDK’s Instant mode. Configure settings to prevent auto-sync with Document Engine and manually control data updates. [Optimizing Nutrient size for web applications](https://www.nutrient.io/guides/web/knowledge-base/nutrient-size-optimization/): When integrating Nutrient into web applications, you may have some concerns about the library’s size. This guide explains the reasons behind this size. [Observe Document Editor visibility](https://www.nutrient.io/guides/web/knowledge-base/observe-document-editor-visibility/): Learn to use the `viewState.change` event listener to detect when the Document Editor displays or hides, enhancing your application’s interactivity and user experience. [Override the ink signature dialog](https://www.nutrient.io/guides/web/knowledge-base/override-ink-signature-dialog/): Override the default ink signature dialog by intercepting the workflow and implementing a custom dialog. Learn to customize user interactions effectively. [Override the user agent](https://www.nutrient.io/guides/web/knowledge-base/override-user-agent/): Override the user agent in Nutrient to force the Web version. Learn to inject code that modifies the `navigator.userAgent` string effectively. [Knowledge base overview](https://www.nutrient.io/guides/web/knowledge-base/overview/): Knowledge base overview guide for Nutrient Web SDK with detailed instructions and code examples. [Persist the currently edited note annotation text](https://www.nutrient.io/guides/web/knowledge-base/persist-currently-edited-note-test/): When the text of a note annotation is modified, the modification isn’t applied to the note until the note is closed. This complies. [Persist ink signatures across instances](https://www.nutrient.io/guides/web/knowledge-base/persist-ink-signatures-across-instances/): Ink signatures aren’t automatically persisted in memory by Nutrient Web SDK. This is something that needs to be implemented. [Place annotations at the visible center of the viewport](https://www.nutrient.io/guides/web/knowledge-base/place-annotation-at-visible-center/): Learn how to create an annotation at the center of the visible viewport in Nutrient Web SDK, accounting for zoom, pan, and scroll state using coordinate transformation. [Prevent editing the content of a text annotation](https://www.nutrient.io/guides/web/knowledge-base/prevent-editing-content-text-annotation/): In some cases, you may want to allow users to move, resize, change properties, etc. of text annotations but ensure they don’t change their content. [Prevent printing with Control-P](https://www.nutrient.io/guides/web/knowledge-base/prevent-shortcut-printing/): It’s possible to prevent the print dialog from appearing when the Control-P keyboard shortcut is used. for Nutrient Web SDK. [Process the currently rendered pages](https://www.nutrient.io/guides/web/knowledge-base/process-currently-rendered-pages/): You may want to set CSS styles, attributes, or content for some specific DOM elements contained on the pages. for Nutrient Web SDK. [Add comment annotations programmatically](https://www.nutrient.io/guides/web/knowledge-base/programmatic-comment-annotations/): Programmatically add comment annotations to PDFs by creating comment marker annotations and associated comment threads using Nutrient Web SDK. [Programmatically navigate to a page](https://www.nutrient.io/guides/web/knowledge-base/programmatically-navigate-to-page/): You can programmatically navigate to a page by mutating the viewState of the Nutrient instance. [Make PDF form fields read-only](https://www.nutrient.io/guides/web/knowledge-base/read-only-forms/): Learn how to restrict form field editing by setting the `readOnly` property or applying client-side restrictions with `isEditableAnnotation` in your web applications. [Render a document at full height](https://www.nutrient.io/guides/web/knowledge-base/render-document-full-height/): This guide outlines how to render a whole document at full height. for Nutrient Web SDK. [Render a document in night mode](https://www.nutrient.io/guides/web/knowledge-base/render-night-mode/): Night mode isn’t yet supported in Nutrient Web SDK, but to render a document in night mode, you could emulate it in a couple different ways. [Render a page in black and white](https://www.nutrient.io/guides/web/knowledge-base/render-page-black-white/): There’s currently no way to manipulate the colors of the content of a document to render them as black and white. for Nutrient Web SDK. [Render a page to an image without annotations](https://www.nutrient.io/guides/web/knowledge-base/render-page-without-annotations/): Render a page as an image without annotations by hiding them first, then using the renderPageAsImageURL function. Achieve clear visuals for your application. [Render the visible area of the current page](https://www.nutrient.io/guides/web/knowledge-base/render-visible-area-in-current-page/): To render the visible area of the current page, render the page as an image and crop it to the visible area: for Nutrient Web SDK. [Add a watermark only when printing](https://www.nutrient.io/guides/web/knowledge-base/render-watermark-when-printing/): Learn to add a watermark to documents during printing using NutrientViewer. Implement the necessary JavaScript snippets for effective customization and control. [Restore the last seen page when reopening a document](https://www.nutrient.io/guides/web/knowledge-base/restore-last-seen-page/): If you want to jump to the last seen page of a document, follow the steps outlined below. for Nutrient Web SDK. [Rotate an ink annotation](https://www.nutrient.io/guides/web/knowledge-base/rotate-ink-annotation/): Ink signatures have no rotation concept in the PDF specification, so there’s no rotation property on NutrientViewer.Annotations#InkAnnotation. [Save a modified PDF to Document Engine](https://www.nutrient.io/guides/web/knowledge-base/save-modified-pdf-to-document-engine/): There are two ways to save a modified PDF to Document Engine while using a standalone setup: for Nutrient Web SDK. [Render an annotation's properties as a tooltip](https://www.nutrient.io/guides/web/knowledge-base/show-annotations-properties-as-tooltip/): To show an annotation property as a tooltip, use NutrientViewer.CustomRenderers:. [Showing the focus ring around read-only annotations](https://www.nutrient.io/guides/web/knowledge-base/show-focus-ring-read-only/): Learn to display a focus ring around read-only annotations in Nutrient Web SDK by creating custom renderers that enable clickable areas for user interaction. [Submit ink signatures with a form](https://www.nutrient.io/guides/web/knowledge-base/submit-ink-signatures-with-form/): This guide outlines how to submit ink signatures along with a form that’s submitted. for Nutrient Web SDK. [Wait for a specific element to appear](https://www.nutrient.io/guides/web/knowledge-base/wait-for-element-appear/): Learn to wait for specific elements in the DOM using `MutationObserver`, ensuring your application reacts promptly when annotations or fields appear. [Zoom to annotation in PDF on load](https://www.nutrient.io/guides/web/knowledge-base/zoom-to-specific-annotation/): Learn how to zoom to specific annotations when a PDF loads using Nutrient's jumpAndZoomToRect() method. [Toggle layers (OCGs) visibility in a PDF via the UI](https://www.nutrient.io/guides/web/layers/built-in-ui/): This guide covers how to toggle the visibility of optional content group (OCG) layers via our user interface (UI). for Nutrient Web SDK. [JavaScript library for PDF layers (OCGs)](https://www.nutrient.io/guides/web/layers/): Unlock the power of layers in web development with our comprehensive guide. Elevate your skills and create captivating designs. Explore now! [JavaScript framework for PDF layers (OCGs)](https://www.nutrient.io/guides/web/layers/introduction-to-ocg-layers/): A PDF layer, also known as an optional content group (OCG), is a feature in PDF documents that allows for the organization of content into separate. [Toggle layers (OCGs) visibility in a PDF using JavaScript](https://www.nutrient.io/guides/web/layers/visibility/): Discover how to programmatically toggle or lock the visibility of OCG layers using a variety of different APIs. Additionally. [Configure measurements in a PDF using JavaScript](https://www.nutrient.io/guides/web/measurements/configure-measurements/): Learn how to configure measurements in PDFs using JavaScript with Nutrient Web SDK. Set scale and precision for accurate distance and area calculations. [JavaScript PDF measurement library: Measure distance and area](https://www.nutrient.io/guides/web/measurements/): Learn how to measure distance and area in PDF documents using JavaScript with Nutrient Web SDK. Implement accurate measurement tools for various industries in your web apps. [Measure area in a PDF using JavaScript](https://www.nutrient.io/guides/web/measurements/measure-area/): Learn how to measure area in a PDF using JavaScript with Nutrient Web SDK. Measure area of polygons, ellipses, and rectangles programmatically or through the built-in UI. [Measure distance in a PDF using JavaScript](https://www.nutrient.io/guides/web/measurements/measure-distance/): Learn how to measure distance in a PDF using JavaScript with Nutrient Web SDK. Measure between two points or multiple connected points programmatically or through the built-in user interface (UI). [Mendix PDF viewer: Open, view, edit, sign, more](https://www.nutrient.io/guides/web/mendix/): Nutrient’s Mendix PDF viewer is a soon-to-be-released integration for viewing, annotating, editing, and creating PDFs in Mendix. [Blocks UI migration](https://www.nutrient.io/guides/web/migration-guides/2025-blocks-ui-migration/): Comprehensive upgrade guide for Nutrient Web SDK covering version migrations, breaking changes, and new features. [Aria labels migration guide](https://www.nutrient.io/guides/web/migration-guides/aria-labels-migration-guide/): Comprehensive upgrade guide for Nutrient Web SDK covering version migrations, breaking changes, and new features. [Baseline UI migration guide](https://www.nutrient.io/guides/web/migration-guides/baseline-ui-migration-guide/): Comprehensive upgrade guide for Nutrient Web SDK covering version migrations, breaking changes, and new features. [Migrate to electronic signatures smoothly](https://www.nutrient.io/guides/web/migration-guides/migrating-to-electronic-signatures/): Learn how to migrate to electronic signatures with an improved UI and robust compatibility for a smoother signing experience. [Perform optical character recognition (OCR) on PDF documents](https://www.nutrient.io/guides/web/ocr/): Learn how to use Nutrient Web SDK to perform OCR on PDF documents in multiple languages. Unlock text for search and selection with simple JavaScript commands. [JavaScript Office library: Word, Excel, PowerPoint](https://www.nutrient.io/guides/web/office/): Unlock the secrets of optimizing your office workflow with our expert guide. Boost productivity and streamline processes today! [Open PDF from an array buffer using JavaScript](https://www.nutrient.io/guides/web/open-a-document/from-arraybuffer/): Learn how to open PDFs, MS Office files, and images from an ArrayBuffer using JavaScript with our step-by-step guides and examples. [Open PDF from Base64 in browser using JavaScript](https://www.nutrient.io/guides/web/open-a-document/from-base64-data/): Learn how to open Base64 PDF, MS Office, and image files in the browser using JavaScript with our comprehensive guide and step-by-step instructions. [Open & display PDF from Blob using JavaScript](https://www.nutrient.io/guides/web/open-a-document/from-blob/): Open & display PDF from Blob using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Open document from Document Engine](https://www.nutrient.io/guides/web/open-a-document/from-document-engine/): Learn how to open documents from Document Engine seamlessly. Follow our detailed guide for easy integration and efficient document management. [Open PDF using DWS Viewer API](https://www.nutrient.io/guides/web/open-a-document/from-dws-viewer-api/): Learn how to open PDF documents using the Nutrient Document Web Services (DWS) Viewer API. Integrate PDF viewing capabilities into your web applications. [Open local PDF file using JavaScript](https://www.nutrient.io/guides/web/open-a-document/from-local-storage/): Open local PDF file using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Open & display PDF file from a remote URL using JavaScript](https://www.nutrient.io/guides/web/open-a-document/from-remote-url/): Open & display PDF file from a remote URL using JavaScript | guide for Nutrient Web SDK with detailed instructions and code examples. [Open images (JPG, PNG, TIFF) from an array buffer in JavaScript](https://www.nutrient.io/guides/web/open-a-document/image-from-arraybuffer/): Learn how to open PDF, MS Office, and image files from an array buffer using JavaScript with our easy-to-follow guide and examples. [Open Base64 image files (JPG, PNG, TIFF) using JavaScript](https://www.nutrient.io/guides/web/open-a-document/image-from-base64-data/): Learn how to open Base64 PDF, MS Office, and image files in the browser using JavaScript. Step-by-step guide for seamless file handling. [Open image files (JPG, PNG, TIFF) from Blob in JavaScript](https://www.nutrient.io/guides/web/open-a-document/image-from-blob/): Learn how to open and display PDF, MS Office, and image files from a Blob using JavaScript with our comprehensive guide. [Open local image files (JPG, PNG, TIFF) using JavaScript](https://www.nutrient.io/guides/web/open-a-document/image-from-local-storage/): Learn how to open local PDF, MS Office, and image files using JavaScript in this comprehensive guide. Simple steps for developers and enthusiasts. [Open image files (JPG, PNG, TIFF) from URL in JavaScript](https://www.nutrient.io/guides/web/open-a-document/image-from-remote-url/): Learn how to open and display PDF, MS Office, and image files from remote URLs using JavaScript with our easy-to-follow guide. [Open & display PDF in browser using JavaScript](https://www.nutrient.io/guides/web/open-a-document/): Learn the secrets to opening PDF documents with ease. Find expert tips and solutions in this comprehensive guide. Click now! [Open & display Word, Excel, PPT in browser using JavaScript](https://www.nutrient.io/guides/web/open-a-document/office/): Learn the secret to opening Office documents on the web effortlessly. Discover expert tips and tricks. Get started now! [Open Office (DOC, XLS, PPT) from ArrayBuffer in JavaScript](https://www.nutrient.io/guides/web/open-a-document/office-from-arraybuffer/): Learn how to open PDF, MS Office, and image files from an ArrayBuffer using JavaScript. Explore practical guides and enhance your web applications. [Open Base64 Office files (DOC, XLS, PPT) using JavaScript](https://www.nutrient.io/guides/web/open-a-document/office-from-base64-data/): Learn how to open PDF, MS Office, and image files from Base64 data in the browser using JavaScript. Easy step-by-step instructions included. [Open MS Office files from Blob in JavaScript](https://www.nutrient.io/guides/web/open-a-document/office-from-blob/): Learn how to open and display PDF, MS Office, and image files from Blob using JavaScript. Enhance your web applications with these techniques. [Open local MS Office files in JavaScript](https://www.nutrient.io/guides/web/open-a-document/office-from-local-storage/): Learn how to open local PDF, MS Office, and image files using JavaScript. Step-by-step guides for seamless file access in your web applications. [Open MS Office files from URL in JavaScript](https://www.nutrient.io/guides/web/open-a-document/office-from-remote-url/): Learn how to open and display PDFs, MS Office files, and images from a URL using JavaScript. Enhance your web applications easily! [Open specific page in PDF using JavaScript](https://www.nutrient.io/guides/web/features/open-parameters/): Nutrient Web SDK supports a PDF feature called PDF open parameters, which lets you control specific view options via parts of the URL. [Create & open encrypted PDF using JavaScript](https://www.nutrient.io/guides/web/standalone/accessing-protected-files/): The easiest way to securely transfer your PDF is to serve it through HTTPS. This way, the browser will take care of decrypting the secured communication for you. [Restrict access to PDF with HTTP basic authentication](https://www.nutrient.io/guides/web/open-a-document/secured-documents/http-authenticated/): Sometimes you want to restrict access to your PDFs so they aren’t publicly available on the internet. The easiest way to achieve this is. [Open password-protected PDFs in JavaScript](https://www.nutrient.io/guides/web/features/password-protected-pdfs/): Open and edit password-protected PDFs in JavaScript using Nutrient Web SDK. Learn to set passwords, manage JWT authentication, and enhance document security. [OutSystems PDF viewer: View, edit, sign, more](https://www.nutrient.io/guides/web/outsystems/): Nutrient’s OutSystems PDF viewer is a soon-to-be-released integration for viewing, annotating, editing, and creating PDFs in OutSystems. [Generate PDF from image using JavaScript](https://www.nutrient.io/guides/web/pdf-generation/from-images/): When calling PSPDFKit#load() with Nutrient Web SDK, you can pass either an array buffer or a URL to the image into the document option. [Generate a PDF with a PDF form using JavaScript](https://www.nutrient.io/guides/web/pdf-generation/from-pdf-form/): Discover how to easily generate PDFs from web forms. Enhance your workflow with our step-by-step guide on PDF creation and integration. [Create PDF with JavaScript: Generate PDF from template](https://www.nutrient.io/guides/web/pdf-generation/from-pdf-template/): Generating PDFs programmatically is a common requirement in modern web applications. Whether you’re building invoices, reports, or other documents. [Generate PDFs from a Word template using JavaScript](https://www.nutrient.io/guides/web/pdf-generation/from-word-template/): Learn to create PDFs from Word templates using Nutrient Web SDK. Populate DOCX files with data and export in PDF or PDF/A formats effortlessly. [Headless JavaScript PDF generation library: Create PDFs](https://www.nutrient.io/guides/web/pdf-generation/headless/): It’s possible to generate PDFs or DOCX files without the need to present any user interface (UI) to the user. for Nutrient Web SDK. [JavaScript PDF generation library](https://www.nutrient.io/guides/web/pdf-generation/): Learn the secrets to flawless PDF generation for the web with our expert guide. Boost your skills and enhance your projects. Click to uncover more! [PDF report generation using JavaScript](https://www.nutrient.io/guides/web/pdf-generation/pdf-reports/): Create PDF reports in a user’s browser using Nutrient SDK. Utilize templates, custom pages, and annotations to produce professional documents effortlessly. [Generate PDF thumbnails using JavaScript library](https://www.nutrient.io/guides/web/pdf-generation/thumbnail-preview/): In addition to rendering PDFs in the viewer, you can use Nutrient Web SDK to render single PDF pages as images. This can be useful when you want to. [PDF annotation diff with JavaScript](https://www.nutrient.io/guides/web/performance/annotation-diff/): Transferring PDF documents over the network is wasteful, since their content doesn’t often change — with the exception of document annotations. [PDF rendering performance with JavaScript viewer](https://www.nutrient.io/guides/web/best-practices/performance/): The performance of a web application is extremely important for usability, as it directly affects the time it takes for a user to complete their task. [Web caching for JavaScript PDF viewer](https://www.nutrient.io/guides/web/best-practices/caching-on-the-web/): To let your users experience a fast PDF viewer, the loading performance of assets — especially your PDF files — is critical. [Fast linearized PDF downloading](https://www.nutrient.io/guides/web/performance/linearized-downloads/): Learn how linearized PDFs improve access speed for large documents while downloading. Discover efficient solutions for web applications. [Optimize JavaScript PDF streaming](https://www.nutrient.io/guides/web/performance/streaming/): Discover how document streaming improves PDF viewing speed and performance for web applications. Try it for free now! [Silent & auto print PDF using JavaScript [without dialog]](https://www.nutrient.io/guides/web/print/auto-print/): If you want to start printing a PDF the moment it’s loaded, you can do this with the instance.print() API method. for Nutrient Web SDK. [Disable print option in PDF using JavaScript](https://www.nutrient.io/guides/web/print/disable-printing/): Sometimes you won’t want your users to be able to print the content you serve. This guide outlines the default printing behavior. [Print Base64 PDF using JavaScript](https://www.nutrient.io/guides/web/print/from-base64/): If you want to start printing a document encoded in Base64, load it by passing it to the document option in your configuration as a data URI. [Print PDF from Blob using JavaScript](https://www.nutrient.io/guides/web/print/from-blob/): Learn how to print a document from a Blob using Nutrient with object URLs. Follow our easy steps to initiate printing seamlessly. [JavaScript print PDF from URL](https://www.nutrient.io/guides/web/print/from-url/): If you want to start printing a document from a URL, load it by passing it to the document option in your configuration. for Nutrient Web SDK. [JavaScript library to print PDFs: Fast & accurate](https://www.nutrient.io/guides/web/print/): Unlock the secrets to perfect web printing with our comprehensive guide. Everything you need to know awaits. Click to be amazed! [Print modes in JavaScript PDF viewer](https://www.nutrient.io/guides/web/print/print-modes/): To print a document with Nutrient Web SDK, you can choose between two printing modes, each with its own tradeoffs. [JavaScript print to PDF programmatically](https://www.nutrient.io/guides/web/features/printing/): In addition to using the standard print button from the main toolbar, printing can be managed programmatically via the API. for Nutrient Web SDK. [Print PDF without annotations using JavaScript](https://www.nutrient.io/guides/web/print/without-annotations/): You can use our programmatic API to print a document without annotations by setting the excludeAnnotations flag: for Nutrient Web SDK. [Print PDF to printer in JavaScript without preview / opening](https://www.nutrient.io/guides/web/print/without-opening-pdf/): Learn how to print a PDF directly to a printer in JavaScript without any user preview. Use Nutrient Web SDK in headless mode for seamless printing. [JavaScript PDF viewer with redaction tools](https://www.nutrient.io/guides/web/redaction/built-in-ui/): Easily redact text and images in PDFs using JavaScript viewer tools. Try our redaction features for free today! [Headless JavaScript PDF redaction library](https://www.nutrient.io/guides/web/redaction/headless/): It’s possible to apply redaction operations without the need to present any user interface (UI) to the user. for Nutrient Web SDK. [JavaScript PDF redaction library: Secure & permanent](https://www.nutrient.io/guides/web/redaction/): Unlock the secrets to secure document redaction techniques. Learn how with our comprehensive guide. Secure your data today! [PDF redaction framework essentials](https://www.nutrient.io/guides/web/redaction/introduction-to-redaction/): Learn effective PDF redaction techniques to securely remove sensitive information while ensuring compliance with privacy regulations like GDPR and HIPAA. [Automated document redaction with patterns](https://www.nutrient.io/guides/web/redaction/preset-patterns/): Search and apply redaction patterns to documents, ensuring sensitive information is securely removed and permanently lost. [Redact PDF programmatically using JavaScript](https://www.nutrient.io/guides/web/redaction/programmatically/): Learn to programmatically redact documents in Nutrient Web SDK with JavaScript, utilizing customizable redaction annotations and overlay text options. [Regex PDF redaction using JavaScript](https://www.nutrient.io/guides/web/redaction/regex-patterns/): Nutrient Web SDK lets you search text matching a regular expression and redact it. [Search & redact PDF using JavaScript](https://www.nutrient.io/guides/web/redaction/search-and-redact/): It’s possible to use Nutrient Web SDK to automatically create redaction annotations based on specific search criteria. This could be a text term. [1.0 release notes](https://www.nutrient.io/guides/web/release-notes/1-0/): Lists important changes for Nutrient Web SDK 1.0 [1.1 release notes](https://www.nutrient.io/guides/web/release-notes/1-1/): Lists important changes for Nutrient Web SDK 1.1 [1.10 release notes](https://www.nutrient.io/guides/web/release-notes/1-10/): Lists important changes for Nutrient Web SDK 1.10 [1.2 release notes](https://www.nutrient.io/guides/web/release-notes/1-2/): Lists important changes for Nutrient Web SDK 1.2 [1.3 release notes](https://www.nutrient.io/guides/web/release-notes/1-3/): Lists important changes for Nutrient Web SDK 1.3 [1.4 release notes](https://www.nutrient.io/guides/web/release-notes/1-4/): Lists important changes for Nutrient Web SDK 1.4 [1.5 release notes](https://www.nutrient.io/guides/web/release-notes/1-5/): Lists important changes for Nutrient Web SDK 1.5 [1.6 release notes](https://www.nutrient.io/guides/web/release-notes/1-6/): Lists important changes for Nutrient Web SDK 1.6 [1.7 release notes](https://www.nutrient.io/guides/web/release-notes/1-7/): Lists important changes for Nutrient Web SDK 1.7 [1.8 release notes](https://www.nutrient.io/guides/web/release-notes/1-8/): Lists important changes for Nutrient Web SDK 1.8 [1.9 release notes](https://www.nutrient.io/guides/web/release-notes/1-9/): Lists important changes for Nutrient Web SDK 1.9 [2017.3 release notes](https://www.nutrient.io/guides/web/release-notes/2017-3/): Latest updates and release notes for Nutrient Web SDK including new features, improvements, and bug fixes. [2017.6 release notes](https://www.nutrient.io/guides/web/release-notes/2017-6/): Discover the new features in PSPDFKit 2017.6, including note annotations, improved zoom modes, and real-time collaboration for seamless document editing. [2017.7 release notes](https://www.nutrient.io/guides/web/release-notes/2017-7/): Explore the new features of PSPDFKit for Web 2017.7, including API changes and improved printing capabilities. [2017.8 release notes](https://www.nutrient.io/guides/web/release-notes/2017-8/): Learn to seamlessly upgrade annotation IDs in PSPDFKit Web 2017.8 with our comprehensive migration guide. [2017.9 release notes](https://www.nutrient.io/guides/web/release-notes/2017-9/): Learn about the new form support, responsive toolbar, and headless mode in PSPDFKit for Web 2017.9. Check migration and annotation guides for details! [2018.1 release notes](https://www.nutrient.io/guides/web/release-notes/2018-1/): Explore the enhancements in PSPDFKit 2018.1, including new toolbar items, XFDF support, and improved WebAssembly initialization. [2018.2 release notes](https://www.nutrient.io/guides/web/release-notes/2018-2/): Explore the features of PSPDFKit for Web 2018.2 including Electron support and API updates. [2018.3 release notes](https://www.nutrient.io/guides/web/release-notes/2018-3/): Learn about the latest updates in PSPDFKit for Web 2018.3, including ink signatures, password protection, and a simplified deployment structure. [2018.4 release notes](https://www.nutrient.io/guides/web/release-notes/2018-4/): Discover key enhancements in PSPDFKit for Web 2018.4, including shape annotations and API updates for better document management. [2018.5 release notes](https://www.nutrient.io/guides/web/release-notes/2018-5/): Learn about the latest updates in PSPDFKit 2018.5, featuring image annotations and enhanced annotation tools for PDFs. [2018.6 release notes](https://www.nutrient.io/guides/web/release-notes/2018-6/): Learn about the latest features in PSPDFKit for Web 2018.6, including stamp annotations and a bookmarks sidebar for improved navigation. [2018.7 release notes](https://www.nutrient.io/guides/web/release-notes/2018-7/): Learn about customizable tooltips, enhanced DOM support, and other important features in PSPDFKit for Web 2018.7. [2019.1 release notes](https://www.nutrient.io/guides/web/release-notes/2019-1/): Explore notable improvements in PSPDFKit for Web 2019.1, including font changes and updated annotation models for seamless integration. [2019.2 release notes](https://www.nutrient.io/guides/web/release-notes/2019-2/): Learn about the API changes and migration steps for PSPDFKit for Web 2019.2, including updates to annotation, bookmark, and form field methods. [2019.3 release notes](https://www.nutrient.io/guides/web/release-notes/2019-3/): Explore the key updates in PSPDFKit for Web 2019.3, including annotation changes and migration tips for seamless integration. [2019.4 release notes](https://www.nutrient.io/guides/web/release-notes/2019-4/): Explore key enhancements in PSPDFKit for Web 2019.4, including UI changes, a new Document Editor, and migration tips for seamless adaptation. [2019.5 release notes](https://www.nutrient.io/guides/web/release-notes/2019-5/): Explore the 2019.5 migration guide for PSPDFKit for Web. No web migration needed, check changelog and server guide for updates. [2020.1 release notes](https://www.nutrient.io/guides/web/release-notes/2020-1/): Explore the significant updates in PSPDFKit Web 2020.1, including localization changes and deprecated features for seamless migration. [2020.2 release notes](https://www.nutrient.io/guides/web/release-notes/2020-2/): Explore essential migration tips and deprecated options in PSPDFKit for Web 2020.2 for a smooth upgrade experience. [2020.3 release notes](https://www.nutrient.io/guides/web/release-notes/2020-3/): Explore the PSPDFKit Web 2020.3 migration guide with key updates and changes for a smooth integration experience. [2020.4 release notes](https://www.nutrient.io/guides/web/release-notes/2020-4/): Learn about the 2020.4 migration guide for PSPDFKit Web and Server. No web-related migration needed for 2020.4. [2020.5 release notes](https://www.nutrient.io/guides/web/release-notes/2020-5/): Easily migrate to the unified CRUD API in PSPDFKit 2020.5 with improved batch updates and streamlined object management for annotations and comments. [2020.6 release notes](https://www.nutrient.io/guides/web/release-notes/2020-6/): Explore the key updates in PSPDFKit Web 2020.6, including a new default blue and migration tips for annotations and color presets. [2021.1 release notes](https://www.nutrient.io/guides/web/release-notes/2021-1/): Navigate changes in PSPDFKit for Web 2021.1 and optimize your configuration for new features like the Export PDF button. Update your migration strategy now! [Web 2021.2 release notes](https://www.nutrient.io/guides/web/release-notes/2021-2/): Explore the new PDF Generation feature and migration tips in PSPDFKit for Web 2021.2. Discover all updates in the latest changelog. [2021.3 release notes](https://www.nutrient.io/guides/web/release-notes/2021-3/): Discover the latest PSPDFKit 2021.3 update with API renaming from ink signatures to stored signatures, enhancing clarity and usability. [2021.4 release notes](https://www.nutrient.io/guides/web/release-notes/2021-4/): Explore the new features of PSPDFKit 2021.4, including default JavaScript actions and improved TypeScript declarations for better integration and accuracy. [2021.5 release notes](https://www.nutrient.io/guides/web/release-notes/2021-5/): Explore the new AP stream rendering in PSPDFKit 2021.5 and understand important migration steps for improved performance in older browsers. [2021.6 release notes](https://www.nutrient.io/guides/web/release-notes/2021-6/): Learn about the API changes and migration steps for PSPDFKit for Web 2021.6, including updates to annotation, bookmark, and form field methods. [2022.1 release notes](https://www.nutrient.io/guides/web/release-notes/2022-1/): Explore the latest API updates in PSPDFKit 2022.1.1 and ensure a smooth transition for your implementation. [2022.2 release notes](https://www.nutrient.io/guides/web/release-notes/2022-2/): Discover new features and fixes in PSPDFKit for Web 2022.2, including text selection improvements for rotated documents. [2022.3 release notes](https://www.nutrient.io/guides/web/release-notes/2022-3/): Learn about the updates in PSPDFKit for Web 2022.3, including persistent icon behavior and crucial bug fixes. Ensure your implementation is up to date! [2022.4 release notes](https://www.nutrient.io/guides/web/release-notes/2022-4/): Learn about PSPDFKit for Web 2022.4 features, bug fixes, and the shift away from Internet Explorer 11 support. Migrate your server with confidence! [2022.5 release notes](https://www.nutrient.io/guides/web/release-notes/2022-5/): Explore new APIs and fixes in PSPDFKit for Web 2022.5, including IE11 support removal and improved text selection capabilities. [2023.1 release notes](https://www.nutrient.io/guides/web/release-notes/2023-1/): Learn about the new features, bug fixes, and changes in PSPDFKit for Web 2023.1 migration guide to enhance your implementation and usage. [2023.2 release notes](https://www.nutrient.io/guides/web/release-notes/2023-2/): Explore key changes in PSPDFKit for Web 2023.2, including API updates and migration steps to optimize your implementation. [2023.3 release notes](https://www.nutrient.io/guides/web/release-notes/2023-3/): Explore key API changes and bug fixes in the PSPDFKit for Web 2023.3 migration guide. Update your implementation for improved performance. [2023.4 release notes](https://www.nutrient.io/guides/web/release-notes/2023-4/): Learn about the new APIs, bug fixes, and important migration steps in PSPDFKit for Web 2023.4. [2023.5 release notes](https://www.nutrient.io/guides/web/release-notes/2023-5/): Explore key updates in the PSPDFKit for Web 2023.5 migration, including new features, bug fixes, and implementation advice. [2024.1 release notes](https://www.nutrient.io/guides/web/release-notes/2024-1/): Learn key updates and API changes in Nutrient Web SDK 2024.1. Ensure a smooth migration with our comprehensive guide to new features. [2024.2 release notes](https://www.nutrient.io/guides/web/release-notes/2024-2/): Discover the breaking changes in Nutrient Web SDK 2024.2, including the new clipboard annotation API. Ensure your implementation is up to date. [2024.3 release notes](https://www.nutrient.io/guides/web/release-notes/2024-3/): Discover the latest updates in Nutrient Web SDK 2024.3, including browser support changes and essential implementation guidelines for users. [2024.4 release notes](https://www.nutrient.io/guides/web/release-notes/2024-4/): Latest updates and release notes for Nutrient Web SDK including new features, improvements, and bug fixes. [2024.5 release notes](https://www.nutrient.io/guides/web/release-notes/2024-5/): Latest updates and release notes for Nutrient Web SDK including new features, improvements, and bug fixes. [2024.7 release notes](https://www.nutrient.io/guides/web/release-notes/2024-7/): Latest updates and release notes for Nutrient Web SDK including new features, improvements, and bug fixes. [2024.8 release notes](https://www.nutrient.io/guides/web/release-notes/2024-8/): Latest updates and release notes for Nutrient Web SDK including new features, improvements, and bug fixes. [Web changelog](https://www.nutrient.io/guides/web/release-notes/changelog/): Latest updates and release notes for Nutrient Web SDK, including new features, improvements, and bug fixes. [Upgrading Nutrient Web SDK](https://www.nutrient.io/guides/web/release-notes/upgrading/): Before upgrading Nutrient Web SDK, refer to the desired guide in the sidebar. [Add watermark to PDF using JavaScript example](https://www.nutrient.io/guides/web/samples/add-watermarks-to-pdf-javascript/): Learn to add custom watermarks like images and logos to your PDFs. Explore our JavaScript guide for detailed resources and examples. [Add electronic signature image to PDF using JavaScript](https://www.nutrient.io/guides/web/samples/adding-image-electronic-signatures/): Discover how to use our API to programmatically add electronic signature images to PDFs. Start integrating today with our easy-to-follow example! [Open, view, & annotate on images using JavaScript](https://www.nutrient.io/guides/web/samples/annotating-images/): Discover how to open and annotate images with Nutrient Web SDK. Access our guide for step-by-step instructions and JavaScript resources. [Customize UI for PDF annotations using JavaScript](https://www.nutrient.io/guides/web/samples/annotations-inspector/): Discover a custom UI for managing annotation style attributes with an inline popup. Visit our guide for more on working with annotations. [PDF collaboration permissions using JavaScript](https://www.nutrient.io/guides/web/samples/collaboration-permissions/): Learn how to enforce permissions based on JWT parameters with our JavaScript example. Enhance your app's security effectively and efficiently. [Customize PDF annotation permission using JavaScript](https://www.nutrient.io/guides/web/samples/custom-annotation-permissions/): Learn to set custom permissions for annotations and explore our comprehensive guide on defining document collaboration permissions for effective teamwork. [Customize PDF annotation tooltip using JavaScript](https://www.nutrient.io/guides/web/samples/custom-annotation-tooltip/): Learn to add custom actions for selected annotations. Explore our guide on enhancing the annotation inspector for improved user experience and functionality. [Custom HTML PDF annotations using JavaScript](https://www.nutrient.io/guides/web/samples/custom-annotations/): Learn how to customize PDF annotations using HTML and SVG images. Explore our guide for more resources on enhancing PDF annotation functionality. [Create custom overlay on PDF using JavaScript](https://www.nutrient.io/guides/web/samples/custom-overlay-items/): Learn how to extend PDFs by adding custom elements using Nutrient Web SDK. Explore our guide for tips on customizing overlays in your viewer. [Customized document editor toolbar example](https://www.nutrient.io/guides/web/samples/customized-document-editor-toolbar/): Learn how to personalize your document editor's toolbar and footer using a simple API. Enhance user experience with our easy-to-follow example! [Customizing PDF text search using JavaScript](https://www.nutrient.io/guides/web/samples/customized-pdf-search/): Learn how to customize PDF search to match complete words. Explore our JavaScript PDF search library and UI customization guides for more resources. [Customize PDF toolbar using JavaScript](https://www.nutrient.io/guides/web/samples/customized-pdf-toolbar/): Learn how to customize your PDF toolbar using Nutrient tools. Explore our guide for creating new tools in your viewer toolbar. [View PDF in dark mode using JavaScript](https://www.nutrient.io/guides/web/samples/dark-mode-pdf-viewer/): Learn how to enable dark mode in Nutrient’s PDF viewer programmatically or via device settings. Explore our comprehensive guide for more resources. [Drag-and-drop UI in JavaScript PDF viewer](https://www.nutrient.io/guides/web/samples/drag-and-drop/): Learn to add custom views in Nutrient Web SDK, enabling drag-and-drop image elements onto document pages with our step-by-step code example. [Edit PDF using JavaScript example](https://www.nutrient.io/guides/web/samples/edit-pdf-javascript/): Learn to add, remove, and reorder pages in PDFs. Explore our JavaScript PDF editor library for advanced features and resources. [Add electronic signature to PDF using JavaScript](https://www.nutrient.io/guides/web/samples/electronic-signatures-in-pdf/): Learn how to add electronic signatures to PDFs and save them in local storage for seamless access. Explore our JavaScript PDF signature library for more resources. [Flipbook PDF viewer using JavaScript](https://www.nutrient.io/guides/web/samples/flipbook/): Add a page flip effect to let users browse a PDF like a real magazine. Get additional resources by visiting our JavaScript PDF viewer library. [Hide or reveal area on PDF using JavaScript](https://www.nutrient.io/guides/web/samples/hide-reveal-area-in-pdf/): Learn how to use JavaScript to allow users to hide or reveal specific areas on a PDF page. Explore our code sample for easy implementation. [Collaborate on PDFs using JavaScript](https://www.nutrient.io/guides/web/samples/instant-pdf-collaboration/): Discover how to collaborate on PDFs using Instant comments. Explore our JavaScript example and improve your document review process today! [Digitally sign a PDF using JavaScript example](https://www.nutrient.io/guides/web/samples/javascript-digital-signatures/): Learn to digitally sign any PDF using JavaScript. Access resources and guides for invisible signing and explore code examples for implementation. [JavaScript PDF magazine viewer](https://www.nutrient.io/guides/web/samples/javascript-magazine-viewer/): Discover how to create a PDF magazine viewer with text highlight, bookmarks, thumbnails, and more. Explore our guides for enhanced features and resources. [PDF annotation in JavaScript example](https://www.nutrient.io/guides/web/samples/javascript-pdf-annotations/): Learn how to add links, highlights, and notes to PDFs using our JavaScript annotation library. Explore examples to enhance your PDF documents today! [PDF form support using JavaScript example](https://www.nutrient.io/guides/web/samples/javascript-pdf-form/): Discover how Nutrient supports PDF form fields. Learn to read, fill, and submit PDF forms using our JavaScript PDF forms library and API. [Redact PDFs using JavaScript example](https://www.nutrient.io/guides/web/samples/javascript-pdf-redaction/): Discover a custom sidebar UI for automated content redaction. Preview results and use specific search options. Visit our JavaScript PDF library for more! [Open PDF using JavaScript example](https://www.nutrient.io/guides/web/samples/open-pdf-using-javascript/): Discover how to launch a default PDF viewer UI in a web browser and load documents with our JavaScript guide. Explore more resources today! [Disable PDF editing in read-only mode](https://www.nutrient.io/guides/web/samples/open-read-only-pdf/): Learn to set read-only mode in Nutrient to prevent PDF editing and annotations. Explore our guide for customizing permissions. [Handling password-protected PDF in JavaScript viewer](https://www.nutrient.io/guides/web/samples/password-protected-pdf/): Learn how to lock and unlock PDF documents with passwords using robust encryption in JavaScript. Access our guide for additional resources and examples. [Customizing JavaScript PDF printing modes](https://www.nutrient.io/guides/web/samples/pdf-printing-modes/): Discover how to customize PDF printing modes in JavaScript with examples and resources. Learn to implement specific printing modes today! [PDF text selection using JavaScript example](https://www.nutrient.io/guides/web/samples/pdf-text-selection-javascript/): Discover how Nutrient Web SDK enables efficient text selection in scientific documents. Explore our JavaScript PDF text extraction guide for more resources. [PDF presentation mode using JavaScript](https://www.nutrient.io/guides/web/samples/presentation-mode/): Learn how to customize the Nutrient Web SDK UI into a fullscreen presentation slide viewer. Visit our guide for additional resources and examples. [Storing electronic signature in browser using JavaScript](https://www.nutrient.io/guides/web/samples/stored-electronic-signatures/): Learn how to save and store electronic signatures in local storage with our JavaScript guide. Access code examples and enhance your signature management. [Zoom example for JavaScript PDF viewer](https://www.nutrient.io/guides/web/samples/zooming/): Discover how to implement fast zooming and panning of PDF pages with our JavaScript viewer. Explore more in our comprehensive guide on zoom options. [Auto-save PDF changes in JavaScript viewer](https://www.nutrient.io/guides/web/features/saving/): Nutrient Web SDK allows modification of multiple domain objects. These objects include annotations, bookmarks, comments, form fields, and form field values. [Detect unsaved changes in PDFs](https://www.nutrient.io/guides/web/save-a-document/detect-unsaved-changes/): You can check to see if there are any unsaved changes to a document by calling Instance#hasUnsavedChanges. for Nutrient Web SDK. [Enable incremental saving of PDFs in JavaScript viewer](https://www.nutrient.io/guides/web/features/document-processing/): Discover the differences between incremental and full saving strategies in document management, and how Nutrient Web SDK handles both methods effectively. [Save & download PDF files using JavaScript](https://www.nutrient.io/guides/web/save-a-document/): Learn the secret to effortlessly save and manage documents online. Discover our sample code for document saving with Nutrient today. [Save documents as PDFs on the web](https://www.nutrient.io/guides/web/save-a-document/save-as/): Learn how to use the Save As feature for PDFs, enabling users to edit and save documents efficiently with Nutrient. [Save & download PDF from ArrayBuffer using JavaScript](https://www.nutrient.io/guides/web/save-a-document/to-arraybuffer/): Exporting a PDF to an ArrayBuffer can be done with a single API call to instance.exportPDF(): for Nutrient Web SDK. [Save & download PDF to Document Engine](https://www.nutrient.io/guides/web/save-a-document/to-document-engine/): Learn how to configure auto-saving in Nutrient Web SDK, using immediate or controlled save modes for efficient document management. [Save & download PDF locally from JavaScript viewer](https://www.nutrient.io/guides/web/save-a-document/to-local-storage/): Learn how to save open documents locally using Nutrient Web SDK with a customizable download button for seamless PDF exports. [Save & download PDF from server with JavaScript viewer](https://www.nutrient.io/guides/web/save-a-document/to-remote-server/): Learn how to use Nutrient Web SDK to programmatically upload PDF documents to a remote server using the Fetch API and FormData in JavaScript. [Save PDF without annotations using JavaScript](https://www.nutrient.io/guides/web/save-a-document/without-annotations/): You can save a document without annotations using the excludeAnnotations API: for Nutrient Web SDK. [Web TWAIN scanner (JavaScript TWAIN)](https://www.nutrient.io/guides/web/scanning/): Connect to a TWAIN scanner using the Nutrient Web SDK JavaScript library to scan, capture, and modify documents directly in your web application. [Search PDF annotations using JavaScript](https://www.nutrient.io/guides/web/search/annotation-search/): Learn how to retrieve and search annotations across all pages in Nutrient Web SDK, optimizing memory usage for seamless document management. [JavaScript PDF viewer with search function](https://www.nutrient.io/guides/web/search/built-in-ui/): JavaScript PDF viewer with search function | guide for Nutrient Web SDK with detailed instructions and code examples. [JavaScript PDF search library: Fast & accurate](https://www.nutrient.io/guides/web/search/): Discover the secrets to unlocking powerful search capabilities on the web. Learn how to enhance your browsing experience with our comprehensive guide. [Customized PDF text search using JavaScript](https://www.nutrient.io/guides/web/features/customized-search/): Learn how to implement and customize full-text search functionality in PDF documents using JavaScript with Nutrient Web SDK. Start your free trial today! [Self-host assets in Web SDK](https://www.nutrient.io/guides/web/self-host-assets/): Learn how to self-host assets in Nutrient Web SDK to completely deploy it on your own infrastructure. [Digital signature architecture: Client-side and server-side](https://www.nutrient.io/guides/web/signatures/digital-signatures/architectures/): Explore various digital signatures architectures, their benefits, and implementation strategies to enhance security and trust in digital communications. [AWS CloudHSM digital signature integration](https://www.nutrient.io/guides/web/signatures/digital-signatures/integrations/aws-hsm/): Learn how to use AWS CloudHSM for secure digital signatures in your applications. [Integrate digital signatures with GlobalSign](https://www.nutrient.io/guides/web/signatures/digital-signatures/integrations/globalsign/): Learn how to integrate Nutrient Web SDK with GlobalSign’s Digital Signing Service (DSS) for secure digital signatures. [Digital signature integrations overview](https://www.nutrient.io/guides/web/signatures/digital-signatures/integrations/overview/): Discover how to enhance document security with digital signature integrations, including GlobalSign DSS and AWS CloudHSM support for NutrientViewer. [JavaScript digital signature library overview](https://www.nutrient.io/guides/web/signatures/digital-signatures/overview/): Explore the fundamentals of digital signatures and public key cryptography to ensure data integrity and authenticity in your online transactions. [Add signature fields to PDFs using JavaScript](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/add-a-signature-field/): Learn how to add a signature field to your web server with our step-by-step guide. Enhance your digital signature process today! [Add visible vs. non-visible digital signature in JavaScript](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/configure-digital-signature-appearance/): Nutrient offers comprehensive support for creating digital signatures, encompassing both visible and invisible signatures. [Self-signed certificates for digital signatures](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/prepare-the-certificates-for-signing/): Learn how to create self-signed certificates for digital signatures and enhance your document security with our comprehensive guide. [JavaScript digitally sign PDF via Document Engine](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document-document-engine/): In this section, you’ll sign using the existing signing service configured for your Document Engine instance. for Nutrient Web SDK. [JavaScript digitally sign PDF via DWS Processor API](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document-dws/): JavaScript digitally sign PDF via DWS Processor | Nutrient API documentation for Nutrient Web SDK with methods, properties, and code examples. [JavaScript digitally sign PDF with certificate](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document/): Learn to sign a PDF with a digital certificate using JavaScript. Use the `signDocument` method to create visual signatures and customize their appearance effectively. [Digital signature lifecycle for PDFs](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/signature-lifecycle-overview/): Discover how to implement a secure digital signature lifecycle for PDFs with our step-by-step guide and code examples. [Validate digital signature in PDF using JavaScript](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/validation/): The following guide outlines how to validate digital signatures when deploying Nutrient Web SDK as a standalone client-side JavaScript library. [Digital signature standards: PAdES & CAdES](https://www.nutrient.io/guides/web/signatures/digital-signatures/standards/): Explore the features and compliance of PAdES and CAdES signatures for secure electronic transactions. [Supported cryptographic formats for signature in JavaScript](https://www.nutrient.io/guides/web/digital-signatures/introduction-to-digital-signatures/): Discover the various supported methods for signatures. Learn how to utilize them effectively in your applications for improved functionality. [Digital signature validation: Common issues](https://www.nutrient.io/guides/web/signatures/digital-signatures/troubleshooting/chain-of-certs-not-valid/): Learn about the different validation statuses of digital signatures and how to resolve common issues. [Can I modify a document after it is digitally signed?](https://www.nutrient.io/guides/web/signatures/digital-signatures/troubleshooting/document-modified-since-signature/): Learn how to resolve issues with documentModifiedSinceSignature in our comprehensive troubleshooting guide. [Resolving issues with invalid digital signatures](https://www.nutrient.io/guides/web/signatures/digital-signatures/troubleshooting/invalid-signatures/): Troubleshooting common issues causing invalid PDF signatures, including mismatched keys, incorrect formats, and external signing challenges. [Digital signature troubleshooting tips](https://www.nutrient.io/guides/web/signatures/digital-signatures/troubleshooting/): Discover solutions for digital signature issues and enhance your document signing experience with our expert troubleshooting tips. [Add electronic signatures to PDFs with JavaScript](https://www.nutrient.io/guides/web/signatures/adding-an-electronic-signature/): Learn how to add electronic signatures to PDFs with JavaScript using Nutrient Web SDK. Enable end users to draw, type, or attach a signature image effortlessly. Follow our step-by-step guide for seamless eSignature integration. [Sign PDF with certificate using JavaScript](https://www.nutrient.io/guides/web/signatures/using-electronic-signatures-and-digital-signatures-together/): Discover how to effectively use electronic and digital signatures together for secure and efficient document signing. Learn best practices and tips. [Save & store electronic signatures in JavaScript PDF viewer](https://www.nutrient.io/guides/web/signatures/signature-storage/): Discover effective methods for storing digital signatures safely and securely. Optimize your workflow with our comprehensive signature storage guide. [Fill & sign PDF forms using JavaScript](https://www.nutrient.io/guides/web/signatures/fill-and-sign-forms/): Discover how to programmatically fill and sign PDF forms using Nutrient Web SDK. Launch the demo and enhance your web applications today! [Headless JavaScript PDF digital signatures: eSign PDFs](https://www.nutrient.io/guides/web/signatures/headless/): It’s possible to apply digital signing operations to a PDF without the need to present any user interface (UI) to the user. for Nutrient Web SDK. [JavaScript PDF signature library: Draw, upload, or type signatures with ease](https://www.nutrient.io/guides/web/signatures/): Add digital and electronic signatures to PDFs with Nutrient Web SDK. Compatible with any JavaScript framework including React, Angular, and Vue. Integrates with SharePoint, Salesforce, and more. [Digital and electronic signatures overview](https://www.nutrient.io/guides/web/signatures/overview/): Explore the differences between electronic and digital signatures, their benefits, and how to implement them in your workflow for secure documents. [Signatures (legacy)](https://www.nutrient.io/guides/web/features/signatures/): Learn to create and manage handwritten signatures using the legacy signatures functionality in the Nutrient Web SDK’s Annotations component. [Nutrient Web SDK troubleshooting](https://www.nutrient.io/guides/web/troubleshoot/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [Add your license key for Nutrient Web SDK](https://www.nutrient.io/guides/web/troubleshooting/license/add-license-key/): Request and provide your license key to load PDFs with Nutrient Web SDK efficiently. [License troubleshooting](https://www.nutrient.io/guides/web/troubleshooting/license-troubleshooting/): Learn about common license issues and solutions for Nutrient Web SDK. This comprehensive guide covers common errors, activation FAQs, updates, and more. [Watermark still appearing after adding license key](https://www.nutrient.io/guides/web/troubleshooting/license/watermark-still-appearing/): Troubleshoot why watermarks persist in your PDF viewer even after adding a valid license key. Learn common causes and solutions for Nutrient Web SDK. [Bug reporting](https://www.nutrient.io/guides/web/troubleshooting/bug-reporting/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [Resolving ChunkLoadError during PSPDFKit-to-Nutrient migration in Ember](https://www.nutrient.io/guides/web/troubleshooting/chunkloaderror-during-pspdfkit-to-nutrient-migration-in-ember/): Learn how to fix ChunkLoadError issues when migrating from PSPDFKit to Nutrient Web SDK in Ember applications, including proper asset handling and build configuration. [Common issues](https://www.nutrient.io/guides/web/troubleshooting/common-issues/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [Fixing the split undefined error with npm build](https://www.nutrient.io/guides/web/troubleshooting/fixing-split-undefined-error-with-npm-build/): Solutions for fixing TypeError split undefined errors when building projects with Nutrient Web SDK. [Using nightlies](https://www.nutrient.io/guides/web/troubleshooting/nightlies/): Install and test Nutrient nightly builds for Web SDK and Document Engine. Step-by-step guide with npm and Docker instructions. [Common issues integrating into test suites](https://www.nutrient.io/guides/web/troubleshooting/testing-troubleshooting/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [TypeScript troubleshooting](https://www.nutrient.io/guides/web/troubleshooting/miscellaneous/typescript/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [Render PDF documents in JavaScript](https://www.nutrient.io/guides/web/troubleshooting/complexities-of-rendering-pdfs/): Achieve pixel-perfect PDF rendering in JavaScript, ensuring compatibility and high-quality output. [Inconsistent fonts](https://www.nutrient.io/guides/web/rendering-issues/inconsistent-fonts/): Discover effective solutions for inconsistent fonts in your web design. Learn to troubleshoot rendering issues and enhance user experience today. [Nutrient doesn’t show the PDF form](https://www.nutrient.io/guides/web/rendering-issues/pspdfkit-doesnt-show-the-pdf-form/): Learn how to troubleshoot and resolve Nutrient not displaying PDF forms effectively. Get expert tips and solutions for common rendering issues. [Create new annotation tool in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/annotation-toolbar/create-a-new-tool/): Learn how to create custom toolbar items in Nutrient using JavaScript. Discover the key properties and see a demo to enhance your PDF annotation tools. [Customize annotation tool in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/annotation-toolbar/customize-existing-tools/): It’s possible to customize the following properties of built-in items: for Nutrient Web SDK. [Mobile responsive annotation toolbar in JavaScript viewer](https://www.nutrient.io/guides/web/user-interface/annotation-toolbar/mobile-responsiveness/): You can have a separate UI for mobile devices to make sure you get the most from limited space. for Nutrient Web SDK. [Rearrange annotation tools in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/annotation-toolbar/rearrange/): Learn how to rearrange Nutrient's annotation toolbar items using the API to enhance PDF annotation experience for users. [Remove annotation tool in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/annotation-toolbar/remove-a-tool/): Learn how to remove toolbar items in Nutrient Web SDK and customize your PDF annotation experience with our easy-to-use API and demo. [Add annotation tooltip in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/annotation-tooltips/): Nutrient Web SDK supports showing contextual tooltips when an annotation is selected. [Disable or hide delete button for an annotation](https://www.nutrient.io/guides/web/user-interface/annotations/hide-the-delete-button/): To hide the delete icon from the toolbar in Nutrient, you can use the individual public CSS class selectors for each toolbar element:. [Customizing annotation inspector in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/annotations/inspector/): You can customize the Nutrient SDK to show an annotation inspector in a popup whenever you select an annotation. If you want to see an example. [Configuring annotation presets for PDFs](https://www.nutrient.io/guides/web/user-interface/annotations/presets/): Learn how to configure annotation presets in your PDF viewer to enhance user experience and streamline document editing. [Add stamp annotation using JavaScript](https://www.nutrient.io/guides/web/user-interface/annotations/stamps/): Discover how to effectively use built-in stamps for web annotations. Enhance your projects with our easy-to-follow guide and practical tips. [Customizing annotation variant buttons in toolbar](https://www.nutrient.io/guides/web/user-interface/annotations/variant-buttons/): Customize annotation variant buttons in the Nutrient Web SDK toolbar to enhance user interaction and streamline document annotation with tailored presets. [Custom color picker in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/color-picker/custom-color-picker/): Nutrient Web SDK comes with a custom color picker UI. The custom color picker allows end users to select “new” colors to add to the color dropdown. [Add custom color presets in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/color-picker/custom-presets/): By default, Nutrient Web SDK ships with an array of 18 colors, and it comes with a customizable color dropdown. [Create custom toolbar in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/create-a-toolbar/): With Nutrient Web SDK, you can replace the default toolbar with a custom toolbar that can be positioned anywhere on the page. [PDF form date picker for JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/date-and-time-picker/): Nutrient Web SDK supports a user's ability to easily input dates and times into form fields through a browser’s native picker UI. [Customizing the document editor toolbar and footer](https://www.nutrient.io/guides/web/user-interface/document-editor/customizing-the-document-editor-toolbar-and-footer/): In Nutrient Web SDK 2021.4, we added support for customizing the Document Editor toolbar and footer. It’s now possible to customize the look. [Edit PDF with UI in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/document-editor/): Edit PDF with UI in JavaScript PDF viewer | guide for Nutrient Web SDK with detailed instructions and code examples. [Create PDF form field with JavaScript library](https://www.nutrient.io/guides/web/forms/create-edit-and-remove/built-in-ui/): The Form Creator feature enables the creation, modification, and removal of form fields and their associated widgets. through the same API used. [Customizing JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/): Discover the secret to enhancing web user interface design like never before. Unleash the power at your fingertips with expert guidance. [Create inline text selection tool in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/inline-text-selection-toolbar/create-a-new-tool/): Nutrient Web SDK comes with a customizable inline text selection toolbar that, by default, includes some predefined items. [Customizing text selection toolbar in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/inline-text-selection-toolbar/customize-existing-tools/): Customizing text selection toolbar in JavaScript PDF viewer | guide for Nutrient Web SDK with detailed instructions and code examples. [Rearrange text selection tools in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/inline-text-selection-toolbar/rearrange-items/): Learn how to rearrange the inline text selection toolbar in Nutrient Web SDK with API examples for loading and modifying toolbar items effectively. [Remove inline text selection tool in PDF viewer](https://www.nutrient.io/guides/web/user-interface/inline-text-selection-toolbar/remove-a-tool/): Learn how to remove specific tools from the inline text selection toolbar in Nutrient Web SDK using the configuration object or instance method. [Remove all tools from PDF viewer toolbar](https://www.nutrient.io/guides/web/user-interface/inline-text-selection-toolbar/remove-all-tools/): Learn how to remove all tools from the inline text selection toolbar in Nutrient Web SDK using the configuration object or instance method. [Hide or customize text selection tooltip in JS viewer](https://www.nutrient.io/guides/web/user-interface/inline-text-selection-toolbar/tooltip/): Nutrient Web SDK comes with a built-in toolbar that shows whenever text is selected on a document. [Localization: Change languages in JavaScript PDF viewer](https://www.nutrient.io/guides/web/features/localization/): Localization: Change languages in JavaScript PDF viewer | guide for Nutrient Web SDK with detailed instructions and code examples. [Activate or deactivate tools in JavaScript viewer toolbar](https://www.nutrient.io/guides/web/customizing-the-interface/controlling-the-toolbar-via-api/): Learn how to programmatically customize the toolbar and manage interaction modes in Nutrient Web SDK for enhanced document viewing and annotation. [Configuring pager toolbar display behavior](https://www.nutrient.io/guides/web/user-interface/main-toolbar/pager-display/): Learn how to control when the pager toolbar displays in expanded or compact mode in Nutrient Web SDK. [Create a new tool in JavaScript PDF viewer toolbar](https://www.nutrient.io/guides/web/user-interface/main-toolbar/create-a-new-tool/): Learn how to create a new tool in the viewer toolbar using Nutrient Web SDK. Extend the functionality of your PDF viewer with custom actions and user interface elements. [Customizing tools in JavaScript PDF viewer toolbar](https://www.nutrient.io/guides/web/user-interface/main-toolbar/customize-existing-tools/): Learn how to customize existing tools in the main toolbar of our JavaScript PDF viewer. Enhance your user interface with tailored tool configurations and seamless functionality. [Disable & remove download button in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/main-toolbar/download-export-button/): The built-in download button can be activated using instance.setToolbarItems(): for Nutrient Web SDK. [Customize dropdown navigation in viewer toolbar](https://www.nutrient.io/guides/web/user-interface/main-toolbar/dropdown-groups/): Learn how to create and modify dropdown groups in the viewer toolbar for enhanced user experience. [Hide toolbar in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/main-toolbar/hide-the-toolbar/): By modifying the ViewState, you can control when the toolbar should be shown or hidden by using the showToolbar property. for Nutrient Web SDK. [Add labels to PDF pages in JavaScript viewer](https://www.nutrient.io/guides/web/features/navigation-page-labels/): Discover how page labels improve PDF navigation in Nutrient Web SDK, making documents more user-friendly and easier to identify for readers. [Adjust placement of toolbar in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/main-toolbar/placement/): Adjust the toolbar position in your JavaScript PDF viewer by setting the toolbarPlacement property to TOP or BOTTOM for optimal user experience. [Hide print button in JavaScript PDF viewer toolbar](https://www.nutrient.io/guides/web/user-interface/main-toolbar/print-button/): Learn to hide the print button in the JavaScript PDF viewer toolbar. Customize printing options and manage print tasks programmatically with our API methods. [Rearrange tools in JavaScript PDF viewer toolbar](https://www.nutrient.io/guides/web/user-interface/main-toolbar/rearrange/): Nutrient Web SDK comes with a customizable main toolbar that, by default, includes a number of predefined items. You can rearrange toolbar items using our API. [Remove a tool from toolbar in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/customizing-the-toolbar/): Learn how to customize the Nutrient Web SDK toolbar by removing items using our API. Enhance user experience with tailored toolbar configurations. [Customizing responsive navigation in JS viewer toolbar](https://www.nutrient.io/guides/web/user-interface/main-toolbar/responsive-groups/): A responsive-group is special since it can be referenced by other toolbar items via the NutrientViewer.ToolbarItem#responsiveGroup property. [Create custom overlay in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/creating-custom-overlay-items/): Custom overlay items are user-generated DOM Nodes that are rendered in a page at a given position and add custom functionality to Nutrient Web SDK. [Redacting PDFs using JavaScript Viewer](https://www.nutrient.io/guides/web/user-interface/redaction/): Learn how to create and customize PDF redactions with our JavaScript viewer. Discover toolbar items and preview features for effective document editing. [Right-to-left user interface (JavaScript PDF viewer)](https://www.nutrient.io/guides/web/user-interface/rtl-languages/): Starting with Nutrient Web SDK 1.5, we offer initial support for right-to-left languages, such as Arabic and Hebrew, as a proof of concept. [Customizing search UI in PDF viewer toolbar](https://www.nutrient.io/guides/web/user-interface/search/): Discover effective strategies for optimizing your search UI, improving user experience, and boosting engagement on your website. [Annotation list navigation in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/sidebar/annotations-list/): Discover how to use the Nutrient Web SDK annotations sidebar for efficient document navigation and customizable annotation filtering options. [Effortlessly manage bookmarks](https://www.nutrient.io/guides/web/user-interface/sidebar/bookmarks/): Nutrient Web SDK’s UI features a sidebar with different available views. [Customizing the sidebar in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/sidebar/customization/): Nutrient Web SDK enables you to fully customize the sidebar component. This is possible thanks to the UI customization API. [JavaScript PDF viewer with document outline](https://www.nutrient.io/guides/web/user-interface/sidebar/document-outline/): Discover how to use and customize the document outline sidebar in Nutrient Web SDK, enhancing user navigation with expandable trees and CSS styling. [Hide or show sidebar navigation in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/controlling-the-sidebar-via-api/): Control sidebar navigation in the JavaScript PDF viewer by using toolbar buttons or programmatically adjusting the sidebar mode with the Nutrient Web SDK API. [Customizing PDF OCG layer sidebar PDF viewer UI](https://www.nutrient.io/guides/web/user-interface/sidebar/layers/): Discover how to use the OCG layers sidebar in Nutrient Web SDK to manage document views efficiently and customize icon displays via API settings. [Navigate signed & unsigned signature fields in JavaScript](https://www.nutrient.io/guides/web/user-interface/sidebar/signatures-list/): Discover how to effectively use and customize the signatures sidebar in Nutrient Web SDK. Streamline your digital signing process with CSS styling options. [JavaScript PDF viewer with thumbnails](https://www.nutrient.io/guides/web/user-interface/sidebar/thumbnail-preview/): Nutrient Web SDK’s UI features a sidebar with different available views. [Enabling different eSignature modes](https://www.nutrient.io/guides/web/signatures/customizing-the-signature-user-interface/): Discover how to personalize your signature user interface with our comprehensive guide, enhancing usability and functionality for better user engagement. [Capturing electronic signatures with viewer modal](https://www.nutrient.io/guides/web/user-interface/signatures/electronic-signatures/): Learn to capture electronic signatures using the PDF viewer’s interface. Customize the modal view with public CSS classes for a tailored user experience. [Sign documents without preset signature fields](https://www.nutrient.io/guides/web/user-interface/signatures/invisible-signing/): With Nutrient Web SDK, it’s possible to digitally sign any document, even when it doesn’t originally include any signature form field. [Customizing eSignature font](https://www.nutrient.io/guides/web/user-interface/signatures/signature-fonts/): Customize eSignature fonts in Nutrient Web SDK. Load custom fonts using CSS and enhance the signature creation UI with additional font options. [Customize the UI when displaying signature validation status](https://www.nutrient.io/guides/web/user-interface/signatures/validation-status/): Learn how to use the UI effectively to display the validation status of digital signatures. Enhance user experience with our comprehensive guide. [Customizing CSS in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/css-customization/): Discover how to customize Nutrient Web SDK using CSS classes, configure styles, and enhance your viewer’s appearance with our comprehensive guide. [Customizing the JavaScript PDF viewer theme](https://www.nutrient.io/guides/web/user-interface/theming/custom-theme/): The dark theme guide mentions the different theme presets available in Nutrient Web SDK. Starting with Nutrient Web SDK 1.5. [JavaScript PDF viewer dark mode](https://www.nutrient.io/guides/web/user-interface/theming/dark-theme/): With Nutrient Web SDK it's possible to change the interface to dark mode programmatically or based on device information. [Changing icons in JavaScript PDF viewer](https://www.nutrient.io/guides/web/user-interface/theming/icons/): Changing icons in JavaScript PDF viewer | guide for Nutrient Web SDK with detailed instructions and code examples. [JavaScript PDF viewer with Internet Explorer [IE11] support](https://www.nutrient.io/guides/web/customizing-the-interface/ie11/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [Optimizing JavaScript PDF viewer for mobile](https://www.nutrient.io/guides/web/customizing-the-interface/optimizing-for-mobile/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [Troubleshooting web UI customization](https://www.nutrient.io/guides/web/user-interface/troubleshooting/): Solutions for common issues and errors in Nutrient Web SDK with debugging tips and workarounds. [UI customization example](https://www.nutrient.io/guides/web/user-interface/ui-customization/comment-thread-example/): Learn how to build comment thread UI with the customization API using React and Baseline UI. [UI customization sidebars](https://www.nutrient.io/guides/web/user-interface/ui-customization/custom-sidebars/): Learn how to add custom sidebars in the Nutrient Web SDK UI using slots. [UI customization](https://www.nutrient.io/guides/web/user-interface/ui-customization/introduction/): Learn how to customize the Nutrient Web SDK UI using slots. Replace components, add custom elements, and enhance PDF viewer functionality with code examples. [UI customization set UI configuration](https://www.nutrient.io/guides/web/user-interface/ui-customization/set-ui/): Learn how to update UI customization config after loading the SDK. [UI customization supported slots](https://www.nutrient.io/guides/web/user-interface/ui-customization/supported-slots/): Reference list of supported UI customization slots in Nutrient Web SDK, including commentThread with header and footer nested slots. [Update view state in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/viewstate/): Nutrient Web SDK encapsulates the entire view state inside an immutable data structure. This is accessible for you via the ViewState. [JavaScript PDF accessibility viewer](https://www.nutrient.io/guides/web/viewer/accessibility/): Enhance accessibility on your website with our proven strategies. Learn how to make your content more inclusive and engaging today! [Convert PDF text to speech with JavaScript library](https://www.nutrient.io/guides/web/viewer/accessibility/text-to-speech/): Learn how to convert PDF text to speech using a JavaScript library. Extract text from PDFs and enable speech synthesis for enhanced accessibility. [Create custom annotation toggle button](https://www.nutrient.io/guides/web/viewer/custom-annotation-toggle/): Learn how to create a custom toggle button in the Nutrient Web SDK toolbar to show or hide all PDF annotations with code examples. [Embed custom fonts in JavaScript PDF](https://www.nutrient.io/guides/web/features/custom-fonts/): Learn how to add and embed custom fonts in your JavaScript PDF viewer to ensure accurate document rendering across all devices. [PDF dynamic font loading using JavaScript](https://www.nutrient.io/guides/web/viewer/fonts/dynamic-fonts/): Discover how to implement dynamic font loading to improve web performance and user experience. Optimize your site with efficient font management techniques. [Introduction to PDF fonts](https://www.nutrient.io/guides/web/viewer/fonts/introduction/): As a developer working with PDFs in applications, it’s important to have an understanding of how fonts can impact text rendering and formatting. [PDF font substitution using JavaScript](https://www.nutrient.io/guides/web/viewer/fonts/substitution/): Learn to implement font substitution in PDF documents using JavaScript, allowing you to customize text annotations and form fields effortlessly. [PDF viewer supported fonts](https://www.nutrient.io/guides/web/viewer/fonts/support/): System requirements and compatibility information for Nutrient Web SDK including supported versions and dependencies. [JavaScript image viewer library: JPG, PNG, TIFF](https://www.nutrient.io/guides/web/viewer/images/): This feature requires the Image Documents component to be enabled in your license. for Nutrient Web SDK. [JavaScript PDF viewer library — Render, annotate, and edit documents and images](https://www.nutrient.io/guides/web/viewer/): Explore Nutrient Web SDK’s JavaScript PDF viewer library to render, annotate, edit, and customize documents and images in the browser. [Fast linearized PDF downloading made easy](https://www.nutrient.io/guides/web/viewer/linearized-downloads/): Boost PDF access speed with linearized downloading and improve user experience in web applications. Try it for free today! [JavaScript mobile PDF viewer — Fully responsive](https://www.nutrient.io/guides/web/viewer/mobile-responsive/): Nutrient Web SDK comes with a responsive UI that works on all screen sizes. The UI adapts to the screen automatically, providing you. [JavaScript Office document viewer SDK](https://www.nutrient.io/guides/web/viewer/office-documents/): Integrate Nutrient Web SDK to render Word, Excel, and PowerPoint files directly in browsers without external dependencies, enhancing your JavaScript web applications. [Customize page layout and scroll options in JavaScript PDF viewer](https://www.nutrient.io/guides/web/customizing-the-interface/document-presentation-options/): Learn how to customize page layout, scrolling, and presentation modes in our JavaScript PDF viewer for a seamless reading experience. Explore single, double, and continuous scroll options. [JavaScript support in PDF viewer](https://www.nutrient.io/guides/web/features/javascript/): JavaScript support in PDF viewer | guide for Nutrient Web SDK with detailed instructions and code examples. [JavaScript PDF viewer library: View, edit, sign](https://www.nutrient.io/guides/web/viewer/pdf/): The PDF viewer is compatible with any JavaScript framework, including React, Angular, Vue.js, Svelte, Blazor, Next.js, TypeScript, Nuxt.js, and jQuery. [Enable or disable PDF permissions in JavaScript viewer](https://www.nutrient.io/guides/web/features/document-permissions/): Learn how to effectively get and set document permissions, ensuring secure access and editing capabilities for your files. Discover best practices today! [Find PDF coordinates with JavaScript](https://www.nutrient.io/guides/web/pspdfkit-for-web/coordinate-spaces/): Explore common questions about coordinate spaces, their types, and applications. Get clear answers to enhance your understanding of this essential topic. [JavaScript PDF form viewer for web applications](https://www.nutrient.io/guides/web/viewer/rendering/pdf-forms/): Discover how to view and interact with PDF forms seamlessly using our JavaScript PDF viewer. Try it for free and enhance your web applications. [JavaScript PDF rendering library: Fast and accurate](https://www.nutrient.io/guides/web/features/rendering-pdf-pages/): Learn how to display PDF thumbnails using Nutrient's renderPageAsImageURL method. Increase quality and integrate easily in your web applications. [Render page on canvas in JavaScript PDF viewer](https://www.nutrient.io/guides/web/viewer/rendering/render-in-canvas/): With Nutrient Web SDK, it's possible to render a single PDF page as an image and insert it into a canvas element. To do so. [JavaScript PDF viewer with watermark](https://www.nutrient.io/guides/web/features/watermarks/): Learn how to use Nutrient’s RenderPageCallback API to draw dynamic watermarks on PDF pages. Perfect for customizing document presentations effortlessly. [Stream PDF documents in your browser](https://www.nutrient.io/guides/web/viewer/streaming/): Experience lightning-fast PDF document streaming with on-demand access, improving performance and user experience, especially on limited resources. [PDF viewer troubleshooting tips](https://www.nutrient.io/guides/web/viewer/troubleshooting/): Learn how to troubleshoot common PDF viewer issues like font rendering and more with our helpful guide. [JavaScript PDF viewer fullscreen mode](https://www.nutrient.io/guides/web/features/fullscreen-mode/): Learn how to enable fullscreen mode in our JavaScript PDF viewer for an immersive, distraction-free reading experience. Enhance end user engagement with a seamless PDF viewing solution. [JavaScript magazine viewer](https://www.nutrient.io/guides/web/viewer/viewing-options/magazine-viewer/): You can implement the magazine viewer as shown in our web demo by writing some custom code. for Nutrient Web SDK. [Customizing presentation mode in JavaScript viewer](https://www.nutrient.io/guides/web/viewer/viewing-options/presentation-mode/): You can implement the presentation mode as shown in our web demo by writing some custom code. for Nutrient Web SDK. [JavaScript PDF viewer with zoom and pan](https://www.nutrient.io/guides/web/viewer/zooming/): Nutrient Web SDK features different UI elements and API helpers to both manage zooming in and out of a document and handle zooming automatically.