Skip to content
Open
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: Learn how to apply redactions in mobile view using the Syncfusion A
platform: document-processing
control: PdfViewer
documentation: ug
domainurl: ##DomainURL##
---

# Redaction in Mobile View in Angular PdfViewer Component
Expand Down Expand Up @@ -193,7 +194,7 @@ Step 3: Configure your redaction parameters using the selected tool interface.

N> Applying redactions is permanent. After applying, the underlying content and text are removed from the document and cannot be recovered.

Once you have configured redactions using any combination of tools.
Once you have configured redactions using any combination of tools, follow these steps to apply them.

Step 1: Review all redaction marks and configurations.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,15 +137,15 @@ After adding redaction annotations, permanently apply them to the document using

![Toolbar showing the Apply Redaction button](redaction-annotations-images/redact-button-icon.png)

A confirmation dialog appears before applying redaction to ensure acknowledgement of the irreversible action.
A confirmation dialog appears before applying redaction to ensure acknowledgment of the irreversible action.

![Confirmation dialog for applying redaction](redaction-annotations-images/apply-redaction-dialog.png)

N> Applying redaction is irreversible. Once applied, the original content cannot be recovered.

## Comment Support

Redaction annotations can include comments using the built‑in comment panel. This helps you add notes, track reviews, or record the reason for redaction.
Redaction annotations can include comments using the built‑in comment panel. This helps you add notes, track reviews, or record the reason for redaction.

Comments can be added through the UI or API. For more details, see the [Comments documentation](../annotations/comments).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: Learn how to add, delete, update, and apply redaction annotations p
platform: document-processing
control: PdfViewer
documentation: ug
domainurl: ##DomainURL##
---

# Programmatic support for redaction in Angular PdfViewer
Expand Down Expand Up @@ -203,7 +204,7 @@ export class AppComponent {
} as any);
}

//You can listen to the annotationAdd event to track when annotations are added.
// You can listen to the annotationAdd event to track when annotations are added.
onAnnotationAdd(args: any): void {
console.log('Annotation added:', args);
}
Expand Down Expand Up @@ -383,7 +384,7 @@ export class AppComponent {
]
};

//Edit RedactionAnnotation
// Edit RedactionAnnotation
editRedactAnnotation(): void {
const collection: any[] = (this.pdfViewer as any).annotationCollection;
for (let i = 0; i < collection.length; i++) {
Expand Down Expand Up @@ -489,7 +490,7 @@ export class AppComponent implements AfterViewInit {
]
};

//Add page redactions programmatically (pages 1, 3, 5, 7)
// Add page redactions programmatically (pages 1, 3, 5, 7)
addPageRedactions(): void {
this.pdfViewer.annotation.addPageRedactions([1, 3, 5, 7]);
}
Expand Down Expand Up @@ -578,7 +579,7 @@ export class AppComponent implements AfterViewInit {
]
};

//Apply redaction programmatically (irreversible)
// Apply redaction programmatically (irreversible)
applyRedaction(): void {
this.pdfViewer.annotation.redact();
}
Expand Down Expand Up @@ -666,7 +667,7 @@ export class AppComponent implements AfterViewInit {
]
};

