-
Notifications
You must be signed in to change notification settings - Fork 14
1016259: Architecture in React PDF Viewer #2442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
Changes from all commits
913e4b6
8103971
dba4a31
fe4136b
1fb5ef5
5a9ef42
f0a09f5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| --- | ||
| layout: post | ||
| title: Supported PDF standards and conformance | Syncfusion | ||
| description: Learn here all about supported PDF standards and conformance in Syncfusion React PDF Viewer and Component. | ||
| platform: document-processing | ||
| control: PDF Viewer | ||
| documentation: ug | ||
| --- | ||
|
|
||
| # Supported PDF standards and conformance | ||
|
|
||
| This section explains the PDF standards supported by the Syncfusion React PDF Viewer and how the viewer handles PDF documents created according to standard specifications. | ||
|
|
||
| ## Overview | ||
|
|
||
| The Syncfusion React PDF Viewer is engineered to **render and interact with PDF documents created according to standard PDF specifications**. It delivers accurate visual representation, smooth user interaction, and consistent behavior across different browser environments. | ||
|
|
||
| The React PDF Viewer excels at **standards-based rendering and interaction**, providing users with a seamless viewing experience for a wide range of PDF documents created using industry-standard tools and processes. | ||
|
|
||
| ## PDF specification support | ||
|
|
||
| The React PDF Viewer supports rendering PDF documents compliant with **ISO 32000 PDF specifications** (PDF 1.4 through 2.0), which define the structural and behavioral foundation of PDF files. | ||
|
|
||
| The viewer provides comprehensive rendering capabilities for: | ||
| - Text, images, and vector graphics with high fidelity | ||
| - Embedded fonts and page resources for accurate layout preservation | ||
| - Bookmarks and document outlines for enhanced navigation | ||
| - Annotations and comments for collaborative workflows | ||
| - Interactive form fields (AcroForms) with full user interaction support | ||
| - Digital signatures with visual rendering and verification capabilities | ||
|
|
||
| Documents created using standards-compliant PDF authoring tools are displayed and interacted with seamlessly in modern browser environments. | ||
|
|
||
| ## Viewing standards-generated PDF documents | ||
|
|
||
| The React PDF Viewer excels at displaying documents generated for widely used PDF standards, including: | ||
|
|
||
| - **Archival PDFs (PDF/A)** – long-term preservation documents with enhanced reliability | ||
| - **Print-optimized PDFs (PDF/X)** – professionally prepared documents for printing workflows | ||
| - **Tagged PDFs** – structurally enriched documents optimized for accessibility | ||
|
|
||
| The viewer delivers **faithful layout rendering and intuitive user interaction**, empowering users to read, navigate, search, annotate, and review documents within web applications with confidence. | ||
|
|
||
| ## Conformance and standards handling | ||
|
|
||
| The Syncfusion React PDF Viewer is optimized for **standards-based rendering and interaction**. The viewer leverages PDF documents that have been authored or processed in accordance with required PDF standards, ensuring optimal display quality and user experience. | ||
|
|
||
| For enhanced control over PDF standard compliance and conformance requirements, the Syncfusion PDF Library provides comprehensive tooling for **document creation, conversion, and standards validation** as part of the document preparation pipeline. | ||
|
|
||
| ## Ideal use cases and applications | ||
|
|
||
| The React PDF Viewer's standards-based rendering capabilities are optimized for: | ||
| - **Enterprise document viewing portals** – delivering high-quality viewing across organizations | ||
| - **Archival document access systems** – supporting long-term document preservation initiatives | ||
| - **Compliance-driven environments** – enabling reliable viewing of standards-generated PDFs | ||
| - **Interactive document review workflows** – facilitating annotation, collaboration, and feedback | ||
| - **Health-care and financial systems** – meeting industry standards for document handling | ||
| - **Legal and regulatory platforms** – supporting document management with confidence | ||
|
|
||
| ## Complementary solutions | ||
|
|
||
| The Syncfusion React PDF Viewer excels at rendering and displaying PDF documents created according to standard PDF specifications, including archival, print-optimized, and tagged PDFs. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We do not have archival, tagged PDF support. |
||
|
|
||
| By focusing on accurate display and responsive user interaction, the viewer ensures consistent, standards-aware document viewing with a rich user experience. | ||
|
|
||
| ### Expanding capabilities with the PDF Library | ||
|
|
||
| The Syncfusion ecosystem provides complementary tools for comprehensive PDF workflows: | ||
|
|
||
| **React PDF Viewer** – Expert rendering and interaction | ||
| - Display standards-based PDFs | ||
| - Intuitive navigation and search | ||
| - Annotation and collaboration features | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We do not have collaboration features |
||
| - Form field interaction | ||
|
|
||
| **Syncfusion PDF Library** – Advanced PDF processing | ||
| - Create and generate PDF documents | ||
| - Convert documents to PDF/A or PDF/X standards | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We only have PDF/A in server side. Check with server side for PDF/X conformance |
||
| - Add digital signatures and security | ||
| - Validate PDF compliance | ||
|
|
||
| For scenarios that require PDF creation, conversion, or advanced standards processing, refer to: | ||
|
|
||
| - [Working with PDF conformance in Syncfusion PDF Library (.NET)](https://help.syncfusion.com/document-processing/pdf/pdf-library/net/working-with-pdf-conformance) | ||
|
|
||
| By leveraging both components, you can build comprehensive document management solutions with end-to-end standards support. | ||
|
|
||
| ## See also | ||
|
|
||
| - [Architecture of Syncfusion React PDF Viewer](./architecture-pdfviewer) | ||
| - [How PDF Rendering Works in the Browser](./how-pdf-rendering-works-in-browser) | ||
| - [Standalone vs Server Backed PDF Viewer](./standalone-vs-server-backed-pdf-viewer) | ||
| - [When backed PDF services are required](./when-backend-pdf-services-are-required) | ||
| - [Self Hosted on](./self-hosted-on-prem-deployment) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| --- | ||
| layout: post | ||
| title: Performance model for large PDFs | Syncfusion | ||
| description: Learn here all about Performance model for large PDF files and performance considerations in Syncfusion React PDF Viewer. | ||
| platform: document-processing | ||
| documentation: ug | ||
| control: PDF Viewer | ||
| --- | ||
|
|
||
| # Performance model for large PDFs | ||
|
|
||
| This section explains how the React PDF Viewer handles **large PDF documents** and outlines the performance model used to deliver a smooth viewing experience across different architectures and device capabilities. | ||
|
|
||
| It also provides guidance on where performance optimizations are already covered in existing documentation and how they relate to this model. | ||
|
|
||
| ## Overview | ||
|
|
||
| Rendering and interacting with large PDF documents requires careful handling of memory, CPU usage, and rendering pipelines. The React PDF Viewer follows a layered performance model that adapts based on the deployment mode and document complexity. | ||
|
|
||
| With **version 31 and above**, significant performance improvements have been introduced—especially in **standalone (client-side) mode**—making the viewer capable of handling large PDFs efficiently without requiring back-end services in many scenarios. | ||
|
|
||
| This page gives a high-level architectural view of these performance considerations. | ||
|
|
||
| ## Standalone viewer performance improvements (v31 and above) | ||
|
|
||
| From version **31.x onward**, the standalone React PDF Viewer includes multiple optimizations that improve performance for large documents: | ||
|
|
||
| - Incremental and on-demand page rendering | ||
| - Reduced memory footprint during page navigation | ||
| - Improved background worker coordination | ||
| - Faster initial document load and page switch times | ||
|
|
||
| These enhancements allow many large PDFs to be handled entirely on the client, provided the device has sufficient system resources. | ||
|
|
||
| N> For most modern desktops and laptops, standalone mode is now suitable even for very large documents. | ||
|
|
||
| ## Large PDF handling strategy | ||
|
|
||
| The PDF Viewer follows these principles when loading large documents: | ||
|
|
||
| - Pages are rendered incrementally instead of all at once | ||
| - Background tasks such as text extraction and thumbnail generation run independently | ||
| - Rendering prioritizes visible pages to improve perceived performance | ||
|
|
||
| This ensures faster user interaction while keeping memory usage under control. | ||
|
|
||
| ## How this performance model fits with large PDF optimization guides | ||
|
|
||
| Detailed **implementation-level optimizations** for large PDFs—such as loading strategies and feature tuning—are covered in a separate User Guide. | ||
|
|
||
| For best practices including: | ||
| - Blob-based loading | ||
| - Module minimization | ||
| - Local storage optimization | ||
| - Annotation and form-field handling | ||
|
|
||
| See [Load Large PDF Files in React PDF Viewer](../document-handling/load-large-pdf) to know more about Large PDF Handling. | ||
|
|
||
| This performance model page complements that guide by describing *why* those optimizations work from an architectural perspective. | ||
|
|
||
| ## Performance considerations | ||
|
|
||
| The standalone (client-side) React PDF Viewer handles large PDF documents efficiently and is sufficient for most real‑world use cases, including very large files. | ||
|
|
||
| Server‑backed processing is **not required for performance in typical scenarios**, but may be considered only in limited cases where external constraints exist, such as: | ||
|
|
||
| - Documents exceed practical browser memory limits on specific environments | ||
| - Uniform performance must be guaranteed across low‑end or highly constrained devices | ||
| - PDFs require heavy batch processing or server‑side transformations | ||
| - Enterprise environments mandate centralized control over resource usage | ||
|
|
||
| In these scenarios, a server‑backed architecture offloads processing from the client while keeping the viewing experience responsive. For standard large‑PDF viewing and interaction, the standalone viewer remains the recommended approach. | ||
|
|
||
| ## Summary | ||
|
|
||
| The React PDF Viewer uses an adaptive performance model designed to: | ||
|
|
||
| - Handle large PDFs efficiently in standalone mode (v31 and above) | ||
| - Scale processing based on document size and feature usage | ||
| - Provide guidance-driven optimizations for heavy documents | ||
|
|
||
| For implementation details and tuning, refer to the [Load Large PDF Files](../document-handling/load-large-pdf) guide. For architectural decisions, use this page to evaluate the appropriate performance model for your application. | ||
|
|
||
| ## See also | ||
|
|
||
| - [Architecture of Syncfusion React PDF Viewer](./architecture-pdfviewer) | ||
| - [How PDF Rendering Works in the Browser](./how-pdf-rendering-works-in-browser) | ||
| - [Standalone vs Server Backed PDF Viewer](./standalone-vs-server-backed-pdf-viewer) | ||
| - [When back-end PDF services are required](./when-backend-pdf-services-are-required) | ||
| - [Self hosted on-premises Deployment](./self-hosted-on-prem-deployment) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| --- | ||
| layout: post | ||
| title: Self-hosted / On-premises deployment in React PDF Viewer | Syncfusion | ||
| description: Learn here all about Self-hosted / On-premises deployment in Syncfusion React PDF Viewer and component. | ||
| platform: document-processing | ||
| documentation: ug | ||
| control: PDF Viewer | ||
| --- | ||
|
|
||
| # Self-hosted / On-premises deployment in React PDF Viewer | ||
|
|
||
| This section explains how the Syncfusion React PDF Viewer supports **self-hosted (on‑premises) deployment** and clarifies how the component operates without any dependency on cloud services. | ||
|
|
||
| ## Overview | ||
|
|
||
| The Syncfusion React PDF Viewer is designed to work **entirely within your own infrastructure**. Once the license is purchased, the viewer can be deployed and used without relying on any Syncfusion cloud services. | ||
|
|
||
| Both **standalone (client-side)** and **server-backed** deployments can be hosted on your own servers, making the PDF Viewer suitable for enterprise, intranet, and regulated environments. | ||
|
|
||
| ## No dependency on cloud services | ||
|
|
||
| The React PDF Viewer does **not require any third‑party or Syncfusion‑managed cloud services** for production use: | ||
|
|
||
| - PDF rendering and interaction can run fully in the browser (standalone mode) | ||
| - Back-end PDF services, if used, are hosted and controlled by your organization | ||
| - No document data is sent to Syncfusion servers | ||
| - Licensing is not tied to runtime cloud usage | ||
|
|
||
| This makes the viewer suitable for **air‑gapped**, **intranet‑only**, and **high‑security** deployments. | ||
|
|
||
| ## Standalone (client-side) deployment | ||
|
|
||
| In standalone mode, all PDF rendering and interactions are handled directly in the browser using local resources. | ||
|
|
||
| Key characteristics: | ||
| - No back-end PDF service is required | ||
| - PDFs are processed entirely on the client device | ||
| - Ideal for read‑only viewing and interactive use cases | ||
| - Recommended for most applications | ||
|
|
||
| N> We strongly recommend using the **standalone mode** whenever back-end processing is not explicitly required. | ||
|
|
||
| ## Server-backed deployment (self-hosted) | ||
|
|
||
| For scenarios that require server-side PDF processing, the React PDF Viewer can be configured to use a **self-hosted PDF Viewer web service**. | ||
|
|
||
| Important notes: | ||
| - The Web API hosted endpoint used in samples or code-snippet is **for demonstration and evaluation purposes only** | ||
| - It must not be used in production environments | ||
| - In production, you must host your own PDF Viewer web service | ||
|
|
||
| You can self-host the server component by: | ||
| - Reusing the official GitHub Web Service example, or | ||
| - Deploying the provided Docker image in your environment | ||
|
|
||
| Once deployed, the service endpoint is configured through the viewer’s `serviceUrl` property. | ||
|
|
||
| ## Client and server usage after purchase | ||
|
|
||
| After purchasing a license: | ||
| - The standalone PDF Viewer can be used without any additional services | ||
| - Server-backed PDF processing can be hosted entirely on your own servers | ||
| - No external cloud integration is required | ||
|
|
||
| This gives you full control over: | ||
| - Infrastructure | ||
| - Security policies | ||
| - Data access and storage | ||
| - Deployment life-cycle | ||
|
|
||
| ## Typical self-hosted deployment scenarios | ||
|
|
||
| Self-hosted or on‑premises deployments are commonly used when: | ||
| - Documents must remain within internal networks | ||
| - Regulatory or compliance requirements restrict cloud usage | ||
| - Applications are deployed on private servers or data centers | ||
| - Internal document management or enterprise portals are involved | ||
|
|
||
| ## Summary | ||
|
|
||
| The React PDF Viewer fully supports **self-hosted and on‑premises deployment models**. Whether used in standalone browser mode or with a self-hosted back-end service, the viewer operates independently of any cloud services once licensed. | ||
|
|
||
| For most use cases, the standalone mode is sufficient and recommended. Server-backed deployment should be used only when specific server-side processing requirements exist. | ||
|
|
||
| ## See also | ||
|
|
||
| - [Architecture of Syncfusion React PDF Viewer](./architecture-pdfviewer) | ||
| - [How PDF Rendering Works in the Browser](./how-pdf-rendering-works-in-browser) | ||
| - [Getting Started standalone PDF Viewer](../getting-started) | ||
| - [Getting Started Server Backed PDF Viewer](../getting-started-with-server-backed) | ||
| - [Standalone vs Server Backed PDF Viewer](./standalone-vs-server-backed-pdf-viewer) | ||
| - [When Back-end PDF Viewer are required](./when-backend-pdf-services-are-required) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not have support for conformance conversion, creation and standards validation on client side.