Skip to content

Commit c96d3b7

Browse files
Integrated latest changes at 05-06-2025 10:30:07 PM
1 parent 92037a8 commit c96d3b7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+271
-83
lines changed

ej2-angular/ai-assistview/accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,4 @@ The AI AssistView component's accessibility levels are ensured through an [acces
7373

7474
## See also
7575

76-
* [Accessibility in Syncfusion Angular components](../common/accessibility)
76+
* [Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Angular components](../common/accessibility)

ej2-angular/ai-assistview/getting-started.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,17 @@ ng new my-app
4141
cd my-app
4242
```
4343

44-
## Installing Syncfusion AI AssistView package
44+
## Installing Syncfusion<sup style="font-size:70%">&reg;</sup> AI AssistView package
4545

46-
Syncfusion packages are distributed in npm as `@syncfusion` scoped packages. You can get all the Angular Syncfusion package from npm [link]( https://www.npmjs.com/search?q=%40syncfusion%2Fej2-angular- ).
46+
Syncfusion<sup style="font-size:70%">&reg;</sup> packages are distributed in npm as `@syncfusion` scoped packages. You can get all the Angular Syncfusion<sup style="font-size:70%">&reg;</sup> package from npm [link]( https://www.npmjs.com/search?q=%40syncfusion%2Fej2-angular- ).
4747

48-
Currently, Syncfusion provides two types of package structures for Angular components,
48+
Currently, Syncfusion<sup style="font-size:70%">&reg;</sup> provides two types of package structures for Angular components,
4949
1. Ivy library distribution package [format](https://v17.angular.io/guide/angular-package-format)
5050
2. Angular compatibility compiler(Angular’s legacy compilation and rendering pipeline) package.
5151

5252
### Ivy library distribution package
5353

54-
Syncfusion Angular packages(`>=20.2.36`) has been moved to the Ivy distribution to support the Angular [Ivy](https://docs.angular.lat/guide/ivy) rendering engine and the package are compatible with Angular version 12 and above. To download the package use the below command.
54+
Syncfusion<sup style="font-size:70%">&reg;</sup> Angular packages(`>=20.2.36`) has been moved to the Ivy distribution to support the Angular [Ivy](https://docs.angular.lat/guide/ivy) rendering engine and the package are compatible with Angular version 12 and above. To download the package use the below command.
5555

5656
Add [`@syncfusion/ej2-angular-interactive-chat`](https://www.npmjs.com/package/@syncfusion/ej2-angular-interactive-chat/v/27.1.48) package to the application.
5757

@@ -61,7 +61,7 @@ npm install @syncfusion/ej2-angular-interactive-chat --save
6161

6262
### Angular compatibility compiled package(ngcc)
6363

64-
For Angular version below 12, you can use the legacy (ngcc) package of the Syncfusion Angular components. To download the `ngcc` package use the below.
64+
For Angular version below 12, you can use the legacy (ngcc) package of the Syncfusion<sup style="font-size:70%">&reg;</sup> Angular components. To download the `ngcc` package use the below.
6565

6666
Add [`@syncfusion/ej2-angular-interactive-chat@ngcc`](https://www.npmjs.com/package/@syncfusion/ej2-angular-interactive-chat/v/27.1.48-ngcc) package to the application.
6767

ej2-angular/chat-ui/accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,4 @@ The Chat UI component's accessibility levels are ensured through an [accessibili
7777

7878
## See also
7979

80-
* [Accessibility in Syncfusion components](../common/accessibility)
80+
* [Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> components](../common/accessibility)

ej2-angular/chat-ui/getting-started.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,17 @@ ng new my-app
4343
cd my-app
4444
```
4545

46-
## Installing Syncfusion Chat UI package
46+
## Installing Syncfusion<sup style="font-size:70%">&reg;</sup> Chat UI package
4747

