惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园 - 司徒正美
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cyberwarzone
Cyberwarzone
小众软件
小众软件
T
Threatpost
Latest news
Latest news
J
Java Code Geeks
博客园 - Franky
博客园 - 三生石上(FineUI控件)
Project Zero
Project Zero
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
Scott Helme
Scott Helme
Simon Willison's Weblog
Simon Willison's Weblog
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Privacy International News Feed
人人都是产品经理
人人都是产品经理
S
Schneier on Security
T
The Blog of Author Tim Ferriss
V
V2EX
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
罗磊的独立博客
IT之家
IT之家
雷峰网
雷峰网
H
Help Net Security
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
C
Cybersecurity and Infrastructure Security Agency CISA
I
InfoQ
GbyAI
GbyAI
博客园 - 叶小钗
PCI Perspectives
PCI Perspectives
The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
H
Heimdal Security Blog
Spread Privacy
Spread Privacy
博客园_首页
A
About on SuperTechFans
T
Tailwind CSS Blog
The Register - Security
The Register - Security

Inside Nutrient

A guide to the invisible work behind documents Introducing Nutrient Documents for Salesforce: Native document generation and signing Document AI vs. traditional OCR: Choosing between OCR, AI, and hybrid pipelines PDF SDK compliance and security evaluation checklist for enterprise teams (2026) Invariant Corp replaces paper processes with Nutrient Workflow and scales without limits What is process mapping? A complete guide Nutrient vs. Conga Composer for Salesforce document generation (2026) Document routing: How to automate document distribution The CTO’s AI playbook: Why accountability architecture beats orchestration Compliance workflow automation: Why built-in compliance is table stakes Workflow diagrams: Examples, symbols, and how to build one that actually runs Digital forms: Replace paper forms with automated workflows Approval workflow software: How to automate approvals Why document-centric automation is different The CEO’s AI playbook: Why decision architecture beats model selection Nutrient SDK product updates for Q1 2026 PDF redaction verification: How to prove sensitive data is permanently removed What is a VPAT? The complete guide to accessibility conformance reports What is PDF/UA? The accessible PDF standard explained Salesforce eSignatures: Generate, sign, and track documents in one flow Online document viewer: Options, tradeoffs, and how to embed one Best document viewers in 2026: A buyer’s guide How to edit a PDF in Python: Add text, images, and annotations Nutrient advances Workflow platform with agentic AI for enterprise-grade speed and consistency in document-heavy operations How to create a Salesforce quote template from opportunity data The business case for accessibility: Five ways it drives enterprise value Python PDF library comparison (2026): 7 libraries for developers Why your AI agent hallucinates PDF table data PDF.js limitations: When to upgrade to a commercial PDF SDK How Subject scaled 5× with Nutrient’s PDF SDK without rebuilding its document layer I replaced our sales training with an AI coach that runs in Slack — here’s what broke Redirecting to: https://securitybuzz.com/cybersecurity-news/why-enterprise-permissions-are-ais-most-dangerous-inheritance/ Nutrient .NET SDK vs. iText Core: Complete comparison for .NET developers DocuVieware: Support’s most frequently asked setup questions Introducing Nutrient Workflow How to convert PDF to Word in C# (.NET) When email and spreadsheets stop working: Work order approval workflows for field teams on the move Compliance with confidence: Why document-centric automation is the foundation of your mission Nutrient expands AI Assistant, automating multistep document workflows inside any application What is document generation? A developer’s guide to PDF generation Document Converter data flow and how real-time watermarks skip the queue PDF/UA compliance guide: Requirements, standards, and best practices Computers still can’t understand you How Athena Intelligence built AI agents for regulated enterprises with Nutrient’s document infrastructure How to convert HTML to PDF (2026): 4 methods from browser print to SDK How to build a document extraction pipeline with Nutrient Vision API OCR vs. intelligent document processing: Choosing the right document extraction engine Beyond OCR: How document intelligence eliminates manual processing in regulated industries Nutrient vs. IronPDF: Complete comparison for .NET developers Nutrient vs. Aspose.PDF: Complete comparison for .NET developers Redirecting to: https://fortune.com/2026/02/19/openclaw-who-is-peter-steinberger-openai-sam-altman-anthropic-moltbook/ Lufthansa Systems uses Nutrient to deliver reliable, scalable PDF rendering for pilots worldwide Nutrient vs. Syncfusion: Complete comparison for .NET developers React’s useTransition: The hook you’re probably using wrong First City Monument Bank streamlines banking processes with Nutrient Workflow Redirecting to: https://www.sdcexec.com/warehousing/automation/article/22957364/nutrient-workflow-automation-the-missing-link-in-supply-chain-efficiency The complete guide to digital signatures: PAdES, CAdES, and XAdES explained Nutrient Python SDK: Production-grade document processing for Python Introducing agentic document editing for web applications with AI Assistant Nutrient vs. QuestPDF: Complete comparison for .NET developers How we fixed the GdPicture license expiration (and what to do if you’re affected) Red team security testing with agentic AI The future of healthcare document automation Best healthcare workflow software compared Nutrient SDK product updates for Q4 2025 How Harvey scaled legal document workflows 50 percent MoM without rebuilding infrastructure HIPAA-compliant document management in hospitals How we optimized rendering performance while handling thousands of annotations in React — Part 2 Automated PII removal with Nutrient API Redirecting to: https://www.devopsdigest.com/2026-low-code-no-code-predictions Redirecting to: https://www.kmworld.com/Articles/Editorial/ViewPoints/Leaders-predict-AI-to-continue-permeating-all-aspects-of-KM-in-2026-172594.aspx What are deep agents and how do they solve complex problems? Whipping up document magic: Your easy-bake recipe for Vue and Nutrient Web SDK 🧁 What I’ve learned about product iteration planning while building SDKs Passwordless document signing: Three-layer security guide New zip folder functionality streamlines file management in Document Automation Server The keyboard shortcuts playbook: Taking control of keyboard events in Nutrient Web SDK From experienced engineer to AI beginner: My unexpected journey AI-assisted manual testing: Handling Safari’s PDF rendering and UI quirks How to keep a 20-year-old SDK up to date How we optimized rendering performance while handling thousands of annotations in React — Part 1 Nutrient announces new executive hires to accelerate next phase of growth High performance UI using web workers Automate document conversion at scale with Python and Nutrient DCS From curiosity to PLG (and AI): My journey to understanding product-led growth Prost to progress: One year as Nutrient Pigeon usage at Nutrient: Bridging native SDKs to Flutter Modernizing CI build servers: How to migrate from Chef to Ansible Unix man pages: AI-friendly documentation since 1971 Consistent hashing for even load distribution Best AI redaction APIs: Complete comparison guide for 2025 Why AI document redaction matters for modern security From coding to coordinating: How AI transformed my workflow What is intelligent document processing (IDP)? A complete guide Enterprise PDF SDKs: Best PSPDFKit (now Nutrient) alternatives Nutrient SDK product updates for Q3 2025 GdPicture support best practices Redacting sensitive data with Nutrient AI redaction API How AI is transforming the customer experience at Nutrient: From instant answers to intelligent support How manual QA uses PR testing between releases
Document viewer for web apps: React, Vue, Angular (2026)
Hulya Masharipov · 2026-04-28 · via Inside Nutrient