//Configure default redaction annotation properties (same as your JS)
// Configure default redaction annotation properties (same as your JS)
ngAfterViewInit(): void {
(this.pdfViewer as any).redactionSettings = {
overlayText: 'Confidential',
Expand Down Expand Up @@ -698,5 +699,5 @@ The redaction property panel allows users to update annotation properties throug
* [Overview of Redaction](./overview)
* [Redaction UI interactions](./ui-interaction)
* [Redaction Toolbar](./toolbar)
* [Reaction in Mobile view](./mobile-view)
* [Redaction in Mobile view](./mobile-view)
* [Search Text and Redact](./search-redact)
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ import {
</div>
`,
providers: [
// Angular DI is the Angular equivalent of PdfViewer.Inject(...)
LinkAnnotationService,
BookmarkViewService,
MagnificationService,
Expand All @@ -86,7 +85,7 @@ import {
export class AppComponent {
@ViewChild('pdfviewer', { static: true }) pdfViewer!: PdfViewerComponent;

// Same sources as in your JS
// Document and resource URLs
public document = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
public resource = 'https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: Learn how to customize the redaction toolbar in the Syncfusion Angu
platform: document-processing
control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---

# Redaction toolbar customization in Angular
Expand Down Expand Up @@ -102,7 +103,7 @@ export class AppComponent {

Refer to the following image for the toolbar view:

![Enable redaction toolbar](../redaction/redaction-annotations-images/redaction-icon-toolbar.png)
![Enable redaction toolbar](redaction-annotations-images/redaction-icon-toolbar.png)

## Show or hide the redaction toolbar

Expand All @@ -112,7 +113,7 @@ The redaction toolbar can be toggled using the built‑in toolbar icon or progra

When `RedactionEditTool` is included in the toolbar settings, clicking the redaction icon in the primary toolbar will show or hide the redaction toolbar.

![Show redaction toolbar from the primary toolbar](../redaction/redaction-annotations-images/redaction-icon-toolbar.png)
![Show redaction toolbar from the primary toolbar](redaction-annotations-images/redaction-icon-toolbar.png)

### Display the redaction toolbar programmatically

Expand Down Expand Up @@ -221,7 +222,7 @@ export class AppComponent {

Refer to the following image for details:

![Programmatically show the Redaction toolbar](../redaction/redaction-annotations-images/show-redaction-toolbar.png)
![Programmatically show the Redaction toolbar](redaction-annotations-images/show-redaction-toolbar.png)

## See also

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: Learn about UI interactions in Redaction annotations of the Syncfus
platform: document-processing
control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---

# Redaction UI interactions in Angular PDF Viewer
Expand Down Expand Up @@ -120,7 +121,7 @@ The **Apply Redaction** button permanently removes all marked content from the d

![Redact Button Icon](redaction-annotations-images/redact-button-icon.png)

A confirmation dialog appears before applying redaction to ensure acknowledgement of the irreversible nature of the process.
A confirmation dialog appears before applying redaction to ensure acknowledgment of the irreversible nature of the process.

![Apply Redaction Dialog](redaction-annotations-images/apply-redaction-dialog.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ documentation: ug

This section explains how to **add signature fields** using the Syncfusion **Angular PDF Viewer** and how to apply **digital (PKI) signatures** using the **JavaScript PDF Library**.

N> As instructed by team leads — use the **Angular PDF Viewer only to add & place signature fields**. Use the **JavaScript PDF Library** to apply the *actual cryptographic digital signature*.
N> Use the **Angular PDF Viewer only to add & place signature fields**. Use the **JavaScript PDF Library** to apply the *actual cryptographic digital signature*.

## Overview (Explanation)
## Overview

A **digital signature** provides:
- **Authenticity** – confirms the signer’s identity.
Expand All @@ -24,11 +24,12 @@ Syncfusion supports a hybrid workflow:
- Viewer → **[Design signature fields](../forms/manage-form-fields/create-form-fields#signature-field)**, capture Draw/Type/Upload electronic signature.
- PDF Library → **[Apply PKCS#7/CMS digital signature](https://help.syncfusion.com/document-processing/pdf/pdf-library/javascript/digitalsignature)** using a certificate (PFX/P12).

## Add a Signature Field (How-to)
## Add a Signature Field

### Using the UI
1. Open **Form Designer**.
2. Select **Signature Field**.
1. Enable **Form Designer** mode in the PDF Viewer. See [Form Designer overview](../forms/overview).
2. Open **Form Designer**.
3. Select **Signature Field**.
3. Click on the document to place the field.
4. Configure Name, Tooltip, Required, etc.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ When applying a PKI [digital signature](https://help.syncfusion.com/document-pro

For implementation details and exact API usage, check the Syncfusion PDF Library references:

- .NET PDF Library — [Drawing text/image in the signature appearance]( https://help.syncfusion.com/document-processing/pdf/pdf-library/net/working-with-digitalsignature#drawing-textimage-in-the-signature-appearance)
- .NET PDF Library — [Drawing text/image in the signature appearance](https://help.syncfusion.com/document-processing/pdf/pdf-library/net/working-with-digitalsignature#drawing-textimage-in-the-signature-appearance)
- JavaScript PDF Library — [Drawing text/image in the signature appearance](https://help.syncfusion.com/document-processing/pdf/pdf-library/javascript/digitalsignature#drawing-textimage-in-the-signature-appearance)

## What you can customize
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,13 +242,13 @@ N> For a ready‑to‑try flow that routes two users to sign their own fields an

Use the **JavaScript PDF Library** to apply a cryptographic signature on a field, with or without a visible appearance. See the **Digital Signature** documentation for additional options (external signing callbacks, digest algorithms, etc.).

N> To preview visual differences, check the [Invisible Signature](https://document.syncfusion.com/demos/pdf-viewer/angular/#/bootstrap5/pdfviewer/invisible-digital-signature) and [Visible Signature](https://document.syncfusion.com/demos/pdf-viewer/angular/#/bootstrap5/pdfviewer/visible-digital-signature) in our Sample Browser. Digital Signature samples in the Angular sample browser.
N> To preview visual differences, check the [Invisible Signature](https://document.syncfusion.com/demos/pdf-viewer/angular/#/bootstrap5/pdfviewer/invisible-digital-signature) and [Visible Signature](https://document.syncfusion.com/demos/pdf-viewer/angular/#/bootstrap5/pdfviewer/visible-digital-signature) in our Sample Browser.

### Finalize a signed document (lock)

After collecting all signatures and passing validations, **[Lock](https://help.syncfusion.com/document-processing/pdf/pdf-library/javascript/digitalsignature#lock-signature)** the PDF (and optionally restrict permissions) to prevent further edits.

## Signature Workflow Best Practices (Explanation)
## Signature Workflow Best Practices

Designing a well‑structured signature workflow ensures clarity, security, and efficiency when working with PDF documents. Signature workflows typically involve multiple participants—reviewers and approvers each interacting with the document at different stages.

Expand Down Expand Up @@ -307,7 +307,6 @@ N> Refer to [eSigning PDF Forms](https://document.syncfusion.com/demos/pdf-viewe
- [Customize Annotation](../annotation/customize-annotation)
- [Digital Signature - JavaScript PDF Library](https://help.syncfusion.com/document-processing/pdf/pdf-library/javascript/digitalsignature)
- [Handwritten Signature](../annotation/signature-annotation)
- [Form Fields API](../form-fields-api)
- [Form Fields API](../forms/form-fields-api)
- [Add Digital Signature](./add-digital-signature)
- [Customize Signature Appearance](./customize-signature-appearance)
- [Signature workflows](./signature-workflow)
- [Customize Signature Appearance](./customize-signature-appearance)
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ documentation: ug

This guide explains **how to validate digital signatures** on PDFs when using the **Angular PDF Viewer** together with the **JavaScript PDF Library**. It clarifies what the Viewer does (display fields and signature appearances) and what the **PDF Library** does (perform **cryptographic validation** and produce validation results).

N> **Important:** The Angular PDF Viewer renders signature fields and their visual appearances, but **cryptographic validation is performed by the JavaScript PDF Library**. Use the library to check integrity, certificate trust, and timestamp status, and surface the result in your UI.
N> **Important:** The Angular PDF Viewer renders signature fields and their visual appearances, but **cryptographic validation is performed by the JavaScript PDF Library**. Use the library to check integrity, certificate trust, and timestamp status, and surface the results in your UI.

## Overview (Explanation)
## Overview

A **digital signature** is a cryptographic proof embedded in the PDF that allows verifiers to confirm:

Expand All @@ -24,13 +24,13 @@ A **digital signature** is a cryptographic proof embedded in the PDF that allows

In Syncfusion, you typically **[design the signature field in the Viewer](../forms/manage-form-fields/create-form-fields#signature-field)** and then use the Syncfusion PDF Library to perform cryptographic validation. See the PDF Library documentation for API references and examples: [Digital signature validation (PDF Library)](https://help.syncfusion.com/document-processing/pdf/pdf-library/net/working-with-digitalsignature#digital-signature-validation).

## How validation fits in the Viewer flow (Concept)
## How validation fits in the Viewer flow

1. Load and interact with the PDF in **Angular PDF Viewer** (place fields, fill forms).
2. Use **JavaScript PDF Library** to **open the PDF bytes** and **validate the signature**.
3. Display the validation outcome (valid/invalid/unknown) in your Angular UI (badge, toast, side panel).

## How‑to: Validate a digital signature (Client‑side)
## Validate a digital signature (Client‑side)

Cryptographic signature validation is performed by the Syncfusion PDF Library. Please refer to the PDF Library documentation for detailed guidance and sample code. The following pages cover validation concepts, APIs, and full examples:

Expand All @@ -42,13 +42,13 @@ Cryptographic signature validation is performed by the Syncfusion PDF Library. P

After using the PDF Library to obtain validation results (integrity, trust, timestamp), surface those results in your Angular UI (for example: badge, table, or details panel) to communicate status to users.

## Interpreting validation outcomes (Reference)
## Interpreting validation outcomes

- **Valid** – Integrity OK **and** certificate is trusted. (Timestamp valid if present.)
- **Invalid** – Bytes changed after signing **or** signature object malformed.
- **Unknown/Not Trusted** – Integrity OK but signer certificate is not trusted locally (common with **self‑signed PFX** used for demos). Import the signer certificate into the trusted store to see a *Valid* badge.

## Best practices (Explanation)
## Best practices

- **Single‑save rule:** Do **all edits first**, then **sign**, and **do not modify** the PDF after signing; modifying bytes after signing will invalidate the signature.
- **Establish trust:** For demos, a self‑signed PFX will appear *Unknown*. For production, use a certificate that chains to a trusted CA or import the signer/issuer to the verifier’s trust store.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The **Syncfusion PDF Viewer is fully optimized for these heavy workloads**, and
### Viewer Capability Highlights
- **Smooth performance for PDFs up to 1 GB**
- **Supports viewing files up to ~2 GB**
- **1 GB PDFs typically load within 5–6 seconds**
- **1 GB PDFs typically load within 5–6 seconds** (varies by system)
- **Optimized incremental page loading** for faster interaction

Performance may vary if the user’s system is heavily loaded or low on available RAM. In such cases, enabling the recommended optimizations below ensures maximum performance.
Expand Down Expand Up @@ -114,7 +114,7 @@ If thumbnails or page reordering are not essential:
<Inject services={[Toolbar, Magnification, Navigation, Print]} />
```

### 4. Enable Local Storage for Large PDFs With Many Form Fields or Annotations
### 4. Enable Local Storage for Large PDFs with Many Form Fields or Annotations

PDFs with a high number of:

Expand All @@ -130,7 +130,7 @@ require more storage for:

Enabling local storage in the PDF Viewer can improve performance and smoothness when working with large files. This allows the viewer to cache document data locally, reducing repeated network requests and memory spikes.

Use the [`enableLocalStorage`](https://ej2.syncfusion.com/angular/documentation/api/pdfviewer/index-default#enablelocalstorage) property to control this behavior. When set to `true`, session data is stored in memory for the current session; when `false` (default), browser session storage is used.
Use the [`enableLocalStorage`](https://ej2.syncfusion.com/angular/documentation/api/pdfviewer/index-default#enablelocalstorage) property to control this behavior. When set to `true`, viewer data is persisted in the browser `localStorage`; when `false` (default), browser `sessionStorage` is used.

**How the viewer stores this data by default**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ domainurl: ##DomainURL##

This article explains how to open password-protected PDF files in the Angular PDF Viewer. The viewer supports both user‑interactive loading (Open File dialog) and programmatic loading using APIs.

## 1. Opening a Password-Protected PDF Using the **Open File** Dialog
## 1. Opening a Password-Protected PDF using the **Open File** Dialog

When the user selects a password-protected PDF using the built‑in **Open File** option:

Expand Down Expand Up @@ -53,7 +53,7 @@ viewer.load(

This is useful when the password is known beforehand.

### 2.2 Loading a Password-Protected Document's URL Using `documentPath`
### 2.2 Loading a Password-Protected PDF by URL Using `documentPath`

If the [`documentPath`](https://ej2.syncfusion.com/angular/documentation/api/pdfviewer/index-default#documentpath) points to a password-protected PDF:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ documentation: ug
domainurl: ##DomainURL##
---

# Pre-process PDF Document Before Displaying in Angular PDF Viewer
# Pre process PDF Document Before Displaying in Angular PDF Viewer

This section explains why preprocessing is useful, what operations you can perform using the Syncfusion PDF Library, and how to load the processed document in the Angular PDF Viewer.

Expand All @@ -30,7 +30,7 @@ You can visually merge pages in the **Organize Pages** UI inside the PDF Viewer.

### Programmatically Merge PDFs
Using the Syncfusion PDF Library, you can merge documents before loading them into the viewer.
```js
```ts
import { PdfDocument } from '@syncfusion/ej2-pdf';

const document1 = await PdfDocument.load('file1.pdf');
Expand All @@ -48,7 +48,7 @@ Using the Viewer's [**Organize Pages**](../../organize-pages/overview) window, u
![Extract Pages](../images/extract-page.png)

### Programmatically Extract Pages
```js
```ts
import { PdfDocument } from '@syncfusion/ej2-pdf';

const original = await PdfDocument.load('sample.pdf');
Expand All @@ -64,7 +64,7 @@ This reduces file size and improves performance when loading large documents.
- Ensures consistent appearance across all devices

### Programmatic Flattening
```js
```ts
import { PdfDocument } from '@syncfusion/ej2-pdf';

const doc = await PdfDocument.load('form.pdf');
Expand All @@ -75,7 +75,7 @@ const bytes = await doc.save();

### Flatten on Load

Use the following code-snippet, when you want uploaded PDFs to be flattened before they are loaded into the viewer.
Use the following code snippet when you want uploaded PDFs to be flattened before they are loaded into the viewer.

{% tabs %}
{% highlight ts tabtitle="Standalone" %}
Expand Down Expand Up @@ -212,7 +212,7 @@ The PDF Viewer toolbar allows users to:
![Custom Stamp](../images/customStamp.png)

### Programmatically Add a Watermark
```js
```ts
import { PdfDocument, PdfGraphics, PdfBrushes } from '@syncfusion/ej2-pdf';

const doc = await PdfDocument.load('input.pdf');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
layout: post
title: Retrieve the Loaded Document in Angular PDF Viewer | syncfusion
title: Retrieve the Loaded Document in Angular PDF Viewer | Syncfusion
description: Learn how to access the loaded PDF document instance in the Angular PDF Viewer using ViewChild and the documentLoad event.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
Expand Down
Loading