48-
Syncfusion packages are distributed in npm as `@syncfusion` scoped packages. You can get all the Angular Syncfusion package from npm [link]( https://www.npmjs.com/search?q=%40syncfusion%2Fej2-angular- ).
48+
Syncfusion<sup style="font-size:70%">&reg;</sup> packages are distributed in npm as `@syncfusion` scoped packages. You can get all the Angular Syncfusion<sup style="font-size:70%">&reg;</sup> package from npm [link]( https://www.npmjs.com/search?q=%40syncfusion%2Fej2-angular- ).
4949

50-
Currently, Syncfusion provides two types of package structures for Angular components,
50+
Currently, Syncfusion<sup style="font-size:70%">&reg;</sup> provides two types of package structures for Angular components,
5151
1. Ivy library distribution package [format](https://v17.angular.io/guide/angular-package-format)
5252
2. Angular compatibility compiler(Angular’s legacy compilation and rendering pipeline) package.
5353

5454
### Ivy library distribution package
5555

56-
Syncfusion Angular packages(`>=20.2.36`) has been moved to the Ivy distribution to support the Angular [Ivy](https://docs.angular.lat/guide/ivy) rendering engine and the package are compatible with Angular version 12 and above. To download the package use the below command.
56+
Syncfusion<sup style="font-size:70%">&reg;</sup> Angular packages(`>=20.2.36`) has been moved to the Ivy distribution to support the Angular [Ivy](https://docs.angular.lat/guide/ivy) rendering engine and the package are compatible with Angular version 12 and above. To download the package use the below command.
5757

5858
Add [`@syncfusion/ej2-angular-interactive-chat`](https://www.npmjs.com/package/@syncfusion/ej2-angular-interactive-chat/v/27.1.48) package to the application.
5959

@@ -63,7 +63,7 @@ npm install @syncfusion/ej2-angular-interactive-chat --save
6363

6464
### Angular compatibility compiled package(ngcc)
6565

66-
For Angular version below 12, you can use the legacy (ngcc) package of the Syncfusion Angular components. To download the `ngcc` package use the below.
66+
For Angular version below 12, you can use the legacy (ngcc) package of the Syncfusion<sup style="font-size:70%">&reg;</sup> Angular components. To download the `ngcc` package use the below.
6767

6868
Add [`@syncfusion/ej2-angular-interactive-chat@ngcc`](https://www.npmjs.com/package/@syncfusion/ej2-angular-interactive-chat/v/27.1.48-ngcc) package to the application.
6969

ej2-angular/pdfviewer/accessibility.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ documentation: ug
88
domainurl: ##DomainURL##
99
---
1010

11-
# Accessibility in Syncfusion Angular PDF Viewer components
11+
# Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Angular PDF Viewer components
1212

1313
The PDF Viewer component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility.
1414

@@ -259,4 +259,4 @@ The accessibility compliance of the PDF Viewer component is shown in the followi
259259

260260
## See also
261261

262-
* [Accessibility in Syncfusion Angular components](../common/accessibility)
262+
* [Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Angular components](../common/accessibility)

ej2-angular/pdfviewer/annotation/free-text-annotation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ Find the sample [how to move the free text annotation programmatically](https://
351351

352352
## Get the newly added free text annotation ID
353353

354-
To get the ID of a newly added free text annotation in the Syncfusion PDF viewer, you can use the **annotationAdd()** event. This event is triggered whenever a new annotation is added to the PDF document, and it provides the annotationAddEventHandler object as a parameter. You can access the ID of the new annotation through the AnnotationID property of the annotationAddEventHandler object.
354+
To get the ID of a newly added free text annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer, you can use the **annotationAdd()** event. This event is triggered whenever a new annotation is added to the PDF document, and it provides the annotationAddEventHandler object as a parameter. You can access the ID of the new annotation through the AnnotationID property of the annotationAddEventHandler object.
355355

356356
Here is an example of how you can use the **annotationAdd()** event to get the ID of a new free text annotation:
357357

@@ -369,7 +369,7 @@ Find the sample [how to get the newly added free text annotation id](https://sta
369369

370370
## Change the content of an existing Free text annotation programmatically
371371

372-
To change the content of an existing free text annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
372+
To change the content of an existing free text annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer programmatically, you can use the **editAnnotation()** method.
373373

374374
Here is an example of how you can use the **editAnnotation()** method to change the content of a free text annotation:
375375

ej2-angular/pdfviewer/annotation/import-export-annotation.md

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,194 @@ import { PdfViewerComponent, LinkAnnotationService, BookmarkViewService,
625625

626626
>Run the [web service](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_3.0) and then the angular code. Also note that, the XFDF file for importing the annotation should be placed in the location as specified in the GetDocumentPath method of the PdfViewerController.
627627
628+
## Importing Annotation Using Base64 Data
629+
630+
You can import annotations into the Syncfusion Angular PDF Viewer by decoding Base64-encoded JSON annotation data at runtime and passing the parsed object to the importAnnotation API, as shown in the following code snippet.
631+
632+
{% tabs %}
633+
{% highlight ts tabtitle="Standalone" %}
634+
635+
import { Component, OnInit } from '@angular/core';
636+
import {
637+
LinkAnnotationService, BookmarkViewService, MagnificationService,
638+
ThumbnailViewService, ToolbarService, NavigationService,
639+
TextSearchService, TextSelectionService, PrintService,
640+
FormDesignerService, FormFieldsService, AnnotationService,
641+
PageOrganizerService
642+
} from '@syncfusion/ej2-angular-pdfviewer';
643+
644+
@Component({
645+
selector: 'app-root',
646+
template: `
647+
<!-- Button to trigger annotation import -->
648+
<button (click)="fileInput.click()">Import Annotation</button>
649+
650+
<!-- Hidden file input (only JSON files allowed) -->
651+
<input type="file" #fileInput accept=".json" style="display:none" (change)="onFileSelected($event)" />
652+
653+
<!-- PDF Viewer container -->
654+
<div class="content-wrapper">
655+
<ejs-pdfviewer id="pdfViewer"
656+
[documentPath]="document"
657+
[resourceUrl]="resource"
658+
style="height:640px;display:block">
659+
</ejs-pdfviewer>
660+
</div>
661+
`,
662+
// Register all necessary PDF viewer services
663+
providers: [
664+
LinkAnnotationService, BookmarkViewService, MagnificationService,
665+
ThumbnailViewService, ToolbarService, NavigationService,
666+
TextSearchService, TextSelectionService, PrintService,
667+
AnnotationService, FormDesignerService, FormFieldsService, PageOrganizerService
668+
]
669+
})
670+
export class AppComponent implements OnInit {
671+
// URL of the sample PDF document
672+
public document: string = 'https://cdn.syncfusion.com/content/pdf/handwritten-signature.pdf';
673+
674+
// Syncfusion PDF viewer resource URL
675+
public resource: string = 'https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib';
676+
677+
ngOnInit(): void {}
678+
679+
/**
680+
* Triggered when a file is selected from the input.
681+
* Handles reading and importing the JSON annotation file.
682+
*/
683+
onFileSelected(event: any): void {
684+
const file = event.target.files[0];
685+
686+
// Validate that the selected file is a .json file
687+
if (!file || !file.name.endsWith('.json')) {
688+
alert('Please select a valid JSON file.');
689+
return;
690+
}
691+
692+
const reader = new FileReader();
693+
694+
// When file reading is done
695+
reader.onload = (e: any) => {
696+
// Extract Base64 string (after the "data:application/json;base64," part)
697+
const base64String = e.target.result.split(',')[1];
698+
699+
// Decode Base64 to original JSON string
700+
const decodedJsonString = atob(base64String);
701+
702+
try {
703+
// Parse the JSON string into a JavaScript object
704+
const annotationData = JSON.parse(decodedJsonString);
705+
706+
// Get reference to the PDF viewer instance
707+
const viewer = (document.getElementById('pdfViewer') as any).ej2_instances[0];
708+
709+
// Import the parsed annotation data into the viewer
710+
viewer.importAnnotation(annotationData);
711+
} catch (err) {
712+
// Handle errors (e.g., invalid JSON)
713+
console.error('Invalid JSON file:', err);
714+
alert('Failed to parse JSON.');
715+
}
716+
};
717+
718+
// Start reading the file as a data URL (Base64 encoded)
719+
reader.readAsDataURL(file);
720+
}
721+
}
722+
723+
{% endhighlight %}
724+
{% highlight ts tabtitle="Server-Backed" %}
725+
726+
import { Component, OnInit } from '@angular/core';
727+
import {
728+
LinkAnnotationService, BookmarkViewService, MagnificationService,
729+
ThumbnailViewService, ToolbarService, NavigationService,
730+
TextSearchService, TextSelectionService, PrintService,
731+
FormDesignerService, FormFieldsService, AnnotationService,
732+
PageOrganizerService
733+
} from '@syncfusion/ej2-angular-pdfviewer';
734+
735+
@Component({
736+
selector: 'app-root',
737+
template: `
738+
<!-- Button to trigger annotation import -->
739+
<button (click)="fileInput.click()">Import Annotation</button>
740+
741+
<!-- Hidden file input (only JSON files allowed) -->
742+
<input type="file" #fileInput accept=".json" style="display:none" (change)="onFileSelected($event)" />
743+
744+
<!-- PDF Viewer container -->
745+
<div class="content-wrapper">
746+
<ejs-pdfviewer id="pdfViewer"
747+
[documentPath]="document"
748+
[serviceUrl]="service"
749+
style="height:640px;display:block">
750+
</ejs-pdfviewer>
751+
</div>
752+
`,
753+
// Register all necessary PDF viewer services
754+
providers: [
755+
LinkAnnotationService, BookmarkViewService, MagnificationService,
756+
ThumbnailViewService, ToolbarService, NavigationService,
757+
TextSearchService, TextSelectionService, PrintService,
758+
AnnotationService, FormDesignerService, FormFieldsService, PageOrganizerService
759+
]
760+
})
761+
export class AppComponent implements OnInit {
762+
// URL of the sample PDF document
763+
public document: string = 'https://cdn.syncfusion.com/content/pdf/handwritten-signature.pdf';
764+
765+
// Syncfusion PDF viewer resource URL
766+
public service: string = 'https://services.syncfusion.com/angular/production/api/pdfviewer';
767+
768+
ngOnInit(): void {}
769+
770+
/**
771+
* Triggered when a file is selected from the input.
772+
* Handles reading and importing the JSON annotation file.
773+
*/
774+
onFileSelected(event: any): void {
775+
const file = event.target.files[0];
776+
777+
// Validate that the selected file is a .json file
778+
if (!file || !file.name.endsWith('.json')) {
779+
alert('Please select a valid JSON file.');
780+
return;
781+
}
782+
783+
const reader = new FileReader();
784+
785+
// When file reading is done
786+
reader.onload = (e: any) => {
787+
// Extract Base64 string (after the "data:application/json;base64," part)
788+
const base64String = e.target.result.split(',')[1];
789+
790+
// Decode Base64 to original JSON string
791+
const decodedJsonString = atob(base64String);
792+
793+
try {
794+
// Parse the JSON string into a JavaScript object
795+
const annotationData = JSON.parse(decodedJsonString);
796+
797+
// Get reference to the PDF viewer instance
798+
const viewer = (document.getElementById('pdfViewer') as any).ej2_instances[0];
799+
800+
// Import the parsed annotation data into the viewer
801+
viewer.importAnnotation(annotationData);
802+
} catch (err) {
803+
// Handle errors (e.g., invalid JSON)
804+
console.error('Invalid JSON file:', err);
805+
alert('Failed to parse JSON.');
806+
}
807+
};
808+
809+
// Start reading the file as a data URL (Base64 encoded)
810+
reader.readAsDataURL(file);
811+
}
812+
}
813+
{% endhighlight %}
814+
{% endtabs %}
815+
628816
## Exporting annotation from the PDF document
629817

630818
The PDF Viewer control provides the support to export the annotations as JSON file or JSON object and XFDF file using annotation toolbar.

ej2-angular/pdfviewer/annotation/ink-annotation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ export class AppComponent implements OnInit {
199199

200200
## Edit the existing Ink annotation programmatically
201201

202-
To modify existing Ink annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
202+
To modify existing Ink annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer programmatically, you can use the **editAnnotation()** method.
203203

204204
Here is an example of how you can use the **editAnnotation()** method:
205205

ej2-angular/pdfviewer/annotation/measurement-annotation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ export class AppComponent implements OnInit {
291291

292292
## Edit the existing measurement annotation programmatically
293293

294-
To modify existing measurement annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
294+
To modify existing measurement annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer programmatically, you can use the **editAnnotation()** method.
295295

296296
Here is an example of how you can use the **editAnnotation()** method:
297297

ej2-angular/pdfviewer/annotation/shape-annotation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ export class AppComponent implements OnInit {
288288

289289
## Edit the existing shape annotation programmatically
290290

291-
To modify existing shape annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
291+
To modify existing shape annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer programmatically, you can use the **editAnnotation()** method.
292292

293293
Here is an example of how you can use the **editAnnotation()** method:
294294

ej2-angular/pdfviewer/annotation/stamp-annotation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ export class AppComponent implements OnInit {
281281

282282
## Edit the existing sticky note annotation programmatically
283283

284-
To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
284+
To modify existing sticky note annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer programmatically, you can use the **editAnnotation()** method.
285285

286286
Here is an example of how you can use the **editAnnotation()** method:
287287

ej2-angular/pdfviewer/annotation/sticky-notes-annotation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ export class AppComponent implements OnInit {
126126

127127
## Edit the existing sticky note annotation programmatically
128128

129-
To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
129+
To modify existing sticky note annotation in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer programmatically, you can use the **editAnnotation()** method.
130130

131131
Here is an example of how you can use the **editAnnotation()** method:
132132

ej2-angular/pdfviewer/form-designer/create-programmatically.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ OnImportXml() {
589589

590590
## Form field properties
591591

592-
Form field properties in Syncfusion PDF Viewer allow you to customize and interact with form fields embedded within PDF documents. This documentation provides an overview of the form field properties supported by the Syncfusion PDF Viewer and explains how to use them effectively.
592+
Form field properties in Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer allow you to customize and interact with form fields embedded within PDF documents. This documentation provides an overview of the form field properties supported by the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer and explains how to use them effectively.
593593

594594
* Textbox
595595
* Password

0 commit comments

Comments
 (0)