Table of contents

    Document viewer for web apps: React, Vue, Angular (2026)

    Summary

    • Open source viewers (PDF.js(opens in a new tab), react-pdf(opens in a new tab)) handle basic PDF rendering but lack annotation creation, digital signatures, and Office format support.
    • Commercial SDKs (Nutrient) let users annotate, sign, and fill forms without leaving the viewer and open Office files alongside PDFs — worth the cost if any of that’s part of your workflow.
    • Nutrient also embeds AI Assistant in the viewer for document Q&A, summarization, and agentic editing, plus classification and extraction APIs on the processing side.
    • Nutrient Web SDK integrates with React, Vue, Angular, and vanilla JavaScript through a single package: @nutrient-sdk/viewer(opens in a new tab).
    • This guide includes working code for each framework and an SDK comparison table.

    If you’re building a web app that handles documents, you need a viewer that works inside your UI framework — not a standalone tool that opens files in a new tab.

    Framework choice affects integration:

    • React — The viewer must respect component lifecycle and cleanup.
    • Angular — The integration relies on standalone Angular components or module imports.
    • Vue — The integration uses the Composition API and reactive template refs.

    Many production apps also need annotations for review workflows, digital signatures for contracts, and form filling for intake processes.

    This guide covers the main document viewer options for React, Vue, and Angular; compares commercial SDKs; and shows working integration code for each framework.

    Prerequisites

    You have:

    • Working knowledge of at least one of React, Vue, Angular, or vanilla JavaScript.
    • Node.js 18+ and npm (or pnpm/yarn) installed for the viewer packages.
    • A PDF to test with — any file will do, or you can use this sample.

    What to look for in a document viewer SDK

    • Format support — PDF-only viewers work if that’s all your users upload. But if they share Word, Excel, or PowerPoint files, you need a viewer that renders Office formats without a separate conversion step. (Nutrient Document Engine covers 30+ formats in a single package.)
    • Annotations — Legal teams redact documents. Healthcare teams annotate patient records. Finance teams highlight discrepancies in filings. If your users review documents inside your app, the viewer needs annotation tools — highlights, comments, stamps, freehand drawing — not just read-only rendering.
    • Digital signatures — A drawn signature image isn’t a digital signature. Digital signatures use cryptographic keys and comply with standards like PAdES and ETSI. If your users sign contracts or compliance documents, use a viewer that supports them.
    • Form fillingAcroForm support lets users complete PDF forms directly in the viewer. Without it, they download the PDF, fill it in Acrobat, and reupload it.
    • Rendering performance — WebAssembly-based viewers compile the PDF engine to machine code in the browser, an approach that’s typically faster than pure JavaScript renderers for complex documents. Test with a 200-page PDF, not a two-page demo. Check time-to-first-render, scroll smoothness, and memory usage.
    • Mobile behavior — Test on actual phones. Touch annotation, pinch zoom, and scroll performance on mobile Safari are where most viewers fall short. A resized desktop browser isn’t a real test. If browser-based mobile rendering hits limits for your use case, native iOS and Android SDKs are the fallback.
    • AI features — Some viewers now embed AI directly: summarization, document Q&A, automated PII redaction, and structured-data extraction. If your users ask documents questions, classify incoming files, or auto-redact sensitive fields, look for an SDK with a built-in LLM-aware assistant (e.g. Nutrient AI Assistant) plus document-processing APIs for the pipeline side.
    • License model — PDF.js is free and open source (Apache 2.0). Commercial SDKs use various licensing models — per-app, per-developer, or usage-based. Factor in support SLAs and maintenance, not just the license fee.

    Decision tree for choosing a document viewer. Three branches from the root question "What does your viewer need to do?": render PDFs only (PDF.js, react-pdf, VuePDF, vue-pdf-embed, and ng2-pdf-viewer — free and open source); full viewer UI for PDFs out of the box (EmbedPDF, ngx-extended-pdf-viewer — open source, with EmbedPDF supporting React, Vue, Svelte, and vanilla JavaScript); annotations, signing, and Office formats (Nutrient Web SDK — commercial SDK covering React, Vue, Angular, and JavaScript).

    React PDF viewer options

    Three React-compatible options cover the spectrum: react-pdf for low-level PDF rendering as React components; EmbedPDF for an open source viewer with an optional drop-in UI; and Nutrient Web SDK for annotations, signing, form filling, and Office formats.

    react-pdf

    Best for: Displaying PDF pages as React components with custom rendering logic.

    MIT · 4.1M weekly downloads · PDF.js wrapper

    react-pdf(opens in a new tab) renders PDF pages as React components with text selection, annotation display, and custom page rendering. It doesn’t ship a full viewer UI, which means no toolbar, no annotation creation, no digital signatures, and no Office support.

    EmbedPDF

    Best for: React, Vue, or Svelte apps that want an open source viewer with an optional drop-in UI.

    MIT · ~120K weekly downloads · PDFium/WebAssembly · framework-agnostic

    EmbedPDF(opens in a new tab) ships a single @embedpdf/core package that powers React, Vue, Svelte, Preact, and vanilla JavaScript through dedicated adapter packages. You can drop in the styled UI or go headless. It fills the gap left by @react-pdf-viewer/core, which was archived in August 2024.

    Nutrient Web SDK

    Best for: React apps where users annotate, sign contracts, or upload Office files.

    Reach for Nutrient Web SDK when your users do more than read PDFs. What they get:

    • Annotate — Highlight passages, drop sticky notes, stamp approvals, and draw freehand. Use 17+ annotation types that write back into the PDF and stay legible in Adobe Acrobat.
    • Sign contracts in-viewer — Apply PAdES-compliant digital signatures that validate against the same standards finance and legal teams already audit for.
    • Fill forms inlineAcroForm support means no roundtrip through Acrobat to complete an intake form.
    • Open Office files — Word, Excel, and PowerPoint render in the same viewer (30+ file formats through Document Engine), with no conversion step in your pipeline.
    • Use AI inside the viewerAI Assistant handles document Q&A, summarization, translation, and agentic actions. Users ask in natural language; the assistant extracts data, fills forms, adds annotations, or redacts PII. It works with any LLM provider, on-premises or in the cloud.

    Install and mount it as a React component:

    npm install @nutrient-sdk/viewer

    import { useEffect, useRef } from "react";

    function App() {

    const containerRef = useRef(null);

    useEffect(() => {

    const container = containerRef.current;

    let cleanup = () => {};

    (async () => {

    const NutrientViewer = (await import("@nutrient-sdk/viewer")).default;

    // Ensure there's only one `NutrientViewer` instance.

    NutrientViewer.unload(container);

    if (container && NutrientViewer) {

    NutrientViewer.load({

    container,

    // You can also specify a file in your public directory, for example `/nutrient-web-demo.pdf`.

    useCDN: true,

    document: "/downloads/nutrient-web-demo.pdf",

    });

    }

    cleanup = () => {

    NutrientViewer.unload(container);

    };

    })();

    return cleanup;

    }, []);

    // Set the container height and width.

    return (

    // Make sure to set the container height and width explicitly.

    <div ref={containerRef} style={{ height: "100vh", width: "100vw" }} />

    );

    }

    export default App;

    For a full walkthrough, see how to build a React PDF viewer. If you’re using Next.js, see how to build a Next.js PDF viewer.

    Vue PDF viewer options

    Vue 2 and Vue 3 apps have a few good viewer choices: VuePDF and vue-pdf-embed for basic PDF display; EmbedPDF for an open source viewer with a drop-in UI; and Nutrient Web SDK for annotations, signing, form filling, and Office formats.

    VuePDF

    Best for: Vue 3 projects that only need basic PDF display with zoom and page navigation.

    MIT · Vue 3 · PDF.js wrapper · published as @tato30/vue-pdf

    VuePDF(opens in a new tab) provides basic viewing with zoom and page navigation. It has no annotation tools and no Office support.

    vue-pdf-embed

    Best for: Vue 2 or Vue 3 dashboards that inline-embed PDFs with minimal configuration.

    MIT · 178K weekly downloads · Vue 2 and Vue 3 · PDF.js

    vue-pdf-embed(opens in a new tab) is a component for embedding PDFs with minimal setup. It works well for dashboards and previews where you inline PDFs.

    EmbedPDF

    Best for: Vue apps that want an open source viewer with headless or drop-in UI options.

    MIT · PDFium/WebAssembly · dedicated Vue adapter

    EmbedPDF(opens in a new tab) (covered in the React section) also ships a Vue adapter. It uses the same engine, license, and plugin architecture as the React version, which is useful for codebases spanning multiple frameworks.

    Nutrient Web SDK

    Best for: Vue apps where users annotate, sign contracts, or upload Office files.

    The Vue integration uses the same @nutrient-sdk/viewer(opens in a new tab) package and capabilities as the React section. Mount it through Vue’s Composition API:

    npm install @nutrient-sdk/viewer

    <script setup>

    import { onMounted, onUnmounted, useTemplateRef } from "vue";

    const containerRef = useTemplateRef("container");

    let NutrientViewer;

    onMounted(async () => {

    NutrientViewer = (await import("@nutrient-sdk/viewer")).default;

    NutrientViewer.load({

    container: containerRef.value,

    document: "/document.pdf",

    useCDN: true,

    });

    });

    onUnmounted(() => NutrientViewer?.unload(containerRef.value));

    </script>

    <template>

    <div ref="container" style="height: 100vh; width: 100vw" />

    </template>

    For a full walkthrough, see how to build a Vue.js PDF viewer.

    Angular PDF viewer options

    Angular has two strong open source options and one commercial one: ngx-extended-pdf-viewer ships a prebuilt PDF.js toolbar with form filling; ng2-pdf-viewer exposes a configurable renderer for teams that want to build their own UI; and Nutrient Web SDK covers annotations, signing, and Office formats.

    ngx-extended-pdf-viewer

    Best for: Angular apps that need PDF.js with a prebuilt toolbar and form filling.

    Apache 2.0 · 180K weekly downloads · Angular · PDF.js · frequent releases

    ngx-extended-pdf-viewer(opens in a new tab) covers more than most open source viewers: form filling, text selection, print, and basic annotation display. It still lacks annotation creation, digital signatures, and Office document support.

    ng2-pdf-viewer

    Best for: Angular apps that want a configurable PDF.js renderer and plan to build their own UI.

    MIT · 302K weekly downloads · Angular · PDF.js

    ng2-pdf-viewer(opens in a new tab) is the most-downloaded Angular PDF option. It exposes inputs like [src], [(page)], [zoom], and [render-text], along with events like (after-load-complete) and (page-rendered). There’s no built-in toolbar or sidebar, so you build those yourself.

    The repo is active, but the npm release cadence has slowed (latest release December 2024), so check recent activity before committing to it. For a step-by-step walkthrough, see how to build an Angular PDF viewer with ng2-pdf-viewer.

    Nutrient Web SDK

    Best for: Angular apps where users annotate, sign contracts, or upload Office files.

    Nutrient ships as a standalone Angular component. The Angular integration uses the same package and capabilities as the React section:

    npm install @nutrient-sdk/viewer

    import { Component, OnInit, OnDestroy } from "@angular/core";

    import NutrientViewer from "@nutrient-sdk/viewer";

    @Component({

    selector: "pdf-viewer",

    template: `<div id="viewer" style="width: 100%; height: 100vh"></div>`,

    standalone: true,

    })

    export class PdfViewerComponent implements OnInit, OnDestroy {

    ngOnInit(): void {

    NutrientViewer.load({

    container: "#viewer",

    document: "/document.pdf",

    useCDN: true,

    });

    }

    ngOnDestroy(): void {

    NutrientViewer.unload("#viewer");

    }

    }

    For a full walkthrough, see how to display PDFs using Angular.

    Vanilla JavaScript document viewer

    If you’re not using a framework — or you’re working with one that doesn’t have a dedicated wrapper — you can integrate directly with JavaScript.

    PDF.js

    Best for: Vanilla PDF rendering when you can’t add heavy dependencies or pay for a license.

    Apache 2.0 · Mozilla · the open source reference

    PDF.js(opens in a new tab) includes a built-in viewer UI with text selection, basic form display, search, and print. It powers most third-party wrappers (react-pdf, VuePDF, ngx-extended-pdf-viewer, and ng2-pdf-viewer). It doesn’t support annotation creation, digital signatures, or non-PDF formats.

    Nutrient Web SDK

    Best for: Any JavaScript app where users annotate, sign contracts, or upload Office files.

    Nutrient works with any JavaScript setup — no framework required. It uses the same package and the same capabilities as the framework integrations above:

    npm install @nutrient-sdk/viewer

    (async () => {

    const NutrientViewer = (await import("@nutrient-sdk/viewer")).default;

    NutrientViewer.load({

    container: "#viewer",

    document: "/document.pdf",

    useCDN: true,

    })

    .then((instance) => {

    console.log("Viewer loaded", instance);

    })

    .catch((error) => {

    console.error(error.message);

    });

    })();

    For framework-specific guides, see the Nutrient Web SDK documentation.

    Screenshot of Nutrient Web SDK rendering a six-page PDF in the browser. The viewer has a full toolbar with thumbnail sidebar toggle, page navigation, zoom controls, pan mode, annotation tools (drawing, sign, image, note, text, shapes), document editor, search, export, and print.

    PDF viewer SDK comparison

    The comparison below pits two baseline engines head-to-head: PDF.js (open source) vs. Nutrient (commercial). Most open source wrappers build on PDF.js, so you can map their capabilities to the PDF.js column. EmbedPDF is the exception (PDFium-based) but sits in the same feature bucket.

    PDF.jsNutrient
    LicenseOpen source (Apache 2.0)Commercial
    React/Vue/AngularVia wrapper
    Annotation creation✅ (17+ types)
    Built-in digital signing✅ (PAdES-compliant)
    Office document rendering✅ (30+ file formats)
    Mobile SDK✅ (iOS, Android)
    In-viewer AI/LLM✅ (AI Assistant)
    AI document processing✅ (classification, extraction, redaction)
    Rendering engineJavaScript (canvas)WebAssembly
    • PDF.js fits projects that need basic PDF rendering without a paid license — mature, widely used, free. Its limits show up when you need annotation tools, signing workflows, or Office document support; at that point, you either build those features yourself or move to a commercial SDK.
    • Nutrient — Beyond what the table shows, Nutrient adds real-time collaborative editing (Instant sync, part of the collaboration solution) and programmatic access control for per-user permissions. The processing pipeline extends the in-viewer AI with an AI redaction API and a Vision API (OCR, ICR, and VLM-enhanced extraction with bounding-box accuracy).

    Try the live demo

    FAQ

    It depends on what you’re building:

    • Basic PDF rendering, no license cost — react-pdf (MIT, built on PDF.js).
    • Prebuilt viewer UI, no license cost — EmbedPDF (MIT, built on PDFium) ships optional drop-in UI components.
    • Annotations, signing, form filling, Office support, or in-viewer AINutrient Web SDK covers all of these with a React-compatible integration.

    See the comparison table above for details.

    Install a viewer library via npm and mount it in a Vue component. With Nutrient Web SDK, run npm install @nutrient-sdk/viewer. Then call NutrientViewer.load() inside onMounted(). The viewer needs a container element with explicit width and height. See the Vue integration guide for a complete example.

    PDF.js renders PDF files and provides text selection and basic form display. Commercial SDKs like Nutrient add annotation creation tools, digital signature support, Office document rendering, and dedicated technical support. Choose PDF.js if you only need to display PDFs. Choose a commercial SDK if your users annotate, sign, or fill forms inside your app.

    Yes. Nutrient Web SDK integrates with React, Vue, Angular, Next.js, Svelte, and vanilla JavaScript through a single npm package (@nutrient-sdk/viewer). Each framework uses the same core API — NutrientViewer.load() — with framework-specific mounting patterns. See the getting started guide for framework-specific setup steps.

    Yes, if it has an AI assistant integrated. Nutrient AI Assistant runs inside the viewer and handles:

    • Document Q&A, summarization, and translation.
    • Agentic actions — users describe a task in natural language; the assistant extracts data, fills forms, adds annotations, or redacts PII.

    It works with any LLM provider (OpenAI, Anthropic, local models) and runs on-premises or in the cloud. For non-interactive pipelines, AI Document Processing handles classification and key-value extraction across 100+ document types.

    Next steps

    Get started with Nutrient

    Explore related topics

    Try for free Ready to get started?

    Related SDK articles

    Explore more