diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-assign-cell-value-without-changing-format-type-in-xlsio.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-assign-cell-value-without-changing-format-type-in-xlsio.md
new file mode 100644
index 0000000000..8843aa495e
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-assign-cell-value-without-changing-format-type-in-xlsio.md
@@ -0,0 +1,73 @@
+---
+title: Assign Cell Value Without Changing Format | Syncfusion
+description: Demonstrates assigning values to cells in Syncfusion XlsIO without changing formats, using Text or setting NumberFormat before Value.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to assign cell value without changing the format type in XlsIO?
+
+Assigning a value to a cell using the `Value` property can change the cell's format type based on the assigned value. If you want to preserve the existing display/format, write the value using the `Text` property. Alternatively, set the desired `NumberFormat` (for example text format "@") before assigning with `Value`.
+
+The following examples show both approaches.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Preserve existing formatting by assigning text directly
+ worksheet.Range["A1"].Text = "1-";
+
+ // Or set the cell's NumberFormat to Text before using Value
+ worksheet.Range["A2"].NumberFormat = "@";
+ worksheet.Range["A2"].Value = "1-";
+
+ workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"));
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Preserve formatting by using Text
+ worksheet.Range["A1"].Text = "1-";
+
+ // Force Text number format, then set value
+ worksheet.Range["A2"].NumberFormat = "@";
+ worksheet.Range["A2"].Value = "1-";
+
+ workbook.SaveAs("Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+ Dim workbook As IWorkbook = application.Workbooks.Create(1)
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ ' Preserve existing formatting by assigning text directly
+ worksheet("A1").Text = "1-"
+
+ ' Or set the NumberFormat to Text then assign Value
+ worksheet("A2").NumberFormat = "@"
+ worksheet("A2").Value = "1-"
+
+ workbook.SaveAs("Output.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-convert-inches-to-points-in-syncfusion-xlsio.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-convert-inches-to-points-in-syncfusion-xlsio.md
new file mode 100644
index 0000000000..5f972b9fb2
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-convert-inches-to-points-in-syncfusion-xlsio.md
@@ -0,0 +1,54 @@
+---
+title: How to convert inches to points in Syncfusion XlsIO? | Syncfusion
+description: Shows how to convert inches to points using `IApplication.InchesToPoints` in Syncfusion XlsIO. Useful for precise sizing of cells, shapes, and page layouts.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to convert inches to points in Syncfusion XlsIO?
+
+Converting measurements between units is common when laying out Excel content programmatically. Syncfusion XlsIO exposes an `InchesToPoints` helper on the `IApplication` instance that converts a measurement in inches to points.
+
+The following code example illustrates the conversion.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+// Create an instance of ExcelEngine
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+
+ // Converts inches to points
+ double inches = 4.5;
+ double points = application.InchesToPoints(inches);
+ Console.WriteLine($"{inches} inches is equal to {points} points.");
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+// Create an instance of ExcelEngine
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+
+ // Converts inches to points
+ double inches = 4.5;
+ double points = application.InchesToPoints(inches);
+ Console.WriteLine($"{inches} inches is equal to {points} points.");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+
+ ' Converts inches to points
+ Dim inches As Double = 4.5
+ Dim points = application.InchesToPoints(inches)
+ Console.WriteLine($"{inches} inches is equal to {points} points.")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-a-range-from-one-workbook-to-another.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-a-range-from-one-workbook-to-another.md
index b5d14f8b15..82bf866d9f 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-a-range-from-one-workbook-to-another.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-a-range-from-one-workbook-to-another.md
@@ -8,7 +8,7 @@ documentation: UG
# How to copy a range from one workbook to another?
-You can copy the range from source workbook to the destination workbook through [CopyTo](https://help.syncfusion.com/cr/file-formats/Syncfusion.XlsIO.IRange.html#Syncfusion_XlsIO_IRange_CopyTo_Syncfusion_XlsIO_IRange_Syncfusion_XlsIO_ExcelCopyRangeOptions_) method.
+You can copy the range from source workbook to the destination workbook through [CopyTo](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IRange.html#Syncfusion_XlsIO_IRange_CopyTo_Syncfusion_XlsIO_IRange_Syncfusion_XlsIO_ExcelCopyRangeOptions_) method.
The following code snippet illustrates this.
@@ -92,8 +92,8 @@ End Using
## See Also
-* [How to copy/paste the cell values that contain only formula?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-copy-paste-the-cell-values-that-contain-only-formula)
-* [How to copy or move a range?](https://help.syncfusion.com/file-formats/xlsio/worksheet-cells-manipulation#copy-or-move-a-range)
-* [How to copy and paste as link?](https://help.syncfusion.com/file-formats/xlsio/worksheet-cells-manipulation#copy-and-paste-as-link)
-* [How to skip blanks while copying?](https://help.syncfusion.com/file-formats/xlsio/worksheet-cells-manipulation#skip-blanks-while-copying)
-* [How to open an existing XLSX workbook and save it as XLS?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-open-an-existing-xlsx-workbook-and-save-it-as-xls)
+* [How to copy/paste the cell values that contain only formula?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-copy-paste-the-cell-values-that-contain-only-formula)
+* [How to copy or move a range?](https://help.syncfusion.com/document-processing/excel/excel-library/net/worksheet-cells-manipulation#copy-or-move-a-range)
+* [How to copy and paste as link?](https://help.syncfusion.com/document-processing/excel/excel-library/net/worksheet-cells-manipulation#copy-and-paste-as-link)
+* [How to skip blanks while copying?](https://help.syncfusion.com/document-processing/excel/excel-library/net/worksheet-cells-manipulation#skip-blanks-while-copying)
+* [How to open an existing XLSX workbook and save it as XLS?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-open-an-existing-xlsx-workbook-and-save-it-as-xls)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-detect-whether-a-column-is-hidden-in-an-excel-file-using-xlsio.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-detect-whether-a-column-is-hidden-in-an-excel-file-using-xlsio.md
new file mode 100644
index 0000000000..7936103a01
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-detect-whether-a-column-is-hidden-in-an-excel-file-using-xlsio.md
@@ -0,0 +1,87 @@
+---
+title: How to detect if a column is hidden using XlsIO | Syncfusion
+description: Shows how to detect whether a column is hidden in an Excel and also shows how to check IsHidden property in a worksheet using Syncfusion XlsIO.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to detect whether a column is hidden in an Excel file using XlsIO?
+
+You can determine whether a column is hidden by inspecting the worksheet's column information. The example below uses `WorksheetImpl` to access the `ColumnInformation` collection and checks the `IsHidden` property for the requested column index.
+
+Note: column indices in `ColumnInformation` are 1-based.
+
+The following examples show the pattern in C# (cross-platform and Windows-specific) and VB.NET.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+
+ // Use the concrete WorksheetImpl when you need access to implementation-specific members
+ WorksheetImpl sheet = workbook.Worksheets[0] as WorksheetImpl;
+
+ // Hide column 1
+ sheet.ShowColumn(1, false);
+
+ // Detect whether column 1 is hidden
+ bool hidden = sheet.ColumnInformation[1] != null && sheet.ColumnInformation[1].IsHidden;
+
+ Console.WriteLine($"Column 1 hidden: {hidden}");
+
+ workbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+
+ WorksheetImpl sheet = workbook.Worksheets[0] as WorksheetImpl;
+
+ // Hide column 1
+ sheet.ShowColumn(1, false);
+
+ // Detect whether column 1 is hidden
+ bool hidden = sheet.ColumnInformation[1] != null && sheet.ColumnInformation[1].IsHidden;
+
+ Console.WriteLine($"Column 1 hidden: {hidden}");
+
+ workbook.SaveAs("Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+ Dim workbook As IWorkbook = application.Workbooks.Create(1)
+
+ ' Use the concrete WorksheetImpl when you need access to implementation-specific members
+ Dim sheet As WorksheetImpl = TryCast(workbook.Worksheets(0), WorksheetImpl)
+
+ ' Hide column 1
+ sheet.ShowColumn(1, False)
+
+ ' Detect whether column 1 is hidden
+ Dim hidden As Boolean = sheet.ColumnInformation(1) IsNot Nothing AndAlso sheet.ColumnInformation(1).IsHidden
+
+ Console.WriteLine($"Column 1 hidden: {hidden}")
+
+ workbook.SaveAs("Output.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
+
+## See Also
+
+* [Working with Excel Worksheet](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-excel-worksheet)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-find-values-with-a-matching-case-for-specific-column-in-Excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-find-values-with-a-matching-case-for-specific-column-in-Excel.md
index 30726b4d29..52f11d5b6a 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-find-values-with-a-matching-case-for-specific-column-in-Excel.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-find-values-with-a-matching-case-for-specific-column-in-Excel.md
@@ -7,7 +7,7 @@ documentation: UG
---
# How to find values with a matching case for specific column in Excel?
-XlsIO allows finding values with matching case for specific column in Excel worksheet using **MatchCase** option of [ExcelFindOptions](https://help.syncfusion.com/cr/file-formats/Syncfusion.XlsIO.ExcelFindOptions.html) enumeration through [Find](https://help.syncfusion.com/cr/file-formats/Syncfusion.XlsIO.Implementation.WorksheetImpl.html#Syncfusion_XlsIO_Implementation_WorksheetImpl_Find_Syncfusion_XlsIO_IRange_System_String_Syncfusion_XlsIO_ExcelFindType_Syncfusion_XlsIO_ExcelFindOptions_System_Boolean_) method of [WorksheetImpl](https://help.syncfusion.com/cr/file-formats/Syncfusion.XlsIO.Implementation.WorksheetImpl.html). The following code illustrates this.
+XlsIO allows finding values with matching case for specific column in Excel worksheet using **MatchCase** option of [ExcelFindOptions](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.ExcelFindOptions.html) enumeration through [Find](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.Implementation.WorksheetImpl.html#Syncfusion_XlsIO_Implementation_WorksheetImpl_Find_Syncfusion_XlsIO_IRange_System_String_Syncfusion_XlsIO_ExcelFindType_Syncfusion_XlsIO_ExcelFindOptions_System_Boolean_) method of [WorksheetImpl](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.Implementation.WorksheetImpl.html). The following code illustrates this.
{% tabs %}
{% highlight c# tabtitle="C# [Cross-platform]" %}
@@ -82,11 +82,11 @@ End Using
## See Also
-* [How to opening an existing workbook?](https://help.syncfusion.com/file-formats/xlsio/loading-and-saving-workbook#opening-an-existing-workbook)
-* [How to perform Find and Replace?](https://help.syncfusion.com/file-formats/xlsio/worksheet-cells-manipulation#find-and-replace)
-* [How to get entire column of the particular range?](https://help.syncfusion.com/file-formats/xlsio/worksheet-cells-manipulation#entire-column)
-* [How to define discontinuous ranges?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-define-discontinuous-ranges)
+* [How to opening an existing workbook?](https://help.syncfusion.com/document-processing/excel/excel-library/net/loading-and-saving-workbook#opening-an-existing-workbook-from-stream)
+* [How to perform Find and Replace?](https://help.syncfusion.com/document-processing/excel/excel-library/net/worksheet-cells-manipulation#find-and-replace)
+* [How to get entire column of the particular range?](https://help.syncfusion.com/document-processing/excel/excel-library/net/worksheet-cells-manipulation#entire-column)
+* [How to define discontinuous ranges?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-define-discontinuous-ranges)
* [How to create and open Excel Template files by using XlsIO?](how-to-create-and-open-excel-template-files-by-using-xlsio)
* [How to copy a range from one workbook to another?](how-to-copy-a-range-from-one-workbook-to-another)
* [How to sort two or more columns in a pivot table?](how-to-sort-two-or-more-columns-in-a-pivot-table)
-* [How to move or copy a worksheet?](https://help.syncfusion.com/file-formats/xlsio/working-with-excel-worksheet#move-or-copy-a-worksheet)
+* [How to move or copy a worksheet?](https://help.syncfusion.com/document-processing/excel/excel-library/net/worksheet/move-or-copy)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-format-text-within-a-cell.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-format-text-within-a-cell.md
index 52b70f3edb..1b8c86388a 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-format-text-within-a-cell.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-format-text-within-a-cell.md
@@ -108,9 +108,9 @@ End Using
## See Also
-* [How to set a line break inside a cell?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-set-a-line-break-inside-a-cell)
-* [How to protect certain cells in a worksheet?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-protect-certain-cells-in-a-worksheet)
-* [How to copy/paste the cell values that contain only formula?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-copy-paste-the-cell-values-that-contain-only-formula)
-* [How to rich-text formatting?](https://help.syncfusion.com/file-formats/xlsio/working-with-cell-or-range-formatting#rich-text-formatting)
-* [How to apply number formats?](https://help.syncfusion.com/file-formats/xlsio/working-with-cell-or-range-formatting#apply-number-formats)
-* [How to apply cell text alignment?](https://help.syncfusion.com/file-formats/xlsio/working-with-cell-or-range-formatting#apply-cell-text-alignment)
+* [How to set a line break inside a cell?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-set-a-line-break-inside-a-cell)
+* [How to protect certain cells in a worksheet?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-protect-certain-cells-in-a-worksheet)
+* [How to copy/paste the cell values that contain only formula?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-copy-paste-the-cell-values-that-contain-only-formula)
+* [How to rich-text formatting?](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-cell-or-range-formatting#rich-text-formatting)
+* [How to apply number formats?](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-cell-or-range-formatting#apply-number-formats)
+* [How to apply cell text alignment?](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-cell-or-range-formatting#apply-cell-text-alignment)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-merge-cells-preserving-topleft-value-and-format-in-xlsio.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-merge-cells-preserving-topleft-value-and-format-in-xlsio.md
new file mode 100644
index 0000000000..847b2cc1b2
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-merge-cells-preserving-topleft-value-and-format-in-xlsio.md
@@ -0,0 +1,61 @@
+---
+title: How to merge cells preserving cell value and formatting | Syncfusion
+description: Shows how to merge a range so only the top-left cell's value is kept and its formatting applied to the merged region using Syncfusion XlsIO.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to merge cells preserving top left cell value and formatting?
+
+To merge cells in Excel while preserving only the top-left cell’s value and extending its formatting across the entire merged range, you can use the Range.Merge(true) method. This approach ensures that all other cells within the selected region are cleared, while the content and style of the top-left cell are retained and applied uniformly to the merged area.
+
+The following code examples shows how to merge cells preserving cell value and formatting using C# (cross-platform and Windows-specific) and VB.NET.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Merge: true preserves top-left value and copies top-left formatting to merged area
+ worksheet.Range["B8:C11"].Merge();
+
+ workbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open(InputTemplate.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Merge the range and keep top-left value & formatting
+ worksheet.Range["B8:C11"].Merge(true);
+
+ workbook.SaveAs("Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+ Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xlsx")
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ ' Merge the range and keep top-left value & formatting
+ worksheet.Range("B8:C11").Merge(True)
+
+ workbook.SaveAs("Output.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-overcome-unauthorizedaccessexception.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-overcome-unauthorizedaccessexception.md
index ca60c99c4a..ab40452c8f 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-overcome-unauthorizedaccessexception.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-overcome-unauthorizedaccessexception.md
@@ -14,7 +14,7 @@ First, check whether you can access the folder and the file directly. Then, righ
## See Also
-* [How to overcome StackOverflow exception with IWorksheet Calculate()?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-overcome-stackoverflow-exception-with-iworksheet-calculate)
-* [How to avoid exception when adding worksheets with same name?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-avoid-exception-when-adding-worksheets-with-same-name)
-* [What are the known exceptions of XlsIO?](https://help.syncfusion.com/file-formats/xlsio/known-exceptions)
-* [How to secure Excel documents?](https://help.syncfusion.com/file-formats/xlsio/security)
+* [How to overcome StackOverflow exception with IWorksheet Calculate()?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-overcome-stackoverflow-exception-with-iworksheet-calculate)
+* [How to avoid exception when adding worksheets with same name?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-avoid-exception-when-adding-worksheets-with-same-name)
+* [What are the known exceptions of XlsIO?](https://help.syncfusion.com/document-processing/excel/excel-library/net/known-exceptions)
+* [How to secure Excel documents?](https://help.syncfusion.com/document-processing/excel/excel-library/net/security)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-preserve-line-breaks-when-saving-excel-as-csv.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-preserve-line-breaks-when-saving-excel-as-csv.md
new file mode 100644
index 0000000000..f3cedb57b6
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-preserve-line-breaks-when-saving-excel-as-csv.md
@@ -0,0 +1,19 @@
+---
+title: How to preserve line breaks when saving Excel as CSV | Syncfusion
+description: Explanation of why line breaks in cell text are not preserved when saving an Excel file to CSV and the recommended alternative to retain the visual format.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to preserve line breaks when saving Excel as CSV?
+
+When an Excel worksheet is saved as a CSV file, any text containing line breaks within a cell is not preserved in the same visual form. This is because CSV is a plain-text format designed to store tabular data, and it does not support Excel-specific formatting or display features such as in-cell line wrapping.
+
+Although the underlying text data is written to the CSV file, the way line breaks are interpreted can vary across different applications, including Excel itself when reopening the file. As a result, the original visual layout—especially multiline content within a single cell—may not be maintained.
+
+To reliably preserve the exact appearance, including in-cell line breaks and formatting, the file must be saved in a native Excel format such as XLSX or XLS, which fully supports cell formatting, rich text, and embedded line breaks.
+
+## See Also
+
+* [Working with Excel Worksheet](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-excel-worksheet)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-protect-the-zip-files-using-syncfusion-compression-base.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-protect-the-zip-files-using-syncfusion-compression-base.md
index 08121b0f9a..cfb8257de7 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-protect-the-zip-files-using-syncfusion-compression-base.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-protect-the-zip-files-using-syncfusion-compression-base.md
@@ -68,5 +68,5 @@ End Module
* [How to zip files using the Syncfusion.Compression.Zip namespace?](how-to-zip-files-using-the-syncfusion-compression-zip-namespace)
* [How to zip all the files in subfolders using Syncfusion® Compression?](how-to-zip-all-the-files-in-subfolders-using-syncfusion-compression)
* [How to protect certain cells in a worksheet?](how-to-protect-certain-cells-in-a-worksheet)
-* [How to protect Excel workbook?](https://help.syncfusion.com/file-formats/xlsio/migrate-from-office-automation-to-syncfusion-xlsio/protect-excel-workbook)
-* [How to protect worksheet?](https://help.syncfusion.com/file-formats/xlsio/security#protect-worksheet)
+* [How to protect Excel workbook?](https://help.syncfusion.com/document-processing/excel/excel-library/net/migrate-from-office-automation-to-syncfusion-xlsio/protect-excel-workbook)
+* [How to protect worksheet?](https://help.syncfusion.com/document-processing/excel/excel-library/net/security#protect-worksheet)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-remove-all-the-listobjects-from-the-sheet.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-remove-all-the-listobjects-from-the-sheet.md
new file mode 100644
index 0000000000..342a25e7d8
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-remove-all-the-listobjects-from-the-sheet.md
@@ -0,0 +1,75 @@
+---
+title: How to remove all the ListObjects from the sheet | Syncfusion
+description: Shows how to remove all ListObjects (Excel tables) from a worksheet using Syncfusion XlsIO, iterating in reverse to safely remove tables in C# and VB.NET.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to remove all the ListObjects from the sheet?
+
+ListObjects represent Excel tables in a worksheet. You can use the [ListObjects](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorksheet.html#Syncfusion_XlsIO_IWorksheet_ListObjects) collection to access and manipulate tables in your worksheet. To remove all ListObjects, you need to iterate through the collection in reverse order and remove each one.
+
+The following code example illustrates how to remove all ListObjects from a worksheet.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Remove all ListObjects from the sheet
+ // Iterate in reverse order to avoid index shifting issues
+ for(int i = worksheet.ListObjects.Count - 1; i >= 0; i--)
+ {
+ IListObject listObject = worksheet.ListObjects[i];
+ worksheet.ListObjects.Remove(listObject);
+ }
+
+ workbook.SaveAs("Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open("InputTemplate.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Remove all ListObjects from the sheet
+ // Iterate in reverse order to avoid index shifting issues
+ for(int i = worksheet.ListObjects.Count - 1; i >= 0; i--)
+ {
+ IListObject listObject = worksheet.ListObjects[i];
+ worksheet.ListObjects.Remove(listObject);
+ }
+
+ workbook.SaveAs("Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+ Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xlsx")
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ ' Remove all ListObjects from the sheet
+ ' Iterate in reverse order to avoid index shifting issues
+ For i = worksheet.ListObjects.Count - 1 To 0 Step -1
+ Dim listObject As IListObject = worksheet.ListObjects(i)
+ worksheet.ListObjects.Remove(listObject)
+ Next
+
+ workbook.SaveAs("Output.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-retrieve-data-from-merged-cells-using-xlsio.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-retrieve-data-from-merged-cells-using-xlsio.md
new file mode 100644
index 0000000000..0e9a44b2c0
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-retrieve-data-from-merged-cells-using-xlsio.md
@@ -0,0 +1,83 @@
+---
+title: Retrieve data from merged cells using XlsIO? | Syncfusion
+description: Explains how to retrieve values from merged cells using Syncfusion XlsIO by checking `IRange.IsMerged` and reading from the `MergeArea` top-left cell.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to retrieve data from merged cells using XlsIO?
+
+When a cell belongs to a merged region the visible value is stored in the top-left cell of the merged area. Use `IRange.IsMerged` to detect merged cells and `IRange.MergeArea` to obtain the full merged region, then read the value from its top-left cell.
+
+The following example demonstrates this pattern.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+// Create an instance of ExcelEngine
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ // Set the default Excel version (optional)
+ excelEngine.Excel.DefaultVersion = ExcelVersion.Excel2016;
+
+ // Load the workbook
+ IWorkbook workbook = excelEngine.Excel.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ // Coordinates of the cell to read
+ int row = 2, col = 5;
+
+ IRange range = worksheet[row, col];
+
+ string data = range.IsMerged ? worksheet[range.MergeArea.Row, range.MergeArea.Column].Value : range.Value;
+
+ Console.WriteLine(data);
+
+ // Optionally save changes to a new file
+ workbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+// Same code applies for Windows-specific scenarios
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ excelEngine.Excel.DefaultVersion = ExcelVersion.Excel2016;
+ IWorkbook workbook = excelEngine.Excel.Workbooks.Open("InputTemplate.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ int row = 2, col = 5;
+ IRange range = worksheet[row, col];
+ string data = range.IsMerged ? worksheet[range.MergeArea.Row, range.MergeArea.Column].Value : range.Value;
+
+ Console.WriteLine(data);
+ workbook.SaveAs("Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ excelEngine.Excel.DefaultVersion = ExcelVersion.Excel2016
+ Dim workbook As IWorkbook = excelEngine.Excel.Workbooks.Open(Path.GetFullPath("Data/InputTemplate.xlsx"))
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ Dim data As String = Nothing
+ Dim row As Integer = 2
+ Dim col As Integer = 5
+
+ Dim range As IRange = worksheet(row, col)
+
+ If range.IsMerged Then
+ Dim merged As IRange = range.MergeArea
+ data = worksheet(merged.Row, merged.Column).Value
+ Else
+ data = range.Value
+ End If
+
+ Console.WriteLine(data)
+ workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"))
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-set-invert-if-negative-option-for-a-chart.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-set-invert-if-negative-option-for-a-chart.md
new file mode 100644
index 0000000000..fbac3fe1b7
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-set-invert-if-negative-option-for-a-chart.md
@@ -0,0 +1,140 @@
+---
+title: Setting Invert If negative option in Chart properties | Syncfusion
+description: This page tells how to set invert if negative option for a chart using Syncfusion XlsIO in C# (Cross-platform and Windows-specific) and VB.NET.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to set invert if negative option for a chart using XlsIO?
+
+
+The following code samples demonstrate how to set the "Invert if negative" option for a chart using C# (Cross-platform and Windows-specific) and VB.NET for XLSX files. For XLS (binary) file format, see the section below.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ #region Workbook Initialization
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
+ IWorksheet worksheet = workbook.Worksheets[0];
+ #endregion
+
+ IChart chart = worksheet.Charts[0];
+
+ //Used to invert series color if the value is negative
+ (chart.Series[0] as ChartSerieImpl).InvertIfNegative = true;
+
+ #region Save
+ //Saving the workbook
+ workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"));
+ #endregion
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ #region Workbook Initialization
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open("InputTemplate.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+ #endregion
+
+ IChart chart = worksheet.Charts[0];
+
+ //Used to invert series color if the value is negative
+ (chart.Series[0] as ChartSerieImpl).InvertIfNegative = true;
+
+ #region Save
+ //Saving the workbook
+ workbook.SaveAs("Output.xlsx");
+ #endregion
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+ Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xlsx")
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ Dim chart As IChart = worksheet.Charts(0)
+
+ 'Used to invert series color if the value is negative
+ DirectCast(chart.Series(0), ChartSerieImpl).InvertIfNegative = True
+
+ 'Saving the workbook
+ workbook.SaveAs("Output.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example in C# is present on this GitHub page.
+
+## How to set invert if negative option for a chart in XLS (binary) file format?
+
+In case of binary file format (XLS), kindly use the following code snippet.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Excel97to2003;
+ IWorkbook workbook = application.Workbooks.Open("InputTemplate.xls");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ IChart chart = worksheet.Charts[0];
+
+ // Used to invert series color if the value is negative in XLS (binary) format
+ chart.Series[0].SerieFormat.Interior.SwapColorsOnNegative = true;
+
+ // Saving the workbook
+ workbook.SaveAs("Output.xls");
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ #region Workbook Initialization
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open("InputTemplatexlsx.xls");
+ IWorksheet worksheet = workbook.Worksheets[0];
+ #endregion
+
+ IChart chart = worksheet.Charts[0];
+
+ // Used to invert series color if the value is negative in XLS (binary) format
+ chart.Series[0].SerieFormat.Interior.SwapColorsOnNegative = true;
+
+ #region Save
+ //Saving the workbook
+ workbook.SaveAs("Output.xls");
+ #endregion
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Excel97to2003
+ Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xls")
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ Dim chart As IChart = worksheet.Charts(0)
+
+ ' Used to invert series color if the value is negative in XLS (binary) format
+ chart.Series(0).SerieFormat.Interior.SwapColorsOnNegative = True
+
+ ' Saving the workbook
+ workbook.SaveAs("Output.xls")
+End Using
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-zip-all-the-files-in-subfolders-using-syncfusion-compression.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-zip-all-the-files-in-subfolders-using-syncfusion-compression.md
index 76daaf00fe..1d157e2dff 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-zip-all-the-files-in-subfolders-using-syncfusion-compression.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-zip-all-the-files-in-subfolders-using-syncfusion-compression.md
@@ -363,7 +363,7 @@ End Module
## See Also
-* [How to zip files using the Syncfusion.Compression.Zip namespace?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-zip-files-using-the-syncfusion-compression-zip-namespace)
-* [How to protect the zip files using Syncfusion.Compression.Base?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-protect-the-zip-files-using-syncfusion-compression-base)
-* [How to un-protect the zip files using Syncfusion.Compression.Base?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-un-protect-the-zip-files-using-syncfusion-compression-base)
-* [How to merge excel files from more than one workbook to a single file?](https://help.syncfusion.com/file-formats/xlsio/faqs/how-to-merge-excel-files-from-more-than-one-workbook-to-a-single-file)
+* [How to zip files using the Syncfusion.Compression.Zip namespace?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-zip-files-using-the-syncfusion-compression-zip-namespace)
+* [How to protect the zip files using Syncfusion.Compression.Base?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-protect-the-zip-files-using-syncfusion-compression-base)
+* [How to un-protect the zip files using Syncfusion.Compression.Base?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-un-protect-the-zip-files-using-syncfusion-compression-base)
+* [How to merge excel files from more than one workbook to a single file?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-merge-excel-files-from-more-than-one-workbook-to-a-single-file)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/in-which-situation-we-use-autodetectcomplexscript-converter-property.md b/Document-Processing/Excel/Excel-Library/NET/faqs/in-which-situation-we-use-autodetectcomplexscript-converter-property.md
index a46c5aa20c..c80fde45de 100644
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/in-which-situation-we-use-autodetectcomplexscript-converter-property.md
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/in-which-situation-we-use-autodetectcomplexscript-converter-property.md
@@ -10,14 +10,14 @@ documentation: UG
Complex script languages are some languages (eg., Arabic) which stores text differently from how it is displayed. Many such languages use bidirectional script which means, words and sentences are written from right to left, while some text such as numbers and Roman-based words are written from left to right.
-If your input Excel file contains such complex script languages, then the [AutoDetectComplexScript](https://help.syncfusion.com/cr/file-formats/Syncfusion.ExcelToPdfConverter.ExcelToPdfConverterSettings.html#Syncfusion_ExcelToPdfConverter_ExcelToPdfConverterSettings_AutoDetectComplexScript) property can be used to render them in PDF.
+If your input Excel file contains such complex script languages, then the [AutoDetectComplexScript](https://help.syncfusion.com/cr/document-processing/Syncfusion.ExcelToPdfConverter.ExcelToPdfConverterSettings.html#Syncfusion_ExcelToPdfConverter_ExcelToPdfConverterSettings_AutoDetectComplexScript) property can be used to render them in PDF.
## See Also
-* [How to auto-detect complex script?](https://help.syncfusion.com/file-formats/xlsio/excel-to-pdf-converter-settings#auto-detect-complex-script)
-* [How to use substitute font in Excel to PDF conversion?](https://help.syncfusion.com/file-formats/xlsio/excel-to-pdf-conversion#substitute-font-in-excel-to-pdf-conversion)
-* [How to Embed Fonts?](https://help.syncfusion.com/file-formats/xlsio/excel-to-pdf-converter-settings#embed-fonts)
-* [How to capture warnings in Excel to PDF conversion?](https://help.syncfusion.com/file-formats/xlsio/excel-to-pdf-converter-settings#capture-warnings-in-excel-to-pdf-conversion)
-* [What is the image quality when using the ExportQualityImage property?](https://help.syncfusion.com/file-formats/xlsio/faqs/what-is-the-image-quality-when-using-the-exportqualityimage-property)
+* [How to auto-detect complex script?](https://help.syncfusion.com/document-processing/excel/conversions/excel-to-pdf/net/excel-to-pdf-converter-settings#auto-detect-complex-script)
+* [How to use substitute font in Excel to PDF conversion?](https://help.syncfusion.com/document-processing/excel/conversions/excel-to-pdf/net/excel-to-pdf-conversion#substitute-font-in-excel-to-pdf-conversion)
+* [How to Embed Fonts?](https://help.syncfusion.com/document-processing/excel/conversions/excel-to-pdf/net/excel-to-pdf-converter-settings#embed-fonts)
+* [How to capture warnings in Excel to PDF conversion?](https://help.syncfusion.com/document-processing/excel/conversions/excel-to-pdf/net/excel-to-pdf-converter-settings#capture-warnings-in-excel-to-pdf-conversion)
+* [What is the image quality when using the ExportQualityImage property?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/what-is-the-image-quality-when-using-the-exportqualityimage-property)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/why-text-with-double-quotes-gets-enclosed-in-double-quotes-when-saving-as-csv.md b/Document-Processing/Excel/Excel-Library/NET/faqs/why-text-with-double-quotes-gets-enclosed-in-double-quotes-when-saving-as-csv.md
new file mode 100644
index 0000000000..e9e363ca13
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/why-text-with-double-quotes-gets-enclosed-in-double-quotes-when-saving-as-csv.md
@@ -0,0 +1,13 @@
+---
+title: Text with double quotes enclosed when saving as CSV | Syncfusion
+description: Explains why Excel encloses fields containing double quotes within double quotes when saving as CSV and how quotes inside fields are escaped by doubling them.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# Why does text with double quotes enclosed with it when saving as CSV?
+
+When saving data as a CSV file, Excel automatically adds double quotes around text that contains special characters such as commas, line breaks, or quotation marks. This is done to ensure the content is correctly understood as a single field when the CSV file is read by other applications.
+
+For example, without quotes, a comma inside the text could be mistaken for a column separator, or a line break could be seen as a new row. Therefore, the quotes help preserve the structure and accuracy of the data in the CSV format.
diff --git a/Document-Processing/Excel/Spreadsheet/ASP-NET-CORE/getting-started-core.md b/Document-Processing/Excel/Spreadsheet/ASP-NET-CORE/getting-started-core.md
index 752280b7aa..e8d7fdf6ba 100644
--- a/Document-Processing/Excel/Spreadsheet/ASP-NET-CORE/getting-started-core.md
+++ b/Document-Processing/Excel/Spreadsheet/ASP-NET-CORE/getting-started-core.md
@@ -1,7 +1,7 @@
---
layout: post
title: Getting Started with ASP.NET CORE Spreadsheet Control | syncfusion
-description: Checkout and learn about getting started with EJ2 ASP.NET CORE Spreadsheet control of Syncfusion Essential JS 2 and more details.
+description: Checkout and learn about getting started with ASP.NET CORE Spreadsheet control of Syncfusion Spreadsheet Editor SDK and more details.
platform: document-processing
control: Getting Started Core
documentation: ug
@@ -10,21 +10,19 @@ documentation: ug
# Getting Started with ASP.NET Core Spreadsheet Control
-This section briefly explains about how to include [ASP.NET Core Spreadsheet](https://www.syncfusion.com/aspnet-core-ui-controls/spreadsheet) control in your ASP.NET Core application using Visual Studio.
+This section briefly explains about how to include [Syncfusion® ASP.NET Core Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/asp-net-core-spreadsheet-editor) control in your ASP.NET Core application using Visual Studio.
## Prerequisites
-[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements)
+[System requirements for Syncfusion® ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements)
## Create ASP.NET Core web application with Razor pages
* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app)
-* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project)
-
-## Install ASP.NET Core package in the application
+## Install Syncfusion® ASP.NET Core package in the application
-To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same.
+Open the NuGet package manager UI in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -34,7 +32,7 @@ Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key.
+N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments.
## Add Syncfusion® ASP.NET Core Tag Helper
Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper.
@@ -49,7 +47,7 @@ Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelpe
## Add stylesheet and script resources
-Here, the theme and script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows,
+Add the stylesheet and script references to the `` section of the `~/Pages/Shared/_Layout.cshtml` file, as shown in the following example.
{% tabs %}
{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
@@ -65,13 +63,10 @@ Here, the theme and script is referred using CDN inside the `` of `~/Pages
{% endhighlight %}
{% endtabs %}
-N> Checkout the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentation/appearance/theme) to learn different ways ([CDN](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references#cdn-reference), [NPM package](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references#node-package-manager-npm), and [CRG](https://ej2.syncfusion.com/aspnetcore/documentation/common/custom-resource-generator)) to refer styles in ASP.NET Core application, and to have the expected appearance for Syncfusion® ASP.NET Core controls.
-
-N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application.
+N> To learn other ways to load themes or scripts (such as NPM packages or [CRG](https://ej2.syncfusion.com/aspnetcore/documentation/common/custom-resource-generator)), see the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentation/appearance/theme) and [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) documentation.
## Register Syncfusion® Script Manager
-
-Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows.
+Register the script manager `` at the end of the `` element in the ASP.NET Core application, as shown in the following example.
{% tabs %}
{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
@@ -85,9 +80,9 @@ Also, register the script manager `` at the end of `` in the A
{% endhighlight %}
{% endtabs %}
-## Add ASP.NET Core Spreadsheet control
+## Add Syncfusion® ASP.NET Core Spreadsheet control
-Now, add the Syncfusion® ASP.NET Core Spreadsheet tag helper in `~/Pages/Index.cshtml` page.
+Add the Syncfusion® ASP.NET Core Spreadsheet tag helper in `~/Pages/Index.cshtml` page.
{% tabs %}
{% highlight cshtml tabtitle="CSHTML" %}
@@ -95,6 +90,8 @@ Now, add the Syncfusion® ASP.NET Core Sprea
{% endhighlight %}
{% endtabs %}
+> **Note:** The [`openUrl`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Spreadsheet.Spreadsheet.html#Syncfusion_EJ2_Spreadsheet_Spreadsheet_OpenUrl) and [`saveUrl`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Spreadsheet.Spreadsheet.html#Syncfusion_EJ2_Spreadsheet_Spreadsheet_SaveUrl) endpoints used in this example are provided only for demonstration purposes. For development and production use, we strongly recommend configuring your own local or hosted web service for the Open and Save actions instead of relying on the online demo service. For more information, refer to the [`Open and Save`](https://help.syncfusion.com/document-processing/excel/spreadsheet/asp-net-core/open-save) section.
+
Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core Spreadsheet control will be rendered in the default web browser.

@@ -103,7 +100,7 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Ge
## See also
-* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages)
* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper)
+* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project)
* [Data Binding](./data-binding)
-* [Open and Save](./open-save)
\ No newline at end of file
+* [Open and Save](./open-save)
diff --git a/Document-Processing/Excel/Spreadsheet/ASP-NET-MVC/getting-started-mvc.md b/Document-Processing/Excel/Spreadsheet/ASP-NET-MVC/getting-started-mvc.md
index 2a4078d2a7..2749a0c9c2 100644
--- a/Document-Processing/Excel/Spreadsheet/ASP-NET-MVC/getting-started-mvc.md
+++ b/Document-Processing/Excel/Spreadsheet/ASP-NET-MVC/getting-started-mvc.md
@@ -1,7 +1,7 @@
---
layout: post
-title: Getting Started with EJ2 ASP.NET MVC Spreadsheet Control |Syncfusion
-description: Checkout and learn about getting started with EJ2 ASP.NET MVC Spreadsheet control of Syncfusion Essential JS 2 and more details.
+title: Getting Started with ASP.NET MVC Spreadsheet Control |Syncfusion
+description: Checkout and learn about getting started with ASP.NET MVC Spreadsheet control of Syncfusion Spreadsheet Editor SDK and more details.
platform: document-processing
control: Getting Started Mvc
documentation: ug
@@ -10,21 +10,19 @@ documentation: ug
# Getting Started with ASP.NET MVC Spreadsheet Control
-This section briefly explains about how to include [ASP.NET MVC Spreadsheet](https://www.syncfusion.com/aspnet-mvc-ui-controls/spreadsheet) control in your ASP.NET MVC application using Visual Studio.
+This section briefly explains about how to include [Syncfusion® ASP.NET MVC Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/asp-net-mvc-spreadsheet-editor) control in your ASP.NET MVC application using Visual Studio.
## Prerequisites
-[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements)
+[System requirements for Syncfusion® ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements)
## Create ASP.NET MVC application with HTML helper
-* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/overview/getting-started/introduction/getting-started#create-your-first-app)
+* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/start-mvc?view=aspnetcore-8.0&tabs=visual-studio)
-* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/project-template)
-
-## Install ASP.NET MVC package in the application
+## Install Syncfusion® ASP.NET MVC package in the application
-To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it.
+Open the NuGet package manager UI in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -34,7 +32,7 @@ Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key.
+N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments.
## Add namespace
@@ -48,7 +46,7 @@ Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder.
## Add stylesheet and script resources
-Here, the theme and script is referred using CDN inside the `` of `~/Views/Shared/_Layout.cshtml` file as follows,
+Add the stylesheet and script references to the `` section of `~/Views/Shared/_Layout.cshtml` file, as shown in the following example.
{% tabs %}
{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
@@ -64,11 +62,11 @@ Here, the theme and script is referred using CDN inside the `` of `~/Views
{% endhighlight %}
{% endtabs %}
-N> Checkout the [Themes topic](https://ej2.syncfusion.com/aspnetmvc/documentation/appearance/theme) to learn different ways (CDN, NPM package, and [CRG](https://ej2.syncfusion.com/aspnetmvc/documentation/common/custom-resource-generator)) to refer styles in ASP.NET MVC application, and to have the expected appearance for Syncfusion® ASP.NET MVC controls. Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application.
+N> To learn other ways to load themes or scripts (such as NPM packages or [CRG](https://ej2.syncfusion.com/aspnetmvc/documentation/common/custom-resource-generator)), see the [Themes topic](https://ej2.syncfusion.com/aspnetmvc/documentation/appearance/theme) and [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) documentation.
## Register Syncfusion® script manager
-Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Views/Shared/_Layout.cshtml` file as follows.
+Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file, as shown in the following example.
{% tabs %}
{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
@@ -82,9 +80,9 @@ Also, register the script manager `EJS().ScriptManager()` at the end of ``
{% endhighlight %}
{% endtabs %}
-## Add ASP.NET MVC Spreadsheet control
+## Add Syncfusion® ASP.NET MVC Spreadsheet control
-Now, add the Syncfusion® ASP.NET MVC Spreadsheet control in `~/Views/Home/Index.cshtml` page.
+Add the Syncfusion® ASP.NET MVC Spreadsheet control in `~/Views/Home/Index.cshtml` page.
{% tabs %}
{% highlight razor tabtitle="CSHTML" %}
@@ -92,6 +90,8 @@ Now, add the Syncfusion® ASP.NET MVC Spread
{% endhighlight %}
{% endtabs %}
+> **Note:** The [`openUrl`](https://help.syncfusion.com/document-processing/excel/spreadsheet/asp-net-mvc/open-save#open) and [`saveUrl`](https://help.syncfusion.com/document-processing/excel/spreadsheet/asp-net-mvc/open-save#save) endpoints used in this example are provided only for demonstration purposes. For development and production use, we strongly recommend configuring your own local or hosted web service for the Open and Save actions instead of relying on the online demo service. For more information, refer to the [`Open and Save`](https://help.syncfusion.com/document-processing/excel/spreadsheet/asp-net-mvc/open-save) section.
+
Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC Spreadsheet control will be rendered in the default web browser.

@@ -100,7 +100,6 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Get
## See also
+* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/project-template)
* [Data Binding](./data-binding)
* [Open and Save](./open-save)
-
-N> You can refer to our [ASP.NET MVC Spreadsheet](https://www.syncfusion.com/aspnet-mvc-ui-controls/spreadsheet) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET MVC Spreadsheet example](https://ej2.syncfusion.com/aspnetmvc/Spreadsheet/DefaultFunctionalities#/material) that shows you how present and manipulate data, including editing, formulas, formatting, importing, and exporting.
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/getting-started.md b/Document-Processing/Excel/Spreadsheet/Angular/getting-started.md
index 3dd6d909de..01f99eb911 100644
--- a/Document-Processing/Excel/Spreadsheet/Angular/getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/Angular/getting-started.md
@@ -1,187 +1,107 @@
---
layout: post
title: Getting started with Angular Spreadsheet component | Syncfusion
-description: Checkout and learn here all about getting started with Syncfusion Essential Angular Spreadsheet component, it's elements, and more details.
+description: Checkout and learn about getting started with the Syncfusion Angular Spreadsheet component in the Spreadsheet Editor SDK and more details.
platform: document-processing
-control: Getting started
+control: Getting started
documentation: ug
---
-# Getting started with Angular Spreadsheet component
+# Getting Started with Angular Spreadsheet component
-This section explains the steps to create a simple Spreadsheet component with basic features in an Angular environment.
-
-To get start quickly with Angular Spreadsheet using CLI, you can check on this video:
-
-{% youtube "https://www.youtube.com/watch?v=2Ozwe37X-7Q" %}
+This section explains how to create a simple Angular application and add the [Syncfusion® Angular Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/angular-spreadsheet-editor) component with the minimum required setup.
## Prerequisites
-Ensure your development environment meets the [`System Requirements for Syncfusion® Angular Spreadsheet component`](https://help.syncfusion.com/document-processing/system-requirements).
+[System requirements for Syncfusion® Angular components](https://ej2.syncfusion.com/angular/documentation/system-requirement)
-## Dependencies
+## Create an Angular application
-The following list of dependencies are required to use the Spreadsheet component in your application.
+Use [Angular CLI](https://angular.dev/installation) to create a new Angular application, as it provides a standardized project structure, built-in testing tools, and simplified deployment.
-```js
- |-- @syncfusion/ej2-angular-spreadsheet
- |-- @syncfusion/ej2-angular-base
- |-- @syncfusion/ej2-spreadsheet
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-grids
-```
+Install Angular CLI globally, using the following command:
-## Setup Angular Environment
-
-You can use [`Angular CLI`](https://github.com/angular/angular-cli) to setup your Angular applications. To install Angular CLI use the following command.
-
-```bash
+```
npm install -g @angular/cli
```
-## Create an Angular Application
+Create a new Angular application using the following commands:
-Start a new Angular application using below Angular CLI command.
-
-```bash
-ng new my-app
```
-
-This command prompts you to configure settings such as whether to include Angular routing and which stylesheet format to use.
-
-```bash
-
-? Which stylesheet format would you like to use? (Use arrow keys)
-> CSS [ https://developer.mozilla.org/docs/Web/CSS ]
- Sass (SCSS) [ https://sass-lang.com/documentation/syntax#scss ]
- Sass (Indented) [ https://sass-lang.com/documentation/syntax#the-indented-syntax ]
- Less [ http://lesscss.org ]
-
+ng new spreadsheet-app
+cd spreadsheet-app
```
-By default, it will create a CSS-based application.
-
-During project setup, when prompted for the Server-side rendering (SSR) option, choose the appropriate configuration.
-
-
+## Install the Syncfusion® Angular Spreadsheet package
-Select the required AI tool or ‘none’ if you do not need any AI tool.
+The [Angular Spreadsheet](https://www.npmjs.com/package/@syncfusion/ej2-angular-spreadsheet) package uses the [Ivy](https://docs.angular.lat/guide/ivy) library distribution [format](https://angular.dev/tools/libraries/angular-package-format) and is compatible with `Angular 12` and above. Use the following command to install the package:
-
-
-Navigate to the created application folder:
-
-```bash
-cd my-app
```
-
-## Installing Syncfusion® Spreadsheet package
-
-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-).
-
-Currently, Syncfusion® provides two types of package structures for Angular components,
-1. Ivy library distribution package [format](https://v17.angular.io/guide/angular-package-format#angular-package-format)
-2. Angular compatibility compiler(Angular’s legacy compilation and rendering pipeline) package.
-
-### Ivy library distribution package
-
-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.
-
-Add [`@syncfusion/ej2-angular-spreadsheet`](https://www.npmjs.com/package/@syncfusion/ej2-angular-spreadsheet/v/20.2.38) package to the application.
-
-```bash
npm install @syncfusion/ej2-angular-spreadsheet --save
```
-### Angular compatibility compiled package(ngcc)
-
-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.
-
-Add [`@syncfusion/ej2-angular-spreadsheet@ngcc`](https://www.npmjs.com/package/@syncfusion/ej2-angular-spreadsheet/v/20.2.38-ngcc) package to the application.
+For `Angular versions below 12`, use the legacy `ngcc` package instead:
-```bash
-npm install @syncfusion/ej2-angular-spreadsheet@ngcc --save
```
-
-To mention the ngcc package in the `package.json` file, add the suffix `-ngcc` with the package version as below.
-
-```bash
-@syncfusion/ej2-angular-spreadsheet:"20.2.38-ngcc"
+npm install @syncfusion/ej2-angular-spreadsheet@ngcc --save
```
-The above command does the following configuration to your Angular app,
-
- * Adds `@syncfusion/ej2-angular-spreadsheet` package and its peer dependencies to your `package.json` file.
- * Imports the `SpreadsheetAllModule` in your application module `app.module.ts`.
- * Registers the Syncfusion® UI default theme (material) in the `angular.json` file.
-
->Note: If the ngcc tag is not specified while installing the package, the Ivy Library Package will be installed and this package will throw a warning.
-
-## Adding CSS reference
+## Add CSS references
-The following CSS files are available in `../node_modules/@syncfusion` package folder.
-This can be referenced in `[src/styles.css]` using following code.
+Add the following style references to the `[src/styles.css]` file.
```css
-@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-spreadsheet/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-grids/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-spreadsheet/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
```
-## Add Spreadsheet component
+> **Note:** Refer to the [Themes topic](https://ej2.syncfusion.com/angular/documentation/appearance/overview) to learn more about built-in themes and different ways to refer to themes in an Angular project.
-Modify the template in [src/app/app.ts] file to render the spreadsheet component. Add the Angular Spreadsheet by using `` selector in template section of the `app.ts` file.
+## Add the Syncfusion® Angular Spreadsheet component to the application
-```typescript
-import { Component } from '@angular/core';
-import { SpreadsheetAllModule } from '@syncfusion/ej2-angular-spreadsheet'
+Now, import the required Spreadsheet module into your application file and render the component.
+
+{% tabs %}
+{% highlight ts tabtitle="app.ts" %}
+{% include code-snippet/spreadsheet/angular/spreadsheet-cs1/src/app.ts %}
+{% endhighlight %}
-@Component({
- imports: [
- SpreadsheetAllModule
- ],
- selector: 'app-root',
- // specifies the template string for the Spreadsheet component
- template: ``
-})
-export class AppComponent { }
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/spreadsheet/angular/spreadsheet-cs1/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
-```
+> **Note:** The [`openUrl`](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/index-default#openurl) and [`saveUrl`](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/index-default#saveurl) endpoints used in this example are provided only for demonstration purposes. For development and production use, we strongly recommend configuring your own local or hosted web service for the Open and Save actions instead of relying on the online demo service. For more information, refer to the [`link`](https://www.syncfusion.com/blogs/post/host-spreadsheet-open-and-save-services).
## Run the application
-Use the following command to run the application in the web browser
+Run the following command to start the development server:
```
ng serve
```
-The following example shows a basic Spreadsheet component
+After the application starts, open the local URL shown in the terminal to view the Angular Spreadsheet component in the browser.
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-{% include code-snippet/spreadsheet/angular/spreadsheet-cs1/src/app.ts %}
-{% endhighlight %}
-
-{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/spreadsheet/angular/spreadsheet-cs1/src/main.ts %}
-{% endhighlight %}
-{% endtabs %}
-
+Use the following live preview to explore the Spreadsheet component.
+
{% previewsample "/document-processing/samples/spreadsheet/angular/spreadsheet-cs1" %}
-> You can refer to our [Angular Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/angular-spreadsheet-editor) feature tour page for its groundbreaking feature representations. You can also explore our [Angular Spreadsheet example](https://document.syncfusion.com/demos/spreadsheet-editor/angular/#/bootstrap5/spreadsheet/default) that shows you how present and manipulate data, including editing, formulas, formatting, importing, and exporting.
+## Video tutorial
+
+To get started quickly with Angular Spreadsheet, you can watch this video:
+
+{% youtube "https://www.youtube.com/watch?v=2Ozwe37X-7Q" %}
-## See Also
+## See also
* [Data Binding](./data-binding)
* [Open and Save](./open-save)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/getting-started-webapp.md b/Document-Processing/Excel/Spreadsheet/Blazor/getting-started-webapp.md
index 49b3f704dc..e540bb7494 100644
--- a/Document-Processing/Excel/Spreadsheet/Blazor/getting-started-webapp.md
+++ b/Document-Processing/Excel/Spreadsheet/Blazor/getting-started-webapp.md
@@ -9,7 +9,7 @@ documentation: ug
# Getting Started with the Blazor Spreadsheet in Web App
-This section provides a brief guide on including the [Blazor Spreadsheet](https://www.syncfusion.com/blazor-components/blazor-spreadsheet) component in a Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and [Visual Studio Code](https://code.visualstudio.com/).
+This section briefly explains how to include the [Blazor Spreadsheet](https://www.syncfusion.com/blazor-components/blazor-spreadsheet) component in a Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and [Visual Studio Code](https://code.visualstudio.com/).
{% tabcontents %}
@@ -23,14 +23,17 @@ This section provides a brief guide on including the [Blazor Spreadsheet](https:
Create a **Blazor Web App** using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
-Need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) while creating a Blazor Web Application.
+N> Configure the appropriate [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-10.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vs) while creating a Blazor Web App. For detailed information, refer to the [interactive render mode documentation](https://blazor.syncfusion.com/documentation/common/interactive-render-mode).
-## Install Syncfusion® Blazor Spreadsheet and Themes NuGet Packages in the App
-
-To add **Syncfusion Blazor Spreadsheet** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install [Syncfusion.Blazor.Spreadsheet](https://www.nuget.org/packages/Syncfusion.Blazor.Spreadsheet) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/).
+## Install Syncfusion® Blazor Spreadsheet NuGet Packages
If you utilize `WebAssembly or Auto` render modes in the Blazor Web App need to be install Syncfusion® Blazor components NuGet packages within the client project.
+To add **Syncfusion Blazor Spreadsheet** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install:
+
+* [Syncfusion.Blazor.Spreadsheet](https://www.nuget.org/packages/Syncfusion.Blazor.Spreadsheet)
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/).
+
Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
@@ -42,8 +45,6 @@ Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
-
{% endtabcontent %}
{% tabcontent Visual Studio Code %}
@@ -56,7 +57,7 @@ N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget
Create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
-Need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) while creating a Blazor Web Application.
+N> Configure the appropriate [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-10.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vs) while creating a Blazor Web App. For detailed information, refer to the [interactive render mode documentation](https://blazor.syncfusion.com/documentation/common/interactive-render-mode).
For example, in a Blazor Web App with the `Auto` interactive render mode, use the following commands.
@@ -70,9 +71,9 @@ cd BlazorWebApp.Client
{% endhighlight %}
{% endtabs %}
-N> For more information on creating a **Blazor Web App** with various interactive modes and locations, refer to this [link](./getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes).
+N> For more information on creating a Blazor Web App with various interactive modes and locations, see [Render interactive modes](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes).
-## Install Syncfusion® Blazor Spreadsheet and Themes NuGet in the App
+## Install Syncfusion® Blazor Spreadsheet NuGet Packages
If you utilize `WebAssembly` or `Auto` render modes in the Blazor Web App need to be install Syncfusion® Blazor components NuGet packages within the client project.
@@ -92,20 +93,13 @@ dotnet restore
{% endtabs %}
-N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
-
{% endtabcontent %}
{% endtabcontents %}
-## Register Syncfusion® Blazor Service
+## Add import namespaces
-| Interactive Render Mode | Description |
-| -- | -- |
-| WebAssembly or Auto | Open **~/_Imports.razor** file from the client project.|
-| Server | Open **~/_import.razor** file, which is located in the `Components` folder.|
-
-Import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Spreadsheet` namespace.
+After the packages are installed, open the **~/_Imports.razor** file in the client project and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Spreadsheet` namespaces.
{% tabs %}
{% highlight C# tabtitle="~/_Imports.razor" %}
@@ -116,105 +110,57 @@ Import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Spreadsheet` namespace.
{% endhighlight %}
{% endtabs %}
-Now, register the Syncfusion® BlazorService in the **~/Program.cs** file of your Blazor Web App.
+## Register Syncfusion® Blazor Service
-If the **Interactive Render Mode** is set to `WebAssembly` or `Auto`, you need to register the Syncfusion® Blazor service in both **~/Program.cs** files of your Blazor Web App.
+Register the Syncfusion Blazor service in the **Program.cs** file of your Blazor Web App.
{% tabs %}
-{% highlight c# tabtitle="Server(~/_Program.cs)" hl_lines="3 11" %}
-
-...
-...
-using Syncfusion.Blazor;
+{% highlight c# tabtitle="Program.cs" %}
-var builder = WebApplication.CreateBuilder(args);
-
-// Add services to the container.
-builder.Services.AddRazorComponents()
- .AddInteractiveServerComponents()
- .AddInteractiveWebAssemblyComponents();
-builder.Services.AddSyncfusionBlazor();
-
-var app = builder.Build();
....
-
-{% endhighlight %}
-{% highlight c# tabtitle="Client(~/_Program.cs)" hl_lines="2 5" %}
-
-...
using Syncfusion.Blazor;
-
-var builder = WebAssemblyHostBuilder.CreateDefault(args);
+....
builder.Services.AddSyncfusionBlazor();
-
-await builder.Build().RunAsync();
+....
{% endhighlight %}
{% endtabs %}
-If the **Interactive Render Mode** is set to `Server`, your project will contain a single **~/Program.cs** file. So, you should register the Syncfusion® Blazor Service only in that **~/Program.cs** file.
+N> If the **Interactive Render Mode** is set to `WebAssembly` or `Auto`, register the Syncfusion® Blazor service in **Program.cs** files of both the server and client projects in your Blazor Web App.
-{% tabs %}
-{% highlight c# tabtitle="~/_Program.cs" hl_lines="2 9" %}
-
-...
-using Syncfusion.Blazor;
+## Add stylesheet and script resources
-var builder = WebApplication.CreateBuilder(args);
+The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Include the stylesheet and script references in the **~/Components/App.razor** file.
-// Add services to the container.
-builder.Services.AddRazorComponents()
- .AddInteractiveServerComponents();
-builder.Services.AddSyncfusionBlazor();
+```html
-var app = builder.Build();
+
....
+
-{% endhighlight %}
-{% endtabs %}
-
-## Add stylesheet and script resources
-
-The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Include the stylesheet reference in the `` section and the script reference at the end of the `` in the **~/Components/App.razor** file as shown below:
-
-```html
-
- ....
-
-
-
-
- ....
-
-
```
-N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to discover various methods ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) for referencing themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
+N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to explore supported ways (such as static assets, CDN, and CRG) to apply themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
-## Add Blazor Spreadsheet
+## Add Syncfusion® Blazor Spreadsheet component
-Add the Syncfusion® Blazor Spreadsheet component in the **~Pages/.razor** file. If an interactivity location as `Per page/component` in the web app, define a render mode at the top of the `~Pages/.razor` component, as follows:
+Add the Syncfusion Blazor Spreadsheet component in the **~/Components/Pages/*.razor** file. If the interactivity location is set to `Per page/component` in the Web App, define a render mode at the top of the `~/Pages/*.razor` file. (For example, `InteractiveServer`, `InteractiveWebAssembly` or `InteractiveAuto`).
-| Interactivity location | RenderMode | Code |
-| --- | --- | --- |
-| Per page/component | Auto | @rendermode InteractiveAuto |
-| | WebAssembly | @rendermode InteractiveWebAssembly |
-| | Server | @rendermode InteractiveServer |
-| | None | --- |
-
-N> If an **Interactivity Location** is set to `Global` and the **Render Mode** is set to `Auto` or `WebAssembly` or `Server`, the render mode is configured in the `App.razor` file by default.
+N> If the **Interactivity Location** is set to `Global` with `Auto` or `WebAssembly`, the render mode is automatically configured in the `App.razor` file by default.
{% tabs %}
{% highlight razor %}
@* desired render mode define here *@
-@rendermode InteractiveAuto
+@rendermode InteractiveServer
{% endhighlight %}
{% endtabs %}
{% tabs %}
-{% highlight razor %}
+{% highlight razor tabtitle="Home.razor" %}
+
+@using Syncfusion.Blazor.Spreadsheet
@@ -227,10 +173,15 @@ N> If an **Interactivity Location** is set to `Global` and the **Render Mode** i
{
string filePath = "wwwroot/Sample.xlsx";
DataSourceBytes = File.ReadAllBytes(filePath);
- }
+ }
}
{% endhighlight %}
{% endtabs %}
* Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion Blazor Spreadsheet in your default web browser.
+
+## See Also
+
+* [Blazor Spreadsheet Overview](overview)
+* [Open and Save](open-and-save)
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/getting-started.md b/Document-Processing/Excel/Spreadsheet/Blazor/getting-started.md
index 427a533bf3..30aab07aa3 100644
--- a/Document-Processing/Excel/Spreadsheet/Blazor/getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/Blazor/getting-started.md
@@ -1,6 +1,6 @@
---
layout: post
-title: Getting Started with Blazor Spreadsheet Component | Syncfusion
+title: Getting Started with Blazor Spreadsheet Component in WASM| Syncfusion
description: Checkout and learn about getting started with Blazor Spreadsheet component in Blazor WebAssembly Application.
platform: document-processing
control: Spreadsheet
@@ -9,7 +9,7 @@ documentation: ug
# Getting Started with Blazor Spreadsheet Component
-This section briefly explains about how to include [Blazor Spreadsheet](https://www.syncfusion.com/blazor-components/blazor-spreadsheet) component in your Blazor WebAssembly App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and Visual Studio Code.
+This section briefly explains how to include [Blazor Spreadsheet](https://www.syncfusion.com/blazor-components/blazor-spreadsheet) component in your Blazor WebAssembly App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and [Visual Studio Code](https://code.visualstudio.com/).
{% tabcontents %}
@@ -23,9 +23,14 @@ This section briefly explains about how to include [Blazor Spreadsheet](https://
You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
-## Install Syncfusion® Blazor Spreadsheet and Themes NuGet in the App
+## Install Syncfusion® Blazor Spreadsheet NuGet Packages
-To add **Blazor Spreadsheet** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install [Syncfusion.Blazor.Spreadsheet](https://www.nuget.org/packages/Syncfusion.Blazor.Spreadsheet) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). Alternatively, you can utilize the following package manager command to achieve the same.
+To add **Syncfusion Blazor Spreadsheet** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install:
+
+* [Syncfusion.Blazor.Spreadsheet](https://www.nuget.org/packages/Syncfusion.Blazor.Spreadsheet)
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/).
+
+Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -36,8 +41,6 @@ Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
-
{% endtabcontent %}
{% tabcontent Visual Studio Code %}
@@ -63,7 +66,7 @@ cd BlazorApp
{% endtabs %}
-## Install Syncfusion® Blazor Spreadsheet and Themes NuGet in the App
+## Install Syncfusion® Blazor Spreadsheet NuGet Packages
* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
* Ensure you’re in the project root directory where your `.csproj` file is located.
@@ -81,18 +84,16 @@ dotnet restore
{% endtabs %}
-N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
-
{% endtabcontent %}
{% endtabcontents %}
-## Register Syncfusion® Blazor Service
+## Add import namespaces
-Open **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Spreadsheet` namespace.
+After the packages are installed, open the **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Spreadsheet` namespaces.
{% tabs %}
-{% highlight razor tabtitle="~/_Imports.razor" %}
+{% highlight C# tabtitle="~/_Imports.razor" %}
@using Syncfusion.Blazor
@using Syncfusion.Blazor.Spreadsheet
@@ -100,23 +101,17 @@ Open **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusio
{% endhighlight %}
{% endtabs %}
-Now, register the Syncfusion® Blazor Service in the **~/Program.cs** file of your Blazor WebAssembly App.
+## Register Syncfusion® Blazor Service
+
+Register the Syncfusion Blazor service in the **~/Program.cs** file of your Blazor WebAssembly App.
{% tabs %}
{% highlight C# tabtitle="~/Program.cs" hl_lines="3 11" %}
-using Microsoft.AspNetCore.Components.Web;
-using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
+....
using Syncfusion.Blazor;
-
-var builder = WebAssemblyHostBuilder.CreateDefault(args);
-builder.RootComponents.Add("#app");
-builder.RootComponents.Add("head::after");
-
-builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
-
+....
builder.Services.AddSyncfusionBlazor();
-await builder.Build().RunAsync();
....
{% endhighlight %}
@@ -133,7 +128,7 @@ The theme stylesheet and script can be accessed from NuGet through [Static Web A
```
-N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to discover various methods ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) for referencing themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
+N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to explore supported ways (such as static assets, CDN, and CRG) to apply themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
## Add Blazor Spreadsheet component
@@ -142,7 +137,7 @@ Add the Syncfusion® Blazor Spreadsheet comp
{% tabs %}
{% highlight razor %}
-Note: Due to browser-level restrictions in WebAssembly (WASM), the method File.ReadAllBytes is not supported. As a result, the sample implementations provided use a Base64-encoded Excel file to import data. This approach ensures compatibility with WASM environments, where direct file system access is limited. Instead of reading the file from disk, the Excel content is embedded or passed as a Base64 string, which is then decoded within the application to simulate file input. This method allows seamless data import while adhering to the constraints of the WebAssembly runtime.
+Note: Due to WebAssembly (WASM) browser restrictions, File.ReadAllBytes is not supported. Therefore, the samples use a Base64‑encoded Excel file, which is decoded at runtime to load data without direct file system access.
@@ -163,3 +158,9 @@ Note: Due to browser-level restrictions in WebAssembly (WASM), the method File.R
{% endtabs %}
* Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion Blazor Spreadsheet in your default web browser.
+
+## See Also
+
+* [Blazor Spreadsheet Overview](overview.md)
+* [Open and Save](open-and-save.md)
+
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES5/getting-started.md b/Document-Processing/Excel/Spreadsheet/Javascript-ES5/getting-started.md
index 9cb6496631..0dc6afd6e6 100644
--- a/Document-Processing/Excel/Spreadsheet/Javascript-ES5/getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/Javascript-ES5/getting-started.md
@@ -1,283 +1,186 @@
---
layout: post
-title: Getting started with EJ2 Javascript Spreadsheet control | Syncfusion
-description: Checkout and learn about Getting started with EJ2 Javascript Spreadsheet control of Syncfusion Essential JS 2 and more details.
+title: Getting started with Javascript Spreadsheet control | Syncfusion
+description: Checkout and learn about getting started with the Syncfusion JavaScript Spreadsheet control in the Spreadsheet Editor SDK and more details.
platform: document-processing
control: Getting started
documentation: ug
---
-# Getting started in EJ2 Javascript Spreadsheet control
+# Getting Started with JavaScript Spreadsheet control
-This section explains the steps to create a simple Essential® JS 2 Spreadsheet control in a JavaScript application.
+This section explains the steps to create a simple [Syncfusion® JavaScript Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/javascript-spreadsheet-editor) control in a JavaScript application.
-## Dependencies
+## Create a JavaScript application
-The following list of dependencies is required to use the Spreadsheet control in your application:
+Create a folder named `spreadsheet-app` with `index.html` and `index.js` files.
-```js
-|-- @syncfusion/ej2-spreadsheet
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-grids
+Your application structure should look like this:
+```text
+spreadsheet-app/
+├── index.html
+├── index.js
```
-## Setup for local development
+## Add Syncfusion® Spreadsheet resources
-Refer to the following steps to setup your local environment.
+Add the required Syncfusion® Spreadsheet style and script references to the `index.html` file using one of the following methods:
-**Step 1:** Create a root folder `myapp` for your application.
+{% tabcontents %}
-**Step 2:** Create `myapp/resources` folder to store local scripts and styles files.
+{% tabcontent Using Local Resources %}
-**Step 3:** Create `myapp/index.js` and `myapp/index.html` files for initializing Essential® JS 2 Spreadsheet control.
+Create a `resources` folder under `spreadsheet-app`, and then copy the required script and style files from the [Spreadsheet Editor SDK](https://www.syncfusion.com/account/manage-trials/start-trials) build into it.
-## Adding Syncfusion® resources
-
-The Essential® JS 2 Spreadsheet control can be initialized by using any of the following two ways:
-
-* Using local script and style.
-* Using CDN link for script and style.
-
-### Using local script and style
-
-You can get the global scripts and styles from the [Essential Studio® JavaScript (Essential® JS 2)](https://www.syncfusion.com/downloads/essential-js2) build installed location.
-
-After installing the Essential® JS 2 product build, you can copy the Spreadsheet and its dependencies scripts and style file into the resources folder.
-
-Refer to the following code to find Spreadsheet's script and style file location.
-
-**Syntax:**
+{% tabs %}
+{% highlight html tabtitle="index.html" %}
-> Script: `**(installed location)**/Syncfusion/Essential Studio/JavaScript-EJ2/{RELEASE_VERSION}/Web(Essential JS 2)/JavaScript/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
->
-> Styles: `**(installed location)**/Syncfusion/Essential Studio/JavaScript-EJ2/{RELEASE_VERSION}/Web(Essential JS 2)/JavaScript/{PACKAGE_NAME}/styles/material.css`
+...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+...
-**Example:**
+{% endhighlight %}
+{% endtabs %}
-> Script: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript-EJ2/23.1.36/Web(Essential JS 2)/JavaScript/ej2-spreadsheet/dist/global/ej2-spreadsheet.min.js`
->
-> Styles: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript-EJ2/23.1.36/Web(Essential JS 2)/JavaScript/ej2-spreadsheet/styles/material.css`
+{% endtabcontent %}
-After copying the files, then you can refer the Spreadsheet's scripts and styles into the `index.html` file. The following html code example shows the minimal dependency of Spreadsheet.
+{% tabcontent Using CDN Links %}
-```html
-
-
-
- Essential JS 2 Spreadsheet
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+Reference the scripts and styles directly from the CDN.
+```text
+Script: https://cdn.syncfusion.com/ej2/{VERSION}/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js
+Style: https://cdn.syncfusion.com/ej2/{VERSION}/{PACKAGE_NAME}/styles/{THEME_NAME}.css
```
-### Using CDN link for script and style
-
-Using CDN link, you can directly refer the Spreadsheet control’s script and style into the `index.html`.
-
-Refer to the Spreadsheet's CDN links as follows.
+{% tabs %}
+{% highlight html tabtitle="index.html" %}
-**Syntax:**
+...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+...
+{% endhighlight %}
+{% endtabs %}
-> Script: `https://cdn.syncfusion.com/ej2/{RELEASE_VERSION}/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
->
-> Styles: `https://cdn.syncfusion.com/ej2/{RELEASE_VERSION}/{PACKAGE_NAME}/styles/material.css`
+{% endtabcontent %}
-**Example:**
+{% endtabcontents %}
-> Script: [`http://cdn.syncfusion.com/ej2/ej2-spreadsheet/dist/global/ej2-spreadsheet.min.js`](http://cdn.syncfusion.com/ej2/ej2-spreadsheet/dist/global/ej2-spreadsheet.min.js)
->
-> Styles: [`http://cdn.syncfusion.com/ej2/ej2-spreadsheet/styles/material.css`](http://cdn.syncfusion.com/ej2/ej2-spreadsheet/styles/material.css)
+> **Note:** To learn more about other ways to load themes or scripts, see the [Themes topic](https://ej2.syncfusion.com/javascript/documentation/appearance/theme) and [CRG](https://ej2.syncfusion.com/javascript/documentation/common/custom-resource-generator) documentation.
-The following HTML code example shows the minimal dependency of Spreadsheet.
+## Add the Syncfusion® Spreadsheet control
-```html
-
-
-
- Essential JS 2 Spreadsheet
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
+Add a container element for the Spreadsheet control in the `index.html` file and then initialize the control in the `index.js` file.
-## Add Spreadsheet control
-
-Now, you can start adding Spreadsheet control in the application. For getting started, add a `div` element for Spreadsheet control in `index.html`. Then, refer the `index.js` file into the `index.html` file.
+{% tabs %}
+{% highlight html tabtitle="index.html" %}
-```html
-
-
- Essential JS 2 Spreadsheet
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
+
+
+ Syncfusion JavaScript Spreadsheet
+
+
+
+
+
+
+
+
-Place the following Spreadsheet code in the `index.js`.
-
-```javascript
+{% endhighlight %}
+{% highlight js tabtitle="index.js" %}
-//Initialize the Spreadsheet control
-var spreadsheet = new ej.spreadsheet.Spreadsheet();
+// Initialize the Spreadsheet control
+var spreadsheet = new ej.spreadsheet.Spreadsheet({
+ openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
+ saveUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save'
+});
-//Render the initialized Spreadsheet
+// Render the initialized Spreadsheet
spreadsheet.appendTo('#element');
-```
+{% endhighlight %}
+{% endtabs %}
+
+> **Note:** The [openUrl](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#openurl) and [saveUrl](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#saveurl) properties are used to connect the Spreadsheet control to a server-side service for Excel import and export operations. For development and production use, we recommend configuring your own local or hosted service instead of relying on demo endpoints. For more information, refer to the [`link`](https://www.syncfusion.com/blogs/post/host-spreadsheet-open-and-save-services).
## Run the application
-Now, run the `index.html` in web browser, it will render the Essential® JS 2 Spreadsheet control.
+Now, open the `index.html` file in a web browser to render the JavaScript Spreadsheet editor.
-Output will be displayed as follows.
+Use the following live preview to explore the Spreadsheet control.
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/spreadsheet/javascript-es5/spreadsheet/es5-getting-started-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/spreadsheet/javascript-es5/spreadsheet/es5-getting-started-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
{% previewsample "/document-processing/code-snippet/spreadsheet/javascript-es5/spreadsheet/es5-getting-started-cs1" %}
-> You can refer to our [JavaScript Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/javascript-spreadsheet-editor) feature tour page for its groundbreaking feature representations. You can also explore our [JavaScript Spreadsheet example](https://document.syncfusion.com/demos/spreadsheet-editor/javascript-es5/#/tailwind3/spreadsheet/default.html) to knows how present and manipulate data, including editing, formulas, formatting, importing, and exporting.
-
-## See Also
+## See also
* [Data Binding](./data-binding)
* [Open and Save](./open-save)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/getting-started.md b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/getting-started.md
index dafb0127cc..2b6c018b69 100644
--- a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/getting-started.md
@@ -1,88 +1,74 @@
---
layout: post
-title: Getting started with EJ2 TypeScript Spreadsheet control | Syncfusion
-description: Checkout and learn about Getting started with EJ2 TypeScript Spreadsheet control of Syncfusion Essential JS 2 and more details.
+title: Getting started with TypeScript Spreadsheet control | Syncfusion
+description: Checkout and learn about getting started with the Syncfusion TypeScript Spreadsheet control in the Spreadsheet Editor SDK and more details.
platform: document-processing
control: Getting started
documentation: ug
---
-# Getting started in EJ2 TypeScript Spreadsheet control
+# Getting Started with TypeScript Spreadsheet control
-This section explains the steps to create a simple Spreadsheet component using Essential® JS 2 [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-) seed repository.
+This section explains how to create a simple TypeScript application and add the [Syncfusion® TypeScript Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/javascript-spreadsheet-editor) control with the minimum required setup.
-> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires node `v14.15.0` or higher. For more information about webpack and its features, refer to the [webpack documentation](https://webpack.js.org/guides/getting-started/).
+## Prerequisites
-## Dependencies
+To get started, ensure the following software is installed on your machine:
-The following list of dependencies are required to use the Spreadsheet component in your application:
+- [Git](https://git-scm.com/downloads)
+- [Node.js (`v14.15.0` or later)](https://nodejs.org/en/)
+- [Visual Studio Code](https://code.visualstudio.com/)
-```js
-|-- @syncfusion/ej2-spreadsheet
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-grids
+## Create a TypeScript application
-```
-
-## Set up development environment
+Create a simple TypeScript application using the Essential® JS 2 [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-) seed repository.
-Open the command prompt from the required directory, and run the following command to clone the Syncfusion® JavaScript (Essential® JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-).
+> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). For more information about webpack and its features, refer to the [webpack documentation](https://webpack.js.org/guides/getting-started/).
-{% tabs %}
-{% highlight bash tabtitle="CMD" %}
+**Step 1:** Open the command prompt from the required directory and clone the quickstart project from GitHub.
+```bash
git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack- ej2-quickstart
+```
-{% endhighlight %}
-{% endtabs %}
-
-After cloning the application in the `ej2-quickstart` folder, run the following command line to navigate to the `ej2-quickstart` folder.
-
-{% tabs %}
-{% highlight bash tabtitle="CMD" %}
+**Step 2:** Navigate to the `ej2-quickstart` folder.
+```bash
cd ej2-quickstart
+```
-{% endhighlight %}
-{% endtabs %}
-
-## Add Syncfusion® JavaScript packages
-
-Syncfusion® JavaScript (Essential® JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install all Syncfusion® JavaScript (Essential® JS 2) controls in a single [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package or individual packages for each control.
-
-The quickstart application is preconfigured with the dependent [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package in the `~/package.json` file. Use the following command to install the dependent npm packages from the command prompt.
-
-{% tabs %}
-{% highlight bash tabtitle="NPM" %}
+**Step 3:** Install the dependent npm packages.
+```bash
npm install
+```
-{% endhighlight %}
-{% endtabs %}
-
-## Import the Syncfusion® CSS styles
-
-Syncfusion® JavaScript controls come with [built-in themes](https://ej2.syncfusion.com/documentation/appearance/theme/), which are available in the installed packages. It's easy to adapt the Syncfusion® JavaScript controls to match the style of your application by referring to one of the built-in themes.
+## Add CSS references
-The quickstart application is preconfigured to use the `Material` theme in the `~/src/styles/styles.css` file, as shown below:
+Add the following style references to the file.
{% tabs %}
-{% highlight css tabtitle="style.css" %}
-
-@import "../../node_modules/@syncfusion/ej2/material.css";
+{% highlight css tabtitle="~/src/styles/styles.css" %}
+
+@import '../../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import '../../node_modules/@syncfusion/ej2-spreadsheet/styles/tailwind3.css';
{% endhighlight %}
{% endtabs %}
-> You can check out the [themes](https://ej2.syncfusion.com/documentation/appearance/theme/) section to know more about built-in themes and CSS reference for individual controls.
-
-## Add Spreadsheet component
+> Refer to the [Themes topic](https://ej2.syncfusion.com/documentation/appearance/theme) to learn more about built-in themes and different ways to refer to themes in a TypeScript project.
-Add the HTML `div` element with ID attribute as `element` in your `index.html` file.
+## Add the Syncfusion® Spreadsheet control to the application
-`[src/index.html]`
+Add a container element for the Spreadsheet control in the `index.html` file and then initialize the control in the `index.ts` file.
{% tabs %}
{% highlight html tabtitle="index.html" %}
@@ -90,34 +76,30 @@ Add the HTML `div` element with ID attribute as `element` in your `index.html` f
- Essential JS 2
+ Syncfusion TypeScript Spreadsheet
-
+
-
+
{% endhighlight %}
-{% endtabs %}
-
-Now, import the Spreadsheet component into your `app.ts` to instantiate a spreadsheet and append the spreadsheet instance to the `#element`.
-
-`[src/app/app.ts]`
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
+{% highlight ts tabtitle="index.ts" %}
import { Spreadsheet } from '@syncfusion/ej2-spreadsheet';
-// Initialize Spreadsheet component
-let spreadsheet: Spreadsheet = new Spreadsheet();
+// Initialize the Spreadsheet component
+const spreadsheet: Spreadsheet = new Spreadsheet({
+ openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
+ saveUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save'
+});
// Render initialized Spreadsheet
spreadsheet.appendTo('#element');
@@ -125,6 +107,8 @@ spreadsheet.appendTo('#element');
{% endhighlight %}
{% endtabs %}
+> **Note:** The [openUrl](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#openurl) and [saveUrl](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#saveurl) properties are used to connect the Spreadsheet control to a server-side service for Excel import and export operations. For development and production use, we recommend configuring your own local or hosted service instead of relying on demo endpoints. For more information, refer to the [`link`](https://www.syncfusion.com/blogs/post/host-spreadsheet-open-and-save-services).
+
## Run the application
The `quickstart` project is configured to compile and run the application in the browser. Use the following command to run the application.
@@ -137,22 +121,11 @@ npm start
{% endhighlight %}
{% endtabs %}
-The following example shows a basic Spreadsheet component.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/spreadsheet/javascript-es6/spreadsheet/getting-started-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/spreadsheet/javascript-es6/spreadsheet/getting-started-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
+Use the following live preview to explore the Spreadsheet control.
{% previewsample "/document-processing/code-snippet/spreadsheet/javascript-es6/spreadsheet/getting-started-cs1" %}
-> You can refer to our [JavaScript Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/javascript-spreadsheet-editor) feature tour page for its groundbreaking feature representations. You can also explore our [JavaScript Spreadsheet example](https://document.syncfusion.com/demos/spreadsheet-editor/javascript/#/tailwind3/spreadsheet/default.html) that shows you how present and manipulate data, including editing, formulas, formatting, importing, and exporting.
-
-## See Also
+## See also
* [Data Binding](./data-binding)
-* [Open and Save](./open-save)
\ No newline at end of file
+* [Open and Save](./open-save)
diff --git a/Document-Processing/Excel/Spreadsheet/React/environment-integration/agentic-builder.md b/Document-Processing/Excel/Spreadsheet/React/environment-integration/agentic-builder.md
new file mode 100644
index 0000000000..98edae5358
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/environment-integration/agentic-builder.md
@@ -0,0 +1,45 @@
+---
+layout: post
+title: React Spreadsheet getting started with Agentic UI Builder | Syncfusion
+description: Checkout and learn about how to use React Spreadsheet component of Syncfusion Essential JS 2 with Agentic UI Builder.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Create a React Spreadsheet Application with Agentic UI Builder
+
+This guide shows you how to create a Syncfusion® React Spreadsheet component simply by typing what you want using natural language commands — with the [**Syncfusion® React Agentic UI Builder**](https://www.syncfusion.com/explore/mcp-servers/) (powered by Syncfusion's MCP Server). Just describe it, and the tool builds the complete implementation of the spreadsheet component for you.
+
+### Prerequisite
+- Make sure the **React Agentic UI Builder** is installed in your IDE. Refer to the official [Getting Started](https://ej2.syncfusion.com/react/documentation/mcp-server/agentic-ui-builder/getting-started) and [installation guide](https://ej2.syncfusion.com/react/documentation/mcp-server/installation).
+- Ensure you have a [React project](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/getting-started) set up (JavaScript or TypeScript, any supported version) before using the Agentic UI Builder.
+
+### Usage
+
+Once installed, open your React project in your preferred IDE, launch the AI assistant, and describe what you want to build using the ```#sf_react_ui_builder``` command, as shown below:
+
+**Example:**
+
+```
+#sf_react_ui_builder Create an empty React Spreadsheet using the Bootstrap 5 theme. Install the required packages, import the theme CSS in the correct order, and initialize the spreadsheet.
+```
+
+The UI Builder delivers full implementations, covering layout, components, and styling. The following illustration shows the generated output:
+
+
+
+### Individual Tools
+
+You can directly invoke individual tools by name for more targeted assistance (especially useful for specialized tasks). In addition to the main UI Builder, tools like layout, style, and component are available. For more details, see the [individual tools documentation](https://ej2.syncfusion.com/react/documentation/mcp-server/agentic-ui-builder/getting-started#individual-tools).
+
+### Tips & Best Practices
+
+- Enable **Agent mode** in your IDE for smooth, multi-step execution with confirmation prompts.
+- Use higher-capability models (**Claude Sonnet 4.5 or newer, GPT-5**) as they typically produce more accurate, higher-quality code.
+- If a step times out or becomes unresponsive, cancel it and retry the current step.
+- Always review the generated code and commands before accepting or applying them in production.
+
+### See also
+
+- To explore customization options for layouts, components, styles, and more examples of effective prompts, refer to the [prompt Library](https://ej2.syncfusion.com/react/documentation/mcp-server/agentic-ui-builder/prompt-library).
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/environment-integration/remix.md b/Document-Processing/Excel/Spreadsheet/React/environment-integration/remix.md
index de88005646..9fc48c109c 100644
--- a/Document-Processing/Excel/Spreadsheet/React/environment-integration/remix.md
+++ b/Document-Processing/Excel/Spreadsheet/React/environment-integration/remix.md
@@ -7,13 +7,13 @@ platform: document-processing
documentation: ug
---
-# Getting started with Syncfusion React Spreadsheet in Remix
+# Getting started with Syncfusion® React Spreadsheet in Remix
-This guide provides a step-by-step workflow for integrating Syncfusion React Spreadsheet into a new Remix application.
+This guide provides a step-by-step workflow for integrating Syncfusion® React Spreadsheet into a new Remix application.
## Prerequisites
Ensure the following requirements are met before starting:
-[System requirements for Syncfusion React Spreadsheet](https://ej2.syncfusion.com/react/documentation/system-requirement)
+[System requirements for Syncfusion® React Spreadsheet](https://ej2.syncfusion.com/react/documentation/system-requirement)
## Benefits of using Remix
@@ -61,7 +61,7 @@ Navigate into the project directory with the below command and install the `reac
cd my-react-router-app
```
-## Adding Syncfusion Spreadsheet package
+## Adding Syncfusion® Spreadsheet package
To include the React Spreadsheet component in your project, use the following command:
@@ -88,7 +88,7 @@ Import the Syncfusion® component themes in the `app.css` file as shown below:
## Configure Server-Side Rendering (SSR)
-For Syncfusion React Spreadsheet to function with Remix server-side rendering (via Vite), update your `vite.config.ts` file as shown:
+For Syncfusion® React Spreadsheet to function with Remix server-side rendering (via Vite), update your `vite.config.ts` file as shown:
```js
import { defineConfig } from "vite";
@@ -102,7 +102,7 @@ export default defineConfig({
});
```
-This configuration ensures Syncfusion modules are properly compiled for SSR compatibility.
+This configuration ensures Syncfusion® modules are properly compiled for SSR compatibility.
## Adding Spreadsheet component
@@ -145,4 +145,4 @@ npm run start
## See Also
-* [Getting Started with Syncfusion React Spreadsheet](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/getting-started)
\ No newline at end of file
+* [Getting Started with Syncfusion® React Spreadsheet](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/getting-started)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/getting-started.md b/Document-Processing/Excel/Spreadsheet/React/getting-started.md
index 872e583227..f12c59175a 100644
--- a/Document-Processing/Excel/Spreadsheet/React/getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/React/getting-started.md
@@ -1,126 +1,106 @@
---
layout: post
title: Getting started with React Spreadsheet component | Syncfusion
-description: Checkout and learn about Getting started with React Spreadsheet component of Syncfusion Essential JS 2 and more details.
-control: Getting started
+description: Checkout and learn about getting started with the Syncfusion React Spreadsheet component in the Spreadsheet Editor SDK and more details.
+control: Getting started
platform: document-processing
documentation: ug
---
-# Getting started with React Spreadsheet component
+# Getting Started with React Spreadsheet component
-This section explains the steps to create a simple Spreadsheet component in a React application.
+This section explains how to create a simple React application and add the [Syncfusion® React Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/react-spreadsheet-editor) component with the minimum required setup.
-To get start quickly with React Spreadsheet, you can check on this video:
+## Prerequisites
-{% youtube "https://www.youtube.com/watch?v=3Cx9AnKAHdY" %}
-
-## Dependencies
-
-The following list of dependencies are required to use the Spreadsheet component in your application:
+[System requirements for Syncfusion® React components](https://ej2.syncfusion.com/react/documentation/system-requirement)
-```js
-|-- @syncfusion/ej2-react-spreadsheet
- |-- @syncfusion/ej2-react-base
- |-- @syncfusion/ej2-spreadsheet
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-grids
-
-```
+## Create a React application
-## Setup for Local Development
+Use [`Vite`](https://vite.dev/guide/) to create a new React application, as it provides a faster development environment, smaller bundle sizes, and optimized builds.
-To easily set up a React application, use `create-vite-app`, which provides a faster development environment, smaller bundle sizes, and optimized builds compared to traditional tools like `create-react-app`. For detailed steps, refer to the Vite [installation instructions](https://vitejs.dev/guide/). Vite sets up your environment using JavaScript and optimizes your application for production.
+To create a new React application, run one of the following commands based on your preferred environment.
-> **Note:** To create a React application using `create-react-app`, refer to this [documentation](https://ej2.syncfusion.com/react/documentation/getting-started/create-app) for more details.
-
-To create a new React application, run the following command.
+{% tabs %}
+{% highlight js tabtitle="JavaScript" %}
-```bash
-npm create vite@latest my-app
-```
-To set-up a React application in TypeScript environment, run the following command.
+npm create vite@latest spreadsheet-app -- --template react
+cd spreadsheet-app
-```bash
-npm create vite@latest my-app -- --template react-ts
-cd my-app
-npm run dev
-```
-To set-up a React application in JavaScript environment, run the following command.
+{% endhighlight %}
+{% highlight ts tabtitle="TypeScript" %}
-```bash
-npm create vite@latest my-app -- --template react
-cd my-app
-npm run dev
-```
+npm create vite@latest spreadsheet-app -- --template react-ts
+cd spreadsheet-app
+{% endhighlight %}
+{% endtabs %}
-## Adding Syncfusion® packages
+## Install the Syncfusion® React Spreadsheet package
-All the available Essential® JS 2 packages are published in [`npmjs.com`](https://www.npmjs.com/~syncfusionorg) public registry. To install Spreadsheet component use the following command.
+Install the [React Spreadsheet](https://www.npmjs.com/package/@syncfusion/ej2-react-spreadsheet) package from npm using the following command:
```
npm install @syncfusion/ej2-react-spreadsheet --save
```
-## Adding CSS reference
+## Add CSS references
- Add components style as given below in `src/App.css`.
+Add the following style references to the `src/App.css` file.
```css
-@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-grids/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-react-spreadsheet/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-react-spreadsheet/styles/tailwind3.css';
```
-> To refer `App.css` in the application then import it in the `src/App.tsx` file.
+> **Note:** Refer to the [Themes topic](https://ej2.syncfusion.com/react/documentation/appearance/theme) to learn more about built-in themes and different ways to refer to themes in a React project.
-## Adding Spreadsheet component
+## Add the Syncfusion® React Spreadsheet component to the application
-Now, you can import the spreadsheet component into your `src/App.tsx` file.
+Now, import the `SpreadsheetComponent` into your `src/App.jsx` or `src/App.tsx` file and render it.
-```ts
-import * as React from 'react';
-import { SpreadsheetComponent } from '@syncfusion/ej2-react-spreadsheet';
-import './App.css';
-export default function App() {
- return ();
-}
-```
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/getting-started-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/getting-started-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+> **Note:** The [`openUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#openurl) and [`saveUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#saveurl) endpoints used in this example are provided only for demonstration purposes. For development and production use, we strongly recommend configuring your own local or hosted web service for the Open and Save actions instead of relying on the online demo service. For more information, refer to the [`Web Services`](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/web-services/webservice-overview) section.
## Run the application
-Now run the `npm run dev` command in the console to start the development server. This command compiles your code and serves the application locally, opening it in the browser.
+Run the following command to start the development server:
```
npm run dev
```
-The following example shows a basic spreadsheet component.
+After the application starts, open the local URL shown in the terminal to view the React Spreadsheet Editor in the browser.
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/react/getting-started-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/react/getting-started-cs1/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
+Use the following live preview to explore the Spreadsheet component.
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/getting-started-cs1" %}
- {% previewsample "/document-processing/code-snippet/spreadsheet/react/getting-started-cs1" %}
+## Video tutorial
-> You can refer to our [React Spreadsheet](https://www.syncfusion.com/react-components/react-spreadsheet) feature tour page for its groundbreaking feature representations. You can also explore our [React Spreadsheet example](https://document.syncfusion.com/demos/spreadsheet-editor/react/#/tailwind3/spreadsheet/default) that shows you how to present and manipulate data.
+To get started quickly with React Spreadsheet, you can watch this video:
+
+{% youtube "https://www.youtube.com/watch?v=3Cx9AnKAHdY" %}
-## See Also
+## See also
* [Data Binding](./data-binding)
-* [Open and Save](./open-save)
\ No newline at end of file
+* [Open Excel files](./open-excel-files)
+* [Save Excel files](./save-excel-files)
+* [Web Services](./web-services/webservice-overview)
diff --git a/Document-Processing/Excel/Spreadsheet/React/images/agentic-builder-output.png b/Document-Processing/Excel/Spreadsheet/React/images/agentic-builder-output.png
new file mode 100644
index 0000000000..e2c8a30d84
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/React/images/agentic-builder-output.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Vue/getting-started.md b/Document-Processing/Excel/Spreadsheet/Vue/getting-started.md
index daf90cb546..26157cc15c 100644
--- a/Document-Processing/Excel/Spreadsheet/Vue/getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/Vue/getting-started.md
@@ -1,172 +1,137 @@
---
layout: post
title: Getting started with Vue Spreadsheet component | Syncfusion
-description: Checkout and learn about Getting started with Vue Spreadsheet component of Syncfusion Essential JS 2 and more details.
-control: Getting started
+description: Checkout and learn about getting started with the Syncfusion Vue Spreadsheet component in the Spreadsheet Editor SDK and more details.
+control: Getting started
platform: document-processing
documentation: ug
---
# Getting Started with the Vue Spreadsheet Component in Vue 2
-This article provides a step-by-step guide for setting up a Vue 2 project using [Vue-CLI](https://cli.vuejs.org/) and integrating the Syncfusion® Vue Spreadsheet component using the [Composition API](https://vuejs.org/guide/introduction.html#composition-api) / [Options API](https://vuejs.org/guide/introduction.html#options-api).
+This article provides a step-by-step guide for setting up a Vue 2 project and integrating the Syncfusion® Vue Spreadsheet component using the Composition API or Options API.
## Prerequisites
-[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements/)
+[System requirements for Syncfusion® Vue components](https://ej2.syncfusion.com/vue/documentation/system-requirements)
-## Dependencies
+## Create a Vue application
-The following list of dependencies are required to use the Spreadsheet component in your application:
+Use [Vue CLI](https://cli.vuejs.org/#getting-started) to set up a Vue application, as it provides a modular project architecture, flexible configuration, and an integrated plugin system.
-```js
-|-- @syncfusion/ej2-vue-spreadsheet
- |-- @syncfusion/ej2-vue-base
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-grids
-```
-
-## Setting up the Vue 2 project
-
-To generate a Vue 2 project using Vue-CLI, use the [vue create](https://cli.vuejs.org/#getting-started) command. Follow these steps to install Vue CLI and create a new project:
+Install Vue CLI globally, using the following command:
-```bash
+```
npm install -g @vue/cli
-vue create quickstart
-cd quickstart
-npm run serve
```
-or
+Create a new Vue application using the following commands:
-```bash
-yarn global add @vue/cli
+```
vue create quickstart
cd quickstart
-yarn run serve
```
-When creating a new project, choose the option `Default ([Vue 2] babel, eslint)` from the menu.
-
-
+> When prompted during project creation, select **Default ([Vue 2] babel, eslint)**.
-Once the `quickstart` project is set up with default settings, proceed to add Syncfusion® components to the project.
+## Install the Syncfusion® Vue Spreadsheet package
-## Add Syncfusion® Vue packages
+Install the [Vue Spreadsheet](https://www.npmjs.com/package/@syncfusion/ej2-vue-spreadsheet) package from npm using the following command:
-Syncfusion® packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Vue components, install the required npm package.
-
-This article uses the [Vue Spreadsheet component](https://www.syncfusion.com/spreadsheet-editor-sdk/vue-spreadsheet-editor) as an example. Install the `@syncfusion/ej2-vue-spreadsheet` package by running the following command:
-
-```bash
-npm install @syncfusion/ej2-vue-spreadsheet --save
```
-or
-
-```bash
-yarn add @syncfusion/ej2-vue-spreadsheet
+npm install @syncfusion/ej2-vue-spreadsheet --save
```
-## Import Syncfusion® CSS styles
-
-You can import themes for the Syncfusion® Vue component in various ways, such as using CSS or SASS styles from npm packages, CDN, [CRG](https://ej2.syncfusion.com/javascript/documentation/common/custom-resource-generator/) and [Theme Studio](https://ej2.syncfusion.com/vue/documentation/appearance/theme-studio/). Refer to [themes topic](https://ej2.syncfusion.com/vue/documentation/appearance/theme/) to know more about built-in themes and different ways to refer to themes in a Vue project.
+## Add CSS references
-In this article, the `Material` theme is applied using CSS styles, which are available in installed packages. The necessary `Material` CSS styles for the Spreadsheet component and its dependents were imported into the `
{% endhighlight %}
{% endtabs %}
-## Add Syncfusion® Vue component
+> **Note:** Refer to the [Themes topic](https://ej2.syncfusion.com/vue/documentation/appearance/theme) to learn more about built-in themes and different ways to refer to themes in a Vue project.
-Follow the below steps to add the Vue Spreadsheet component using `Composition API` or `Options API`:
+## Add the Syncfusion® Vue Spreadsheet component to the application
-1\. First, import and register the Spreadsheet component in the `script` section of the **src/App.vue** file. If you are using the `Composition API`, you should add the `setup` attribute to the `script` tag to indicate that Vue will be using the `Composition API`.
+Import and register the Spreadsheet component directives in the `script` section of **src/App.vue**. If you use the `Composition API`, add the `setup` attribute to the `script` tag. Then, define the component in the `template` section.
{% tabs %}
{% highlight html tabtitle="Composition API (~/src/App.vue)" %}
{% raw %}
+
+
+
+
{% endraw %}
{% endhighlight %}
{% highlight html tabtitle="Options API (~/src/App.vue)" %}
+{% raw %}
+
+
+
+
+{% endraw %}
{% endhighlight %}
{% endtabs %}
-2\. In the `template` section define the Spreadsheet component
-
-{% tabs %}
-{% highlight html tabtitle="~/src/App.vue" %}
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-Here is the summarized code for the above steps in the **src/App.vue** file:
+> **Note:** The [`openUrl`](https://ej2.syncfusion.com/vue/documentation/api/spreadsheet/index-default#openurl) and [`saveUrl`](https://ej2.syncfusion.com/vue/documentation/api/spreadsheet/index-default#saveurl) endpoints used in this example are provided only for demonstration purposes. For development and production use, we strongly recommend configuring your own local or hosted web service for the Open and Save actions instead of relying on the online demo service. For more information, refer to the [`link`](https://www.syncfusion.com/blogs/post/host-spreadsheet-open-and-save-services).
-{% tabs %}
-{% highlight html tabtitle="Composition API (~/src/App.vue)" %}
-{% include code-snippet/spreadsheet/vue/getting-started-cs1/app-composition.vue %}
-{% endhighlight %}
-{% highlight html tabtitle="Options API (~/src/App.vue)" %}
-{% include code-snippet/spreadsheet/vue/getting-started-cs1/app.vue %}
-{% endhighlight %}
-{% endtabs %}
+## Run the application
-## Run the project
+Run the following command to start the application:
-To run the project, use the following command:
-
-```bash
+```
npm run serve
```
-or
+After the application starts, open the local URL shown in the terminal to view the Vue Spreadsheet Editor in the browser.
-```bash
-yarn run serve
-```
-
-{% previewsample "/document-processing/code-snippet/spreadsheet/vue/getting-started-cs1" %}
+Use the following live preview to explore the Spreadsheet component.
-> You can refer to our [Vue Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/vue-spreadsheet-editor) feature tour page for its groundbreaking feature representations. You can also explore our [Vue Spreadsheet example](https://document.syncfusion.com/demos/spreadsheet-editor/vue/#/tailwind3/spreadsheet/default.html) that shows you how to present and manipulate data.
+{% previewsample "/document-processing/code-snippet/spreadsheet/vue/getting-started-cs1" %}
-## See Also
+## See also
* [Data Binding](./data-binding)
-* [Open and Save](./open-save)
\ No newline at end of file
+* [Open and Save](./open-save)
diff --git a/Document-Processing/Excel/Spreadsheet/Vue/vue-3-getting-started.md b/Document-Processing/Excel/Spreadsheet/Vue/vue-3-getting-started.md
index 0627e49aa8..2b9d85b45e 100644
--- a/Document-Processing/Excel/Spreadsheet/Vue/vue-3-getting-started.md
+++ b/Document-Processing/Excel/Spreadsheet/Vue/vue-3-getting-started.md
@@ -1,7 +1,7 @@
---
layout: post
title: Vue 3 getting started with the Spreadsheet component | Syncfusion
-description: Check out and learn about Vue 3 getting started with the Vue Spreadsheet component of Syncfusion Essential JS 2 and more details.
+description: Check out and learn about Vue 3 getting started with the Vue Spreadsheet component of Syncfusion Spreadsheet Editor SDK and more details.
control: Vue 3 getting started
platform: document-processing
documentation: ug
@@ -11,226 +11,61 @@ documentation: ug
This article provides a step-by-step guide for setting up a [Vite](https://vitejs.dev/) project with a JavaScript environment and integrating the Syncfusion® Vue Spreadsheet component using the [Composition API](https://vuejs.org/guide/introduction.html#composition-api) / [Options API](https://vuejs.org/guide/introduction.html#options-api).
-The `Composition API` is a new feature introduced in Vue.js 3 that provides an alternative way to organize and reuse component logic. It allows developers to write components as functions that use smaller, reusable functions called composition functions to manage their properties and behavior.
-
-The `Options API` is the traditional way of writing Vue.js components, where the component logic is organized into a series of options that define the component's properties and behavior. These options include data, methods, computed properties, watchers, lifecycle hooks, and more.
-
## Prerequisites
-[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements/)
-
-## Set up the Vite project
-
-A recommended approach for beginning with Vue is to scaffold a project using [Vite](https://vitejs.dev/). To create a new Vite project, use one of the commands that are specific to either NPM or Yarn.
+[System requirements for Syncfusion® Vue components](https://ej2.syncfusion.com/vue/documentation/system-requirements)
-```bash
-npm create vite@latest
-```
+## Create a Vue application
-or
+To create a new Vue application, run one of the following commands.
-```bash
-yarn create vite
```
-
-Using one of the above commands will lead you to set up additional configurations for the project as below:
-
-1.Define the project name: We can specify the name of the project directly. Let's specify the name of the project as `my-project` for this article.
-
-```bash
-? Project name: » my-project
+npm create vite@latest spreadsheet-app -- --template vue
+cd spreadsheet-app
```
-2.Select `Vue` as the framework. It will create a Vue 3 project.
-
-```bash
-? Select a framework: » - Use arrow-keys. Return to submit.
-Vanilla
-> Vue
- React
- Preact
- Lit
- Svelte
- Others
-```
-
-3.Choose `JavaScript` as the framework variant to build this Vite project using JavaScript and Vue.
-
-```bash
-? Select a variant: » - Use arrow-keys. Return to submit.
-> JavaScript
- TypeScript
- Customize with create-vue ↗
- Nuxt ↗
-```
-
-4.Upon completing the aforementioned steps to create the `my-project`, run the following command to install its dependencies:
-
-```bash
-cd my-project
-npm install
-```
+## Install the Syncfusion® Vue Spreadsheet package
-or
+Install the [Vue Spreadsheet](https://www.npmjs.com/package/@syncfusion/ej2-vue-spreadsheet) package from npm using the following command:
-```bash
-cd my-project
-yarn install
```
-
-Now that `my-project` is ready to run with default settings, let's add Syncfusion® components to the project.
-
-## Add Syncfusion® Vue packages
-
-Syncfusion® Vue component packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Syncfusion® Vue components in the project, install the corresponding npm package.
-
-This article uses the [Vue Spreadsheet component](https://www.syncfusion.com/spreadsheet-editor-sdk/vue-spreadsheet-editor) as an example. To use the Vue Spreadsheet component in the project, the `@syncfusion/ej2-vue-spreadsheet` package needs to be installed using the following command:
-
-```bash
npm install @syncfusion/ej2-vue-spreadsheet --save
```
-or
-
-```bash
-yarn add @syncfusion/ej2-vue-spreadsheet
-```
-
-## Import Syncfusion® CSS styles
-
-You can import themes for the Syncfusion® Vue component in various ways, such as using CSS or SASS styles from npm packages, CDN, [CRG](https://ej2.syncfusion.com/javascript/documentation/common/custom-resource-generator/) and [Theme Studio](https://ej2.syncfusion.com/vue/documentation/appearance/theme-studio/). Refer to [themes topic](https://ej2.syncfusion.com/vue/documentation/appearance/theme/) to know more about built-in themes and different ways to refer to themes in a Vue project.
+## Add CSS references
-In this article, `Material` theme is applied using CSS styles, which are available in installed packages. The necessary `Material` CSS styles for the Spreadsheet component and its dependents were imported into the `
{% endhighlight %}
{% endtabs %}
-> The order of importing CSS styles should be in line with its dependency graph.
-
-> For an enhanced UI experience with the Vue spreadsheet component, kindly remove the basic styles provided in the `scr/styles.css` file. This will help avoid potential styling conflicts and ensure a cleaner design layout.
-
-## Add Syncfusion® Vue component
-
-Follow the below steps to add the Vue Spreadsheet component using `Composition API` or `Options API`:
-
- 1.First, import and register the Spreadsheet component and its child directives in the `script` section of the **src/App.vue** file. If you are using the `Composition API`, you should add the `setup` attribute to the `script` tag to indicate that Vue will be using the `Composition API`.
-
-{% tabs %}
-{% highlight html tabtitle="Composition API (~/src/App.vue)" %}
-
-
-
-{% endhighlight %}
-{% highlight html tabtitle="Options API (~/src/App.vue)" %}
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-2.In the `template` section, define the Spreadsheet component with sheets directives. Sheet directives are used to define the sheet definition for the Spreadsheet component.
-
-{% tabs %}
-{% highlight html tabtitle="~/src/App.vue" %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-3.Declare the values for the `dataSource` property in the `script` section.
+> **Note:** Refer to the [Themes topic](https://ej2.syncfusion.com/vue/documentation/appearance/theme) to learn more about built-in themes and different ways to refer to themes in a Vue project.
-{% tabs %}
-{% highlight html tabtitle="Composition API (~/src/App.vue)" %}
+## Add Syncfusion® Vue component to the application
-
-
-{% endhighlight %}
-{% highlight html tabtitle="Options API (~/src/App.vue)" %}
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-Here is the summarized code for the above steps in the **src/App.vue** file:
+Import and register the Spreadsheet component directives in the `script` section of **src/App.vue**. If you use the `Composition API`, add the `setup` attribute to the `script` tag. Then, define the component in the `template` section.
{% tabs %}
{% highlight html tabtitle="Composition API (~/src/App.vue)" %}
+{% raw %}
-
+
@@ -244,6 +79,9 @@ Here is the summarized code for the above steps in the **src/App.vue** file:
-
-
+{% endraw %}
{% endhighlight %}
{% highlight html tabtitle="Options API (~/src/App.vue)" %}
+{% raw %}
-
+
@@ -301,7 +129,7 @@ const data = [
// Bound properties declarations
data() {
return {
- data:[
+ data:[
{
OrderID: 10248,
Name: "VINET",
@@ -313,43 +141,34 @@ const data = [
Country: "Germany",
}
],
+ openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
+ saveUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save'
};
},
};
-
-
+{% endraw %}
{% endhighlight %}
{% endtabs %}
+> **Note:** The [`openUrl`](https://ej2.syncfusion.com/vue/documentation/api/spreadsheet/index-default#openurl) and [`saveUrl`](https://ej2.syncfusion.com/vue/documentation/api/spreadsheet/index-default#saveurl) endpoints used in this example are provided only for demonstration purposes. For development and production use, we strongly recommend configuring your own local or hosted web service for the Open and Save actions instead of relying on the online demo service. For more information, refer to the [`link`](https://www.syncfusion.com/blogs/post/host-spreadsheet-open-and-save-services).
+
## Run the project
To run the project, use the following command:
-```bash
-npm run dev
```
-
-or
-
-```bash
-yarn run dev
+npm run dev
```
The output will appear as follows:

-For Migrating from Vue 2 to Vue 3 refer the [`migration`](https://ej2.syncfusion.com/vue/documentation/getting-started/vue3-tutorial/#migration-from-vue-2-to-vue-3) documentation
+After the application starts, open the local URL shown in the terminal to view the Vue Spreadsheet Editor in the browser.
+
+## See also
+* [Data Binding](./data-binding)
+* [Open and Save](./open-save)
diff --git a/Document-Processing/FAQ/what-are-the-file-and-directory-length-limits-in-syncfusion-compression.md b/Document-Processing/FAQ/what-are-the-file-and-directory-length-limits-in-syncfusion-compression.md
new file mode 100644
index 0000000000..67f5272e9c
--- /dev/null
+++ b/Document-Processing/FAQ/what-are-the-file-and-directory-length-limits-in-syncfusion-compression.md
@@ -0,0 +1,19 @@
+---
+title: File and directory name length in Compression | Syncfusion
+description: Describes supported file and directory name length limits in Syncfusion.Compression.dll and the exception thrown when exceeded.
+platform: document-processing
+control: Compression
+documentation: UG
+---
+
+# What are the file and directory length limits in Compression?
+
+Syncfusion.Compression.dll can process paths that adhere to the traditional Windows path length limits: a fully qualified file name (including directories and file name) shorter than 260 characters, and a directory name shorter than 248 characters. If these limits are exceeded, a System.IO.PathTooLongException will be thrown.
+
+Notes and guidance:
+- The 260-character limit refers to the full path length (MAX_PATH) used by many Windows APIs.
+- The 248-character limit applies to individual directory path components in some Windows APIs.
+
+Example:
+- Acceptable: `C:\Projects\MyApp\data\file.txt` (full path < 260 chars)
+- Not acceptable: a fully-qualified path longer than 260 characters will likely cause `System.IO.PathTooLongException` when processed by Syncfusion.Compression.dll.
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Annotations.md b/Document-Processing/PDF/PDF-Library/javascript/Annotations.md
index d87595ded8..45a7f391f9 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Annotations.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Annotations.md
@@ -11,7 +11,7 @@ The PDF library provides support for interactive annotations. You can add, delet
## Adding annotations to a PDF document
-This example demonstrates how to add annotations to a PDF document using the `PdfAnnotation` class. Adding annotations allows users to include comments, highlights, shapes, and other interactive elements within a PDF, enhancing collaboration and document review.
+This example demonstrates how to add annotations to a PDF document using the [PdfPopupAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfpopupannotation) class. Adding annotations allows users to include comments, highlights, shapes, and other interactive elements within a PDF, enhancing collaboration and document review.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -70,7 +70,7 @@ document.destroy();
### File Link Annotation
-This example demonstrates how to add a file link annotation to a PDF page using the `PdfFileLinkAnnotation` class. A file link annotation allows linking to an external file from within a PDF document, enabling users to access related resources directly.
+This example demonstrates how to add a file link annotation to a PDF page using the [PdfFileLinkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdffilelinkannotation) class. A file link annotation allows linking to an external file from within a PDF document, enabling users to access related resources directly.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -125,7 +125,7 @@ document.destroy();
### Free Text Annotation
-This example demonstrates how to add a free text annotation to a PDF page using the `PdfFreeTextAnnotation` class. A free text annotation allows placing text directly on a PDF page, enabling users to add comments or notes that remain visible without requiring interaction.
+This example demonstrates how to add a free text annotation to a PDF page using the [PdfFreeTextAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdffreetextannotation) class. A free text annotation allows placing text directly on a PDF page, enabling users to add comments or notes that remain visible without requiring interaction.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -190,7 +190,7 @@ document.destroy();
### Line Annotation
-This example demonstrates how to add a line annotation to a PDF page using the `PdfLineAnnotation` class. A line annotation allows drawing straight lines between two points on a PDF page, often used to highlight connections or indicate measurements.
+This example demonstrates how to add a line annotation to a PDF page using the [PdfLineAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdflineannotation) class. A line annotation allows drawing straight lines between two points on a PDF page, often used to highlight connections or indicate measurements.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -254,7 +254,7 @@ document.destroy();
### Rubber stamp Annotation
-This example demonstrates how to add a rubber stamp annotation to a PDF page using the `PdfRubberStampAnnotation` class. A rubber stamp annotation allows applying predefined or custom stamp to visually indicate the status or purpose of a document.
+This example demonstrates how to add a rubber stamp annotation to a PDF page using the [PdfRubberStampAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfrubberstampannotation) class. A rubber stamp annotation allows applying predefined or custom stamp to visually indicate the status or purpose of a document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -300,7 +300,7 @@ document.destroy();
### Ink Annotation
-This example demonstrates how to add an ink annotation to a PDF page using the `PdfInkAnnotation` class. An ink annotation allows drawing freehand marks or sketches directly on a PDF page.
+This example demonstrates how to add an ink annotation to a PDF page using the [PdfInkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfinkannotation) class. An ink annotation allows drawing freehand marks or sketches directly on a PDF page.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -381,7 +381,7 @@ document.destroy();
### Pop-up Annotation
-This example demonstrates how to add a popup annotation to a PDF document using the `PdfPopupAnnotation` class. A popup annotation allows you to display additional information or comments within the PDF at a specified position and size.
+This example demonstrates how to add a popup annotation to a PDF document using the [PdfPopupAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfpopupannotation) class. A popup annotation allows you to display additional information or comments within the PDF at a specified position and size.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -440,7 +440,7 @@ document.destroy();
### File Attachment Annotation
-This example demonstrates how to add a file attachment annotation to a PDF page using the `PdfAttachmentAnnotation` class. A file attachment annotation allows embedding external files within a PDF document, enabling users to include supporting documents or resources for easy access.
+This example demonstrates how to add a file attachment annotation to a PDF page using the [PdfAttachmentAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfattachmentannotation) class. A file attachment annotation allows embedding external files within a PDF document, enabling users to include supporting documents or resources for easy access.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -497,7 +497,7 @@ document.destroy();
### URI Annotation
-This example demonstrates how to add a URI annotation to a PDF page using the `PdfUriAnnotation` class. A URI annotation allows linking to a web address or online resource from within a PDF document.
+This example demonstrates how to add a URI annotation to a PDF page using the [PdfUriAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfuriannotation) class. A URI annotation allows linking to a web address or online resource from within a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -537,7 +537,7 @@ document.destroy();
### Document Link Annotation
-This example demonstrates how to add a document link annotation to a PDF page using the `PdfDocumentLinkAnnotation` class. A document link annotation allows creating clickable links that navigate to a specific page or location within the same PDF document.
+This example demonstrates how to add a document link annotation to a PDF page using the [PdfDocumentLinkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocumentlinkannotation) class. A document link annotation allows creating clickable links that navigate to a specific page or location within the same PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -587,7 +587,7 @@ document.destroy();
### Redaction Annotation
-This example demonstrates how to add a redaction annotation to a PDF page using the `PdfRedactionAnnotation` class. A redaction annotation allows marking areas of a PDF for permanent removal of sensitive content, ensuring confidentiality and compliance with privacy requirements.
+This example demonstrates how to add a redaction annotation to a PDF page using the [PdfRedactionAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfredactionannotation) class. A redaction annotation allows marking areas of a PDF for permanent removal of sensitive content, ensuring confidentiality and compliance with privacy requirements.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -643,7 +643,7 @@ document.destroy();
### Watermark Annotation
-This example demonstrates how to add a watermark annotation to a PDF page using the `PdfWatermarkAnnotation` class. A watermark annotation allows overlaying text or images on a PDF page, typically used for branding, confidentiality notices, or document status indicators.
+This example demonstrates how to add a watermark annotation to a PDF page using the [PdfWatermarkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfwatermarkannotation) class. A watermark annotation allows overlaying text or images on a PDF page, typically used for branding, confidentiality notices, or document status indicators.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -687,7 +687,7 @@ document.destroy();
### Text Markup Annotation
-This example demonstrates how to add a text markup annotation to a PDF page using the `PdfTextMarkupAnnotation` class. A text markup annotation allows highlighting, underlining, or striking out text within a PDF document.
+This example demonstrates how to add a text markup annotation to a PDF page using the [PdfTextMarkupAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdftextmarkupannotation) class. A text markup annotation allows highlighting, underlining, or striking out text within a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -754,7 +754,7 @@ document.destroy();
## Rectangle Annotation
-This example demonstrates how to add a rectangle annotation to a PDF page using the `PdfRectangleAnnotation` class. A rectangle annotation allows drawing rectangular shapes on a PDF document.
+This example demonstrates how to add a rectangle annotation to a PDF page using the [PdfRectangleAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfrectangleannotation) class. A rectangle annotation allows drawing rectangular shapes on a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -816,7 +816,7 @@ document.destroy();
## Polygon Annotation
-This example demonstrates how to add a polygon annotation to a PDF page using the `PdfPolygonAnnotation` class. A polygon annotation allows drawing multi-sided shapes on a PDF document.
+This example demonstrates how to add a polygon annotation to a PDF page using the [PdfPolygonAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfpolygonannotation) class. A polygon annotation allows drawing multi-sided shapes on a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -887,7 +887,7 @@ document.destroy();
## Circle Annotation
-This example demonstrates how to add a circle annotation to a PDF page using the `PdfCircleAnnotation` class. A circle annotation allows drawing circular or oval shapes on a PDF document.
+This example demonstrates how to add a circle annotation to a PDF page using the [PdfCircleAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfcircleannotation) class. A circle annotation allows drawing circular or oval shapes on a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -951,7 +951,7 @@ document.save('output.pdf');
## Ellipse Annotation
-This example demonstrates how to add an ellipse annotation to a PDF page using the `PdfEllipseAnnotation` class. An ellipse annotation allows drawing elliptical shapes on a PDF document.
+This example demonstrates how to add an ellipse annotation to a PDF page using the [PdfEllipseAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfellipseannotation) class. An ellipse annotation allows drawing elliptical shapes on a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -1013,7 +1013,7 @@ document.destroy();
## Custom appearance in stamp annotation
-This example demonstrates how to add a rubber stamp annotation to an existing PDF using the `PdfRubberStampAnnotation` class. This feature allows embedding custom images as stamp appearances within a specific location on the page.
+This example demonstrates how to add a rubber stamp annotation to an existing PDF using the [PdfRubberStampAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfrubberstampannotation) class. This feature allows embedding custom images as stamp appearances within a specific location on the page.
{% tabs %}
@@ -1063,7 +1063,7 @@ document.destroy();
## Measurement Annotations
-This example demonstrates how to access a measurement annotation from a PDF page using the `PdfLineAnnotation` class. A measurement annotation allows defining and displaying dimensions such as distances or lengths within a PDF document.
+This example demonstrates how to access a measurement annotation from a PDF page using the [PdfLineAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdflineannotation) class. A measurement annotation allows defining and displaying dimensions such as distances or lengths within a PDF document.
Common types of measurement annotations include:
@@ -1173,7 +1173,7 @@ document.destroy();
## Modifying the annotations
-This example demonstrates how to modify an existing annotation in a PDF page using the PdfAnnotation class. Modifying annotations allows updating properties such as position, color, content, or appearance, enabling customization and refinement of the document's interactive elements.
+This example demonstrates how to modify an existing annotation in a PDF page using the [PdfAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfannotation) class. Modifying annotations allows updating properties such as position, color, content, or appearance, enabling customization and refinement of the document's interactive elements.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -1219,7 +1219,7 @@ document.destroy();
## Removing annotations from an existing PDF
-This example demonstrates how to remove an annotation from a PDF page using the PdfAnnotationCollection class. Removing annotations allows deleting comments, shapes, or other interactive elements from a PDF document.
+This example demonstrates how to remove an annotation from a PDF page using the [PdfAnnotationCollection](https://ej2.syncfusion.com/documentation/api/pdf/pdfannotationcollection) class. Removing annotations allows deleting comments, shapes, or other interactive elements from a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -1262,7 +1262,7 @@ document.destroy();
## Flatten annotation
-This example demonstrates how to flatten annotations in a PDF document using the PdfAnnotation class. Flattening annotations converts interactive elements such as comments, highlights, and shapes into static content.
+This example demonstrates how to flatten annotations in a PDF document using the [PdfAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfannotation) class. Flattening annotations converts interactive elements such as comments, highlights, and shapes into static content.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Bookmarks.md b/Document-Processing/PDF/PDF-Library/javascript/Bookmarks.md
index c886a2c649..613af580a5 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Bookmarks.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Bookmarks.md
@@ -11,7 +11,7 @@ Syncfusion® PDF provides support to insert, remove, and modify th
## Adding bookmarks to a PDF
-This example demonstrates how to add bookmarks to a PDF document using the `PdfBookmark` class. Bookmarks provide an easy way to navigate through different sections of a PDF file.
+This example demonstrates how to add bookmarks to a PDF document using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class. Bookmarks provide an easy way to navigate through different sections of a PDF file.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -59,7 +59,7 @@ document.destroy();
## Inserting bookmarks into an existing PDF
-This example demonstrates how to insert bookmarks at a specific position in an existing PDF document using the `PdfBookmark` class. This feature allows precise control over bookmark order.
+This example demonstrates how to insert bookmarks at a specific position in an existing PDF document using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class. This feature allows precise control over bookmark order.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -103,7 +103,7 @@ document.destroy();
## Nested Bookmark
-This example demonstrates how to create hierarchical (parent-child) bookmarks in a PDF using the PdfBookmark class. This feature allows organizing content with nested bookmark structures for easier navigation.
+This example demonstrates how to create hierarchical (parent-child) bookmarks in a PDF using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class. This feature allows organizing content with nested bookmark structures for easier navigation.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -163,7 +163,7 @@ document.destroy();
## Removing bookmarks from an existing PDF
-This example demonstrates how to remove bookmarks from an existing PDF document using the `PdfBookmark` class.
+This example demonstrates how to remove bookmarks from an existing PDF document using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -203,7 +203,7 @@ document.destroy();
## Removing a bookmark from the document at a specified index
-This example demonstrates how to remove bookmarks from the document at the specific index using the `PdfBookmark` class.
+This example demonstrates how to remove bookmarks from the document at the specific index using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -239,7 +239,7 @@ document.destroy();
## Removing all bookmarks from the collection
-This example demonstrates how to removes all bookmarks from the collection using the `PdfBookmark` class.
+This example demonstrates how to removes all bookmarks from the collection using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -279,7 +279,7 @@ document.destroy();
## Getting a bookmark's page index in an existing PDF document
-This example demonstrates how to retrieve the page index associated with a bookmark in an existing PDF document using the `PdfBookmark` class. This helps identify the exact location of the bookmark.
+This example demonstrates how to retrieve the page index associated with a bookmark in an existing PDF document using the [PdfBookmark](https://ej2.syncfusion.com/documentation/api/pdf/pdfbookmark) class. This helps identify the exact location of the bookmark.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Create-PDF-document-node.md b/Document-Processing/PDF/PDF-Library/javascript/Create-PDF-document-node.md
new file mode 100644
index 0000000000..a9db5b3e92
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Library/javascript/Create-PDF-document-node.md
@@ -0,0 +1,156 @@
+---
+layout: post
+title: Create or Generate PDF file in Node | Syncfusion
+description: Learn how to create a PDF file in Node.js server with easy steps using Syncfusion TypeScript PDF library without depending on Adobe
+platform: document-processing
+control: PDF
+documentation: ug
+keywords: pdf, script, express, node
+---
+
+# Create or Generate a PDF File in a Node.js Server Environment
+
+The Syncfusion® TypeScript PDF library is used to create, read, and edit PDF documents. This library also offers functionality to merge, split, stamp, fill forms, and secure PDF files.
+
+This guide explains how to integrate the Syncfusion TypeScript PDF library into an application with **Node.js server environment**.
+
+## Installing the Syncfusion TypeScript PDF package
+
+All Syncfusion JS 2 packages are published in `npmjs.com` registry.
+
+* To install the PDF library, use the following command.
+
+```bash
+npm install @syncfusion/ej2-pdf --save
+```
+
+N> For data extraction features, you need to install the `@syncfusion/ej2-pdf-data-extract` package as an add-on.
+Image extraction and image‑based redaction features are optimized for browser environments where visual rendering is available. These features rely on browser technologies such as DOM APIs, Canvas, and client‑side rendering, and therefore are not supported in pure Node.js server environments.
+
+## Dependencies
+
+The following list of dependencies are required to use the `TypeScript PDF library` component in your application.
+
+```bash
+|-- @syncfusion/ej2-compression
+|-- @syncfusion/ej2-base
+```
+
+## Create a Node.js Server Application to Generate a PDF Document
+
+* Add a simple button to `index.html` and attach a click handler that uses the TypeScript PDF API to create a new PDF document.
+
+{% tabs %}
+{% highlight html tabtitle="index.html" %}
+
+
+ PDF Generator
+
+
+
Generate PDF Example
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+* Create a new project folder and initialize it.
+
+```bash
+mkdir pdf-node-app
+cd pdf-node-app
+npm init -y
+```
+
+* Include the following namespaces in `server.js` file.
+
+{% tabs %}
+{% highlight typescript tabtitle="index.ts" %}
+
+import { PdfDocument, PdfGraphics, PdfPage, PdfFont, PdfFontFamily, PdfFontStyle, PdfBrush } from '@syncfusion/ej2-pdf';
+
+{% endhighlight %}
+{% endtabs %}
+
+* Include the following code example in the Node.js environment to generate a PDF document
+
+{% tabs %}
+{% highlight typescript tabtitle="server.js" %}
+
+const express = require('express');
+const {
+ PdfDocument,
+ PdfFontFamily,
+ PdfFontStyle,
+ PdfBrush
+} = require('@syncfusion/ej2-pdf');
+const app = express();
+const PORT = 3000;
+// Serve frontend files
+app.use(express.static('public'));
+// PDF generation API
+app.get('/generate-pdf', (req, res) => {
+ // Create PDF document
+ const document = new PdfDocument();
+ const page = document.addPage();
+ const graphics = page.graphics;
+ const font = document.embedFont(
+ PdfFontFamily.helvetica,
+ 36,
+ PdfFontStyle.regular
+ );
+ const brush = new PdfBrush({ r: 0, g: 0, b: 0 });
+ graphics.drawString(
+ 'Hello from Frontend!',
+ font,
+ {
+ x: 20,
+ y: 20,
+ width: graphics.clientSize.width - 20,
+ height: 60
+ },
+ brush
+ );
+ // Save PDF as bytes
+ const pdfBytes = document.save();
+ document.destroy();
+ // Send PDF to browser
+ res.setHeader('Content-Type', 'application/pdf');
+ res.setHeader('Content-Disposition', 'attachment; filename=Output.pdf');
+ res.send(Buffer.from(pdfBytes));
+});
+// Start server
+app.listen(PORT, () => {
+ console.log(`Server running at http://localhost:${PORT}`);
+});
+
+{% endhighlight %}
+{% endtabs %}
+
+* **Run the application**
+
+Run the following command to start the Node.js server:
+
+```bash
+node server.js
+```
+
+This command starts the server and allows you to generate and download the PDF file from the browser.
+
+By executing the program, you will get the PDF document as follows.
+
+
diff --git a/Document-Processing/PDF/PDF-Library/javascript/DigitalSignature.md b/Document-Processing/PDF/PDF-Library/javascript/DigitalSignature.md
index 6a5af0ef87..af1451f2c0 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/DigitalSignature.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/DigitalSignature.md
@@ -11,7 +11,7 @@ The PDF provides support to create, validate, and manage digital signatures in P
## Adding a digital signature
-This example demonstrates how to add a digital signature to a PDF document using the `PdfSignature` class. Digital signatures ensure document authenticity and integrity by applying cryptographic standards.
+This example demonstrates how to add a digital signature to a PDF document using the [PdfSignature](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature) class. Digital signatures ensure document authenticity and integrity by applying cryptographic standards.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -226,7 +226,7 @@ document.destroy();
## Create Signature with Public Certificates for External Signing
-This example demonstrates how to create a new PDF signature using the `PdfSignature` class with public certificates for external signing. External signing allows you to implement custom signing logic outside the PDF library while maintaining compliance with cryptographic standards.
+This example demonstrates how to create a new PDF signature using the [PdfSignature](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature) class with public certificates for external signing. External signing allows you to implement custom signing logic outside the PDF library while maintaining compliance with cryptographic standards.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -666,7 +666,7 @@ document.destroy();
## Retrieve the signed date of a PDF signature
-This example demonstrates how to retrieve the signed date of a PDF signature using the `getSignedDate()` method of the `PdfSignature` class. This property helps identify when the document was digitally signed.
+This example demonstrates how to retrieve the signed date of a PDF signature using the [getSignedDate()](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature#getsigneddate) method of the [PdfSignature](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature) class. This property helps identify when the document was digitally signed.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -710,7 +710,7 @@ document.destroy();
## Get Certificate Information from a PDF Signature
-This example demonstrates how to retrieve the certificate information of a PDF signature using the `getCertificateInformation()` method of the `PdfSignature` class. This information includes details about the signer's certificate used for digital signing.
+This example demonstrates how to retrieve the certificate information of a PDF signature using the [getCertificateInformation()](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature#getcertificateinformation) method of the [PdfSignature](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature) class. This information includes details about the signer's certificate used for digital signing.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -766,7 +766,7 @@ document.destroy();
## Get Digital Signature Configuration Options
-This example demonstrates how to retrieve the configuration options of a digital signature in a PDF document using the `getSignatureOptions()` method of the `PdfSignature` class. These options include details such as the cryptographic standard and digest algorithm used for signing.
+This example demonstrates how to retrieve the configuration options of a digital signature in a PDF document using the [getSignatureOptions()](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature#getsignatureoptions) method of the [PdfSignature](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature) class. These options include details such as the cryptographic standard and digest algorithm used for signing.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -846,7 +846,7 @@ document.destroy();
## Replace Empty Signature with Externally Signed Data
-This example demonstrates how to replace an empty signature field in a PDF document with externally signed data using the `replaceEmptySignature()` method of the `PdfSignature` class. This method allows embedding externally signed content, certificates, and optional timestamp data into the PDF.
+This example demonstrates how to replace an empty signature field in a PDF document with externally signed data using the [replaceEmptySignature()](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature#replaceemptysignature) method of the [PdfSignature](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignature) class. This method allows embedding externally signed content, certificates, and optional timestamp data into the PDF.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -952,7 +952,7 @@ document.destroy();
## Sign existing signature field
-This section explains how to sign an existing unsigned signature field in a PDF using the JavaScript PDF library. You can locate predefined signature fields and apply a digital signature directly by calling `PdfSignatureField.setSignature()` method, without altering the document layout. This is ideal for templates where signature placeholders already exist, allowing you to add digital signatures to the field using a certificate and signature settings.
+This section explains how to sign an existing unsigned signature field in a PDF using the JavaScript PDF library. You can locate predefined signature fields and apply a digital signature directly by calling [setSignature()](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignaturefield#setsignature) method of the [PdfSignatureField](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignaturefield) class, without altering the document layout. This is ideal for templates where signature placeholders already exist, allowing you to add digital signatures to the field using a certificate and signature settings.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -1002,7 +1002,7 @@ document.destroy();
## Remove existing digital signature
-This section explains how to remove an existing digital signature from a PDF by using `PdfForm.removeField()` method to delete the signature field entirely. Removing the field clears the signature dictionary, allowing the document to be edited, corrected, or re‑signed as needed. This is useful when preparing a PDF for updates or resolving signature‑related issues.
+This section explains how to remove an existing digital signature from a PDF by using [removeField()](https://ej2.syncfusion.com/documentation/api/pdf/pdfform#removefield) method of [PdfForm](https://ej2.syncfusion.com/documentation/api/pdf/pdfform) class to delete the signature field entirely. Removing the field clears the signature dictionary, allowing the document to be edited, corrected, or re‑signed as needed. This is useful when preparing a PDF for updates or resolving signature‑related issues.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -1042,7 +1042,7 @@ document.destroy();
## Document revisions
-Digital signatures in a PDF create new revisions, keeping every previous version intact. These revisions let you see how the document looked when each signature was applied and check if anything changed later. You can access all revisions using `PdfDocument.getRevisions()` method or get a specific one using `PdfSignatureField.getRevision()` method.
+Digital signatures in a PDF create new revisions, keeping every previous version intact. These revisions let you see how the document looked when each signature was applied and check if anything changed later. You can access all revisions using [getRevisions()](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#getrevisions) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class or get a specific one using [getRevision()](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignaturefield#getrevision) method of the [PdfSignatureField](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignaturefield).
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/FormFields.md b/Document-Processing/PDF/PDF-Library/javascript/FormFields.md
index b4627bea9b..218241afb1 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/FormFields.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/FormFields.md
@@ -11,11 +11,11 @@ An interactive form, sometimes referred to as an AcroForm, is a collection of fi
## Creating a new PDF form
-Syncfusion® PDF allows you to create and manage form in PDF document by using `PdfForm` class. The `PdfForm` class represents the entire field collection of the form.
+Syncfusion® PDF allows you to create and manage form in PDF document by using [PdfForm](https://ej2.syncfusion.com/documentation/api/pdf/pdfform) class. The [PdfForm](https://ej2.syncfusion.com/documentation/api/pdf/pdfform) class represents the entire field collection of the form.
### Adding the text box field
-This example demonstrates how to add a text box field to a PDF document using the `PdfTextBoxField` class. A text box field allows users to enter text data in interactive PDF forms.
+This example demonstrates how to add a text box field to a PDF document using the [PdfTextBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdftextboxfield) class. A text box field allows users to enter text data in interactive PDF forms.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -81,7 +81,7 @@ document.destroy();
### Adding the combo box field
-This example demonstrates how to add a combo box field to a PDF document using the `PdfComboBoxField` class. A combo box field provides a drop-down list for users to select predefined options.
+This example demonstrates how to add a combo box field to a PDF document using the [PdfComboBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdfcomboboxfield) class. A combo box field provides a drop-down list for users to select predefined options.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -157,7 +157,7 @@ document.destroy();
### Adding the radio button field
-This example demonstrates how to add a radio button field to a PDF document using the `PdfRadioButtonListField` class. Radio buttons allow users to select one option from a group of choices.
+This example demonstrates how to add a radio button field to a PDF document using the [PdfRadioButtonListField](https://ej2.syncfusion.com/documentation/api/pdf/pdfradiobuttonlistfield) class. Radio buttons allow users to select one option from a group of choices.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -223,7 +223,7 @@ document.destroy();
### Adding the list box field
-This example demonstrates how to add a list box field to a PDF document using the `PdfListBoxField` class. A list box field displays multiple options, allowing users to select one or more items.
+This example demonstrates how to add a list box field to a PDF document using the [PdfListBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdflistboxfield) class. A list box field displays multiple options, allowing users to select one or more items.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -301,7 +301,7 @@ document.destroy();
### Adding the check box field
-This example demonstrates how to add a check box field to a PDF document using the `PdfCheckBoxField` class. Check boxes allow users to select or deselect options in a form.
+This example demonstrates how to add a check box field to a PDF document using the [PdfCheckBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdfcheckboxfield) class. Check boxes allow users to select or deselect options in a form.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -363,7 +363,7 @@ document.destroy();
### Adding the signature field
-This example demonstrates how to add a signature field to a PDF document using the `PdfSignatureField` class. A signature field enables users to digitally sign the PDF document.
+This example demonstrates how to add a signature field to a PDF document using the [PdfSignatureField](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignaturefield) class. A signature field enables users to digitally sign the PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -431,7 +431,7 @@ document.destroy();
### Adding the button field
-This example demonstrates how to add a button field to a PDF document using the `PdfButtonField` class. Buttons can be configured to perform actions such as submitting a form or triggering JavaScript.
+This example demonstrates how to add a button field to a PDF document using the [PdfButtonField](https://ej2.syncfusion.com/documentation/api/pdf/pdfbuttonfield) class. Buttons can be configured to perform actions such as submitting a form or triggering JavaScript.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -507,7 +507,7 @@ Syncfusion® PDF allows you to fill the form fields using PdfField
### Filling the text box field
-This example demonstrates how to fill a text box field in a PDF document using the `text` property of the `PdfTextBoxField` class. The following code snippet illustrates how to set the text value for the field.
+This example demonstrates how to fill a text box field in a PDF document using the [text](https://ej2.syncfusion.com/documentation/api/pdf/pdftextboxfield#get-text-string) property of the [PdfTextBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdftextboxfield) class. The following code snippet illustrates how to set the text value for the field.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -551,7 +551,7 @@ document.destroy();
### Filling the combo box field
-This example demonstrates how to fill a combo box field in a PDF document using the `selectedIndex` property of the `PdfComboBoxField` class. The following code snippet shows how to change the selected index in a combo box.
+This example demonstrates how to fill a combo box field in a PDF document using the [selectedIndex](https://ej2.syncfusion.com/documentation/api/pdf/pdfcomboboxfield#get-selectedindex-number---number) property of the [PdfComboBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdfcomboboxfield) class. The following code snippet shows how to change the selected index in a combo box.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -595,7 +595,7 @@ document.destroy();
### Filling the radio button field
-This example demonstrates how to fill a radio button field in a PDF document using the `selectedIndex` property of the `PdfRadioButtonListField` class. The following code snippet illustrates how to change the selected index in a radio button.
+This example demonstrates how to fill a radio button field in a PDF document using the [selectedIndex](https://ej2.syncfusion.com/documentation/api/pdf/pdfcomboboxfield#get-selectedindex-number---number) property of the [PdfRadioButtonListField](https://ej2.syncfusion.com/documentation/api/pdf/pdfradiobuttonlistfield) class. The following code snippet illustrates how to change the selected index in a radio button.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -639,7 +639,7 @@ document.destroy();
### Filling the list box field
-This example demonstrates how to fill a list box field in a PDF document using the `selectedIndex` property of the `PdfLoadedListBoxField` class. The following code snippet shows how to change the selected index in a list box.
+This example demonstrates how to fill a list box field in a PDF document using the [selectedIndex](https://ej2.syncfusion.com/documentation/api/pdf/pdflistboxfield#get-selectedindex-number---number) property of the [PdfListBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdflistboxfield) class. The following code snippet shows how to change the selected index in a list box.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -683,7 +683,7 @@ document.destroy();
### Filling the check Box field
-This example demonstrates how to fill a check box field in a PDF document using the `Checked` property of the `PdfCheckBoxField` class. The following code snippet illustrates how to mark a checkbox as selected.
+This example demonstrates how to fill a check box field in a PDF document using the [Checked](https://ej2.syncfusion.com/documentation/api/pdf/pdfcheckboxfield#get-checked-boolean) property of the [PdfCheckBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdfcheckboxfield) class. The following code snippet illustrates how to mark a checkbox as selected.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -727,7 +727,7 @@ document.destroy();
### Filling the signature field
-This example demonstrates how to fill a signature field in a PDF document using the `PdfSignatureField` class. The following code snippet illustrates how to create a signature using PFX data and assign it to the signature field.
+This example demonstrates how to fill a signature field in a PDF document using the [PdfSignatureField](https://ej2.syncfusion.com/documentation/api/pdf/pdfsignaturefield) class. The following code snippet illustrates how to create a signature using PFX data and assign it to the signature field.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -773,7 +773,7 @@ document.destroy();
### Modifying the existing form field in PDF document
-This example demonstrates how to modify an existing form field in a PDF document using the `PdfTextBoxField` class. The following code snippet illustrates how to update the text value, alignment, and default value of a text box field.
+This example demonstrates how to modify an existing form field in a PDF document using the [PdfTextBoxField](https://ej2.syncfusion.com/documentation/api/pdf/pdftextboxfield) class. The following code snippet illustrates how to update the text value, alignment, and default value of a text box field.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -821,7 +821,7 @@ document.destroy();
## Ordering form fields
-This example demonstrates how to organize form fields in an existing PDF document using the `PdfFormFieldsTabOrder`. This sample ensures that fields follow a specific tab order, improving navigation and user experience.
+This example demonstrates how to organize form fields in an existing PDF document using the [PdfFormFieldsTabOrder](https://ej2.syncfusion.com/documentation/api/pdf/pdfformfieldstaborder). This sample ensures that fields follow a specific tab order, improving navigation and user experience.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -917,7 +917,7 @@ document. Destroy();
## Field Auto Naming
-To prevent grouping when adding fields with the same name, you can enable the `fieldAutoNaming` property of `PdfForm` class. Setting fieldAutoNaming to true ensures that each field gets a unique name internally, even if you specify the same name during creation.
+To prevent grouping when adding fields with the same name, you can enable the [fieldAutoNaming](https://ej2.syncfusion.com/documentation/api/pdf/pdfform#get-fieldautonaming-boolean) property of [PdfForm](https://ej2.syncfusion.com/documentation/api/pdf/pdfform) class. Setting fieldAutoNaming to true ensures that each field gets a unique name internally, even if you specify the same name during creation.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -1021,7 +1021,7 @@ document.destroy();
## Removing the form fields from existing PDF document
-This example demonstrates how to remove items from an existing form field in a PDF document using the `remove()` method of the `PdfField` class. The following code snippet illustrates how to access a form field and remove its first item.
+This example demonstrates how to remove items from an existing form field in a PDF document using the [removeField()](https://ej2.syncfusion.com/documentation/api/pdf/pdfform#removefield) method of the [PdfForm](https://ej2.syncfusion.com/documentation/api/pdf/pdfform) class. The following code snippet illustrates how to access a form field and remove its first item.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/HyperLinks.md b/Document-Processing/PDF/PDF-Library/javascript/HyperLinks.md
index 06b8e0bdd1..bc583ce9e2 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/HyperLinks.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/HyperLinks.md
@@ -11,7 +11,7 @@ In PDF, hyperlinks can be added to allow the users to navigate to another part o
## Working with web navigation
-This example demonstrates how to create a web link annotation in a PDF document using the `PdfTextWebLinkAnnotation` class. A web link annotation allows users to navigate to a specified URL directly from the PDF by clicking the annotated text.
+This example demonstrates how to create a web link annotation in a PDF document using the [PdfTextWebLinkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdftextweblinkannotation) class. A web link annotation allows users to navigate to a specified URL directly from the PDF by clicking the annotated text.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -131,7 +131,7 @@ document.destroy();
## Working with external document navigation
-This example demonstrates how to create external navigation in a PDF document using `PdfFileLinkAnnotation` annotations. External navigation allows users to open and navigate to another PDF or an external file from within the current document.
+This example demonstrates how to create external navigation in a PDF document using [PdfFileLinkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdffilelinkannotation) annotations. External navigation allows users to open and navigate to another PDF or an external file from within the current document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -215,7 +215,7 @@ document.destroy();
## Removing hyperlinks
-This example demonstrates how to remove hyperlink annotations from a PDF using Syncfusion’s JavaScript PDF Library. By reviewing each annotation and checking whether it represents a hyperlink, you can remove it using either `remove()` or `removeAt()` methods. This helps clean up outdated or unwanted links while keeping the rest of the document content intact.
+This example demonstrates how to remove hyperlink annotations from a PDF using Syncfusion’s JavaScript PDF Library. By reviewing each annotation and checking whether it represents a hyperlink, you can remove it using either [remove()](https://ej2.syncfusion.com/documentation/api/pdf/pdfannotationcollection#remove) or [removeAt()](https://ej2.syncfusion.com/documentation/api/pdf/pdfannotationcollection#removeat) methods. This helps clean up outdated or unwanted links while keeping the rest of the document content intact.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Image-Extraction.md b/Document-Processing/PDF/PDF-Library/javascript/Image-Extraction.md
index cce2d401ce..871326ea0d 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Image-Extraction.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Image-Extraction.md
@@ -13,7 +13,7 @@ N> For redaction features, you need to install the `@syncfusion/ej2-pdf-data-ext
## Extract images from a PDF
-This code demonstrates how to extract embedded images and their metadata from a PDF using `PdfDataExtractor`. It loads a PDF, retrieves all `PdfEmbeddedImage` entries across pages, accesses the first image's raw byte data, and reads its properties format, page index, occurrence index, bounds, interpolation status, and masking flags before saving/disposing resources by destroying the document.
+This code demonstrates how to extract embedded images and their metadata from a PDF using [PdfDataExtractor](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfdataextractor). It loads a PDF, retrieves all [PdfEmbeddedImage](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfembeddedimage) entries across pages, accesses the first image's raw byte data, and reads its properties format, page index, occurrence index, bounds, interpolation status, and masking flags before saving/disposing resources by destroying the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Images.md b/Document-Processing/PDF/PDF-Library/javascript/Images.md
index a095febe1e..79f277cdb9 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Images.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Images.md
@@ -10,11 +10,11 @@ documentation: UG
The JavaScript PDF supports JPEG and PNG images.
-Images are supported through the `PdfImage` class, which is an abstract base class that provides the common functionality for `PdfBitmap` class.
+Images are supported through the [PdfImage](https://ej2.syncfusion.com/documentation/api/pdf/pdfimage) class, which is an abstract base class that provides the common functionality for [PdfBitmap](https://ej2.syncfusion.com/documentation/api/pdf/pdfbitmap) class.
## Adding image in PDF document
-This example demonstrates how to add an image to a PDF document using the `PdfBitmap` class and the `draw` method of the `PdfImage` class. The image is loaded from a file and drawn at the specified coordinates on the page.
+This example demonstrates how to add an image to a PDF document using the [PdfBitmap](https://ej2.syncfusion.com/documentation/api/pdf/pdfbitmap) class and the [draw](https://ej2.syncfusion.com/documentation/api/pdf/pdfimage#draw) method of the [PdfImage](https://ej2.syncfusion.com/documentation/api/pdf/pdfimage) class. The image is loaded from a file and drawn at the specified coordinates on the page.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -58,7 +58,7 @@ document.destroy();
## Inserting an image in an existing document
-This example demonstrates how to insert an image into an existing PDF document using the `PdfBitmap` class and the `draw` method of the `PdfImage` class. The image is loaded from a file and rendered at the specified position on the selected page.
+This example demonstrates how to insert an image into an existing PDF document using the [PdfBitmap](https://ej2.syncfusion.com/documentation/api/pdf/pdfbitmap) class and the [draw](https://ej2.syncfusion.com/documentation/api/pdf/pdfimage#draw) method of the [PdfImage](https://ej2.syncfusion.com/documentation/api/pdf/pdfimage) class. The image is loaded from a file and rendered at the specified position on the selected page.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -102,7 +102,7 @@ document.destroy();
## Clipping and graphics state
-This example demonstrates how to apply clipping and manage graphics state in a PDF document using the `PdfGraphics` class. The `save` and `restore` methods preserve the current graphics state, while the `setClip` method defines a clipping region to restrict drawing operations, ensuring precise control over rendering.
+This example demonstrates how to apply clipping and manage graphics state in a PDF document using the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. The [save](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#save) and [restore](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#restore) methods preserve the current graphics state, while the [setClip](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#setclip) method defines a clipping region to restrict drawing operations, ensuring precise control over rendering.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -156,7 +156,7 @@ document.destroy();
## Applying transparency and rotation to the image
-This example demonstrates how to apply transparency and rotation to an image in a PDF document using the `PdfGraphics` class. Transparency can be controlled through the graphics state, while rotation is applied by transforming the graphics context before drawing the image, enabling advanced visual effects in the document.
+This example demonstrates how to apply transparency and rotation to an image in a PDF document using the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. Transparency can be controlled through the graphics state, while rotation is applied by transforming the graphics context before drawing the image, enabling advanced visual effects in the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Layers.md b/Document-Processing/PDF/PDF-Library/javascript/Layers.md
index 8a52535a61..9d3256f2a2 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Layers.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Layers.md
@@ -14,7 +14,7 @@ JavaScript PDF provides support to create, add and merge the layers into PDF doc
## Adding layers in a PDF document
-This example demonstrates how to add layers to a PDF document using the `PdfLayer` class. Layers allow you to organize content into separate, optional sections that can be shown or hidden by the user.
+This example demonstrates how to add layers to a PDF document using the [PdfLayer](https://ej2.syncfusion.com/documentation/api/pdf/pdflayer) class. Layers allow you to organize content into separate, optional sections that can be shown or hidden by the user.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -70,7 +70,7 @@ document.save('Output.pdf');
## Adding annotation to layer
-This example demonstrates how to add an annotation to a specific layer in a PDF document using the `PdfLayer` class. Associating annotations with layers allows you to control their visibility dynamically.
+This example demonstrates how to add an annotation to a specific layer in a PDF document using the [PdfLayer](https://ej2.syncfusion.com/documentation/api/pdf/pdflayer) class. Associating annotations with layers allows you to control their visibility dynamically.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -115,7 +115,7 @@ document.destroy();
## Nested layers
-This example demonstrates how to create nested layers in a PDF document using the `PdfLayer` class. Nested layers enable hierarchical organization of content for better control and user experience.
+This example demonstrates how to create nested layers in a PDF document using the [PdfLayer](https://ej2.syncfusion.com/documentation/api/pdf/pdflayer) class. Nested layers enable hierarchical organization of content for better control and user experience.
{% tabs %}
{% highlight c# tabtitle="TypeScript" %}
@@ -175,7 +175,7 @@ document.destroy();
## Removing layers from an existing PDF document
-This example demonstrates how to remove layers from an existing PDF document using the `PdfLayerCollection` class. Removing unnecessary layers helps simplify the document structure.
+This example demonstrates how to remove layers from an existing PDF document using the [PdfLayerCollection](https://ej2.syncfusion.com/documentation/api/pdf/pdflayercollection) class. Removing unnecessary layers helps simplify the document structure.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -219,7 +219,7 @@ document.destroy();
## Lock or unlock layers
-This example demonstrates how to lock or unlock layers in a PDF document using the `PdfLayer` class. Locking layers prevents users from toggling their visibility, ensuring that critical content remains displayed.
+This example demonstrates how to lock or unlock layers in a PDF document using the [PdfLayer](https://ej2.syncfusion.com/documentation/api/pdf/pdflayer) class. Locking layers prevents users from toggling their visibility, ensuring that critical content remains displayed.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Lists.md b/Document-Processing/PDF/PDF-Library/javascript/Lists.md
index 8a32d791b2..1ba0d0f35d 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Lists.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Lists.md
@@ -12,7 +12,7 @@ The PDF allows you list the content in ordered and unordered list. The ordered l
## Adding an ordered list
-This example demonstrates how to create an ordered list in a PDF document using the `PdfOrderedList` class. Ordered lists allow you to present items in a structured, sequential format, typically numbered or lettered, enhancing readability and organization within the PDF content.
+This example demonstrates how to create an ordered list in a PDF document using the [PdfOrderedList](https://ej2.syncfusion.com/documentation/api/pdf/pdforderedlist) class. Ordered lists allow you to present items in a structured, sequential format, typically numbered or lettered, enhancing readability and organization within the PDF content.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -35,7 +35,7 @@ let list: PdfOrderedList = new PdfOrderedList(items, {
indent: 30,
textIndent: 50,
style: PdfNumberStyle.numeric,
- delimiter: ')'
+ delimiter: ')'
});
// Draw the ordered list on the page
list.draw(page, { x: 0, y: 20, width: 500, height: 700 });
@@ -62,7 +62,7 @@ var list: PdfOrderedList = new PdfOrderedList(items, {
indent: 30,
textIndent: 50,
style: ej.pdf.PdfNumberStyle.numeric,
- delimiter: ')'
+ delimiter: ')'
});
// Draw the ordered list on the page
list.draw(page, { x: 0, y: 20, width: 500, height: 700 });
@@ -76,7 +76,7 @@ document.destroy();
## Adding an unordered list
-This example demonstrates how to create an unordered list in a PDF document using the `PdfUnorderedList` class. Unordered lists display items with bullet points instead of numbers, making them ideal for presenting non-sequential information in a clear and organized manner.
+This example demonstrates how to create an unordered list in a PDF document using the [PdfUnorderedList](https://ej2.syncfusion.com/documentation/api/pdf/pdfunorderedlist) class. Unordered lists display items with bullet points instead of numbers, making them ideal for presenting non-sequential information in a clear and organized manner.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -140,7 +140,7 @@ document.destroy();
## Customize list markers
-This example demonstrates how to customize the marker style of an unordered list in a PDF document using the `PdfUnorderedList` class. The marker defines the symbol that appears before each list item. You can choose from four predefined marker styles: disk, square, asterisk, and circle. These options allow you to visually distinguish different list types or emphasize specific content, enhancing readability and structure within the document.
+This example demonstrates how to customize the marker style of an unordered list in a PDF document using the [PdfUnorderedList](https://ej2.syncfusion.com/documentation/api/pdf/pdfunorderedlist) class. The marker defines the symbol that appears before each list item. You can choose from four predefined marker styles: disk, square, asterisk, and circle. These options allow you to visually distinguish different list types or emphasize specific content, enhancing readability and structure within the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -244,7 +244,7 @@ document.destroy();
## Creating nested list structures
-This example demonstrates how to create nested list structures in a PDF document using the `PdfUnorderedList` and `PdfOrderedList` classes. Nested lists allow you to organize information hierarchically by placing one list inside another. This is useful when representing multi‑level data, outlining topics with sub points, or grouping related items clearly.
+This example demonstrates how to create nested list structures in a PDF document using the [PdfUnorderedList](https://ej2.syncfusion.com/documentation/api/pdf/pdfunorderedlist) and [PdfOrderedList](https://ej2.syncfusion.com/documentation/api/pdf/pdforderedlist) classes. Nested lists allow you to organize information hierarchically by placing one list inside another. This is useful when representing multi‑level data, outlining topics with sub points, or grouping related items clearly.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -292,7 +292,7 @@ document.destroy();
## List pagination
-This example shows how long lists automatically continue onto the next page when drawn using the `PdfUnorderedList` class. By applying a `PdfLayoutFormat`, the layout engine handles page breaks smoothly while preserving markers, indentation, and nested levels. This ensures consistent rendering of multi‑page or dynamically generated list content.
+This example shows how long lists automatically continue onto the next page when drawn using the [PdfUnorderedList](https://ej2.syncfusion.com/documentation/api/pdf/pdfunorderedlist) class. By applying a [PdfLayoutFormat](https://ej2.syncfusion.com/documentation/api/pdf/pdflayoutformat), the layout engine handles page breaks smoothly while preserving markers, indentation, and nested levels. This ensures consistent rendering of multi‑page or dynamically generated list content.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Merge-Document.md b/Document-Processing/PDF/PDF-Library/javascript/Merge-Document.md
index 2e1b6b4e74..62fb2bc11d 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Merge-Document.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Merge-Document.md
@@ -11,7 +11,7 @@ The PDF provides support to merge multiple PDF documents into a single file and
## Importing pages
-This section explains how to import a range of pages from a source PDF into a destination document using the `importPageRange` method.
+This section explains how to import a range of pages from a source PDF into a destination document using the [importPageRange](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#importpagerange) method.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -47,7 +47,7 @@ destination.destroy();
## Importing pages from multiple documents
-This section demonstrates how to import multiple pages from a source PDF into a destination document at a specified position using the `importPageRange` method and `PdfPageImportOptions`. This is useful for merging selected page ranges from different PDFs into one document.
+This section demonstrates how to import multiple pages from a source PDF into a destination document at a specified position using the [importPageRange](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#importpagerange) method and [PdfPageImportOptions](https://ej2.syncfusion.com/documentation/api/pdf/pdfpageimportoptions). This is useful for merging selected page ranges from different PDFs into one document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -111,7 +111,7 @@ sourceDocument2.destroy();
## Optimizing PDF resources when merging PDF documents
-Imports a page from a source PDF into a destination document at a specific index with group form fields, rotation and resource optimization using `PdfPageImportOptions` class.
+Imports a page from a source PDF into a destination document at a specific index with group form fields, rotation and resource optimization using [PdfPageImportOptions](https://ej2.syncfusion.com/documentation/api/pdf/pdfpageimportoptions) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Open-and-save-PDF-files.md b/Document-Processing/PDF/PDF-Library/javascript/Open-and-save-PDF-files.md
index 4d7acf12b5..f386c1633d 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Open-and-save-PDF-files.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Open-and-save-PDF-files.md
@@ -12,7 +12,7 @@ domainurl: ##DomainURL##
## Opening an existing PDF document
-Open an existing PDF document using the `PdfDocument` class with the specified PDF data.
+Open an existing PDF document using the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class with the specified PDF data.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -31,7 +31,7 @@ The PdfDocument constructor can accept PDF data in either Base64 string or Uint8
### Using Base64 String
-Open an existing PDF document using the `PdfDocument` class with the specified PDF data as Base64 string.
+Open an existing PDF document using the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class with the specified PDF data as Base64 string.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -50,7 +50,7 @@ var document = new ej.pdf.PdfDocumentPdfDocument(data);
### Using Uint8Array
-Open an existing PDF document using the `PdfDocument` class with the specified PDF data as Uint8Array.
+Open an existing PDF document using the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class with the specified PDF data as Uint8Array.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -67,7 +67,7 @@ let document= new ej.pdf.PdfDocument(binaryData);
## Opening an encrypted PDF document with password
-Open an encrypted PDF document using the `PdfDocument` class by providing the correct password.
+Open an encrypted PDF document using the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class by providing the correct password.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -82,7 +82,7 @@ var document = new ej.pdf.PdfDocument(data, 'password');
## Save and download a PDF document in browser environment
-Save and download the PDF document using the `save` method of `PdfDocument` class with the specified file name.
+Save and download the PDF document using the [save](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#save) method of [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class with the specified file name.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -103,7 +103,7 @@ document.save('output.pdf');
## Saving a PDF document to byte array
-Save the modified PDF document to the specified byte array using the `save` method available in `PdfDocument` class.
+Save the modified PDF document to the specified byte array using the [save](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#save) method available in [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -124,7 +124,7 @@ var data = document.save();
## Closing a document
-After the document manipulation and save operation are completed, you should close the instance of `PdfDocument`, in order to release all the memory consumed by PDF DOM. The following code example illustrates how to destroy a `PdfDocument` instance.
+After the document manipulation and save operation are completed, you should close the instance of [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument), in order to release all the memory consumed by PDF DOM. The following code example illustrates how to destroy a [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) instance.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/PDF-document.md b/Document-Processing/PDF/PDF-Library/javascript/PDF-document.md
index 1ed012ce1a..7cefd05480 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/PDF-document.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/PDF-document.md
@@ -11,7 +11,7 @@ The PDF library provides support to create, read, and manipulate PDF documents,
## Adding the document settings
-This example shows how to configure custom page settings before adding a page to a PDF document. It creates a `PdfPageSettings` instance, applies margins, page size and sets the orientation.
+This example shows how to configure custom page settings before adding a page to a PDF document. It creates a [PdfPageSettings](https://ej2.syncfusion.com/documentation/api/pdf/pdfpagesettings) instance, applies margins, page size and sets the orientation.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -162,7 +162,7 @@ document.destroy();
## Performing incremental update for PDF document
-The `isIncrementalUpdate` property allows you to check if the PDF document supports incremental updates, which can improve performance during modifications by appending changes rather than rewriting the entire document.
+The [isIncrementalUpdate](https://ej2.syncfusion.com/documentation/api/pdf/pdffilestructure#get-isincrementalupdate-boolean) property allows you to check if the PDF document supports incremental updates, which can improve performance during modifications by appending changes rather than rewriting the entire document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -210,7 +210,7 @@ document.destroy();
## Flatten annotations and form fields
-The `flatten` property allows you to convert all annotations and form fields in a PDF into static page content, removing interactivity while preserving their visual appearance.
+The [flatten](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#get-flatten-boolean) property allows you to convert all annotations and form fields in a PDF into static page content, removing interactivity while preserving their visual appearance.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/PDF-pages.md b/Document-Processing/PDF/PDF-Library/javascript/PDF-pages.md
index 686f9a85c7..11b083a7b2 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/PDF-pages.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/PDF-pages.md
@@ -13,7 +13,7 @@ N> The PDF page is created using the default settings, which include A4 page siz
## Adding a new page to the document
-The following code sample demonstrates how to add a `PdfPage` to a PDF document. When multiple pages are added, each new page is appended to the end of the document.
+The following code sample demonstrates how to add a [PdfPage](https://ej2.syncfusion.com/documentation/api/pdf/pdfpage) to a PDF document. When multiple pages are added, each new page is appended to the end of the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -45,7 +45,7 @@ document.destroy();
## Adding margin to the PDF pages
-The `PdfPageSettings` class is used to define properties such as margins, orientation, rotation, and page size. In this example, margins are set using the `PdfMargins` class to ensure consistent spacing around the page content. These settings can be applied when creating sections or pages in the PDF for precise layout control.
+The [PdfPageSettings](https://ej2.syncfusion.com/documentation/api/pdf/pdfpagesettings) class is used to define properties such as margins, orientation, rotation, and page size. In this example, margins are set using the [PdfMargins](https://ej2.syncfusion.com/documentation/api/pdf/pdfmargins) class to ensure consistent spacing around the page content. These settings can be applied when creating sections or pages in the PDF for precise layout control.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -80,7 +80,7 @@ N> The creation default margin is set to 40 points, ensuring uniform spacing bet
## Adding sections with different page settings
-This example demonstrates how to add sections with different page settings in a PDF document. It shows how to configure rotation, orientation, margins, and page size using `PdfPageSettings`. The `PdfSection` class is used to apply unique page customizations within a single PDF document.
+This example demonstrates how to add sections with different page settings in a PDF document. It shows how to configure rotation, orientation, margins, and page size using [PdfPageSettings](https://ej2.syncfusion.com/documentation/api/pdf/pdfpagesettings). The [PdfSection](https://ej2.syncfusion.com/documentation/api/pdf/pdfsection) class is used to apply unique page customizations within a single PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -208,7 +208,7 @@ document.destroy();
## Get number of pages from a PDF document
-This example demonstrates how to retrieve the total number of pages in a PDF document using the `pageCount` property of the `PdfDocument` class. The page count returns an integer value representing the number of pages currently in the document.
+This example demonstrates how to retrieve the total number of pages in a PDF document using the [pageCount](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#get-pagecount-number) property of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class. The page count returns an integer value representing the number of pages currently in the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -235,7 +235,7 @@ document.destroy();
## Rearranging pages in an existing document
-This example demonstrates how to rearrange the pages in an existing PDF document using the `reorderPages` method of the `PdfDocument` class. The method accepts an array of page indices that defines the new order of pages within the document.
+This example demonstrates how to rearrange the pages in an existing PDF document using the [reorderPages](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#reorderpages) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class. The method accepts an array of page indices that defines the new order of pages within the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -267,7 +267,7 @@ document.destroy();
## Removing pages from a document
-This example demonstrates how to remove a page from a PDF document using the `removePage` method of the `PdfDocument` class. The method takes the zero-based index of the page to be removed, effectively deleting that page from the document.
+This example demonstrates how to remove a page from a PDF document using the [removePage](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#removepage) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class. The method takes the zero-based index of the page to be removed, effectively deleting that page from the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -305,7 +305,7 @@ document.destroy();
## Add rotated PDF pages
-This example demonstrates how to rotate a PDF page using the `rotation` property of the `PdfPageSettings` class. The property accepts a value from the `PdfRotationAngle` enumeration, such as angle180, to specify the rotation angle applied to the page.
+This example demonstrates how to rotate a PDF page using the [rotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfpagesettings#get-rotation-pdfrotationangle) property of the [PdfPageSettings](https://ej2.syncfusion.com/documentation/api/pdf/pdfpagesettings) class. The property accepts a value from the [PdfRotationAngle](https://ej2.syncfusion.com/documentation/api/pdf/pdfrotationangle) enumeration, such as angle180, to specify the rotation angle applied to the page.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -353,7 +353,7 @@ document.destroy();
## Rotating an existing PDF page
-This example demonstrates how to rotate an existing PDF page using the `rotation` property of the `PdfPage` class. The property accepts a value from the `PdfRotationAngle` enumeration, such as angle180, to specify the rotation angle applied to the selected page.
+This example demonstrates how to rotate an existing PDF page using the [rotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfpage#get-rotation-pdfrotationangle) property of the [PdfPage](https://ej2.syncfusion.com/documentation/api/pdf/pdfpage) class. The property accepts a value from the [PdfRotationAngle](https://ej2.syncfusion.com/documentation/api/pdf/pdfrotationangle) enumeration, such as angle180, to specify the rotation angle applied to the selected page.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -389,7 +389,7 @@ document.destroy();
## Insert a duplicate page at a specific index
-Duplicates a page from a source PDF and inserts it into the destination document at the specified index using `PdfPageImportOptions.targetIndex`. This is useful for reusing or cloning content across documents or within the same document.
+Duplicates a page from a source PDF and inserts it into the destination document at the specified index using [targetIndex](https://ej2.syncfusion.com/documentation/api/pdf/pdfpageimportoptions#get-targetindex-number) property of the [PdfPageImportOptions](https://ej2.syncfusion.com/documentation/api/pdf/pdfpageimportoptions). This is useful for reusing or cloning content across documents or within the same document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Redaction.md b/Document-Processing/PDF/PDF-Library/javascript/Redaction.md
index c9f0a865ee..5d4ba6124a 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Redaction.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Redaction.md
@@ -13,7 +13,7 @@ N> For redaction features, you need to install the `@syncfusion/ej2-pdf-data-ext
## Removing sensitive content from the PDF document
-Redaction permanently removes confidential or sensitive information from a PDF. The `PdfRedactor` and `PdfRedactionRegion` classes allow you to mark specific areas and apply irreversible redaction to the document.
+Redaction permanently removes confidential or sensitive information from a PDF. The [PdfRedactor](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfredactor) and [PdfRedactionRegion](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfredactionregion) classes allow you to mark specific areas and apply irreversible redaction to the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -133,7 +133,7 @@ document.destroy();
## Text appearance on the redacted area
-Customize the redacted region by drawing text or graphics over it, using `PdfRedactionRegion` and `PdfRedactor` to define the area and apply a custom visual appearance to the redaction.
+Customize the redacted region by drawing text or graphics over it, using [PdfRedactionRegion](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfredactionregion) and [PdfRedactor](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfredactor) to define the area and apply a custom visual appearance to the redaction.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Shapes.md b/Document-Processing/PDF/PDF-Library/javascript/Shapes.md
index 00f32c3ef9..abaef36e79 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Shapes.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Shapes.md
@@ -25,7 +25,7 @@ The JavaScript PDF library supports shape rendering exclusively with PDF solid b
### Line
-This example demonstrates how to draw a straight line in a PDF document using the `drawLine` method of the `PdfGraphics` class.
+This example demonstrates how to draw a straight line in a PDF document using the [drawLine](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawLine_Syncfusion_Pdf_Graphics_PdfPen_System_Single_System_Single_System_Single_System_Single_) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -66,7 +66,7 @@ document.destroy();
### Rectangle
-This example demonstrates how to draw a rectangle in a PDF document using the `drawRectangle` method of the `PdfGraphics` class.
+This example demonstrates how to draw a rectangle in a PDF document using the [drawRectangle](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawRectangle_Syncfusion_Pdf_Graphics_PdfPen_System_Single_System_Single_System_Single_System_Single_) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -107,7 +107,7 @@ document.destroy();
### Rounded rectangle
-This example demonstrates how to draw a rounded rectangle in a PDF document using the `drawRoundedRectangle` method of the `PdfGraphics` class.
+This example demonstrates how to draw a rounded rectangle in a PDF document using the `drawRoundedRectangle` method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -165,7 +165,7 @@ document.destroy();
### Ellipse
-This example demonstrates how to draw a ellipse in a PDF document using the `drawEllipse` method of the `PdfGraphics` class.
+This example demonstrates how to draw a ellipse in a PDF document using the [drawEllipse](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawEllipse_Syncfusion_Pdf_Graphics_PdfPen_System_Single_System_Single_System_Single_System_Single_) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -206,7 +206,7 @@ document.destroy();
### Polygon
-This example demonstrates how to draw a polygon shape in a PDF document using the `drawPolygon` method of the `PdfGraphics` class.
+This example demonstrates how to draw a polygon shape in a PDF document using the [drawPolygon](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawPolygon_Syncfusion_Pdf_Graphics_PdfPen_System_Drawing_PointF___) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -251,7 +251,7 @@ document.destroy();
### Pie
-This example demonstrates how to draw a pie in a PDF document using the `drawPie` method of the `PdfGraphics` class.
+This example demonstrates how to draw a pie in a PDF document using the [drawPie](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawPie_Syncfusion_Pdf_Graphics_PdfPen_System_Single_System_Single_System_Single_System_Single_System_Single_System_Single_) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -292,7 +292,7 @@ document.destroy();
### Arc
-This example demonstrates how to draw a arc in a PDF document using the `drawArc` method of the `PdfGraphics` class.
+This example demonstrates how to draw a arc in a PDF document using the [drawArc](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawArc_Syncfusion_Pdf_Graphics_PdfPen_System_Single_System_Single_System_Single_System_Single_System_Single_System_Single_) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -333,7 +333,7 @@ document.destroy();
### Bezier
-This example demonstrates how to draw a bezier in a PDF document using the `drawBezier` method of the `PdfGraphics` class.
+This example demonstrates how to draw a bezier in a PDF document using the [drawBezier](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_DrawBezier_Syncfusion_Pdf_Graphics_PdfPen_System_Single_System_Single_System_Single_System_Single_System_Single_System_Single_System_Single_System_Single_) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -374,7 +374,7 @@ document.destroy();
### Path
-This example demonstrates how to draw a path in a PDF document using the `drawPath` method of the `PdfGraphics` class.
+This example demonstrates how to draw a path in a PDF document using the [drawPath](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawpath) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Split-Documents.md b/Document-Processing/PDF/PDF-Library/javascript/Split-Documents.md
index 78c1209f64..2a1488c2c7 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Split-Documents.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Split-Documents.md
@@ -12,7 +12,7 @@ The PDF library supports splitting PDF file into single-page or multiple-page PD
## Splitting a PDF file into individual
-The PDF library allows splitting the pages of an existing PDF document into multiple individual PDF documents using `split` method of the `PdfDocument` class.
+The PDF library allows splitting the pages of an existing PDF document into multiple individual PDF documents using [split](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#split) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -51,7 +51,7 @@ document.destroy();
## Split a range of pages into a separate PDF document
-The PDF library allows splitting a certain range of pages into a separate PDF document using the `splitByPageRanges` method of the `PdfDocument` class.
+The PDF library allows splitting a certain range of pages into a separate PDF document using the [splitByPageRanges](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#splitbypageranges) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -90,7 +90,7 @@ document.destroy();
## Split by a fixed number of pages into a PDF document
-The PDF library allows splitting by fixed number of pages of an existing PDF document using the `splitByFixedNumber` method of the `PdfDocument` class.
+The PDF library allows splitting by fixed number of pages of an existing PDF document using the [splitByFixedNumber](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#splitbyfixednumber) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) class.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Templates.md b/Document-Processing/PDF/PDF-Library/javascript/Templates.md
index 3efbd1ccf2..bf21bf1aab 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Templates.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Templates.md
@@ -11,7 +11,7 @@ A PDF template is a drawing surface, where contents can be added. All the elemen
## Creating a new PDF template
-This example demonstrates how to create a new PDF template using the `PdfTemplate` class. A PDF template allows you to define reusable graphics or content that can be drawn on multiple pages or annotations within a PDF document.
+This example demonstrates how to create a new PDF template using the [PdfTemplate](https://ej2.syncfusion.com/documentation/api/pdf/pdftemplate) class. A PDF template allows you to define reusable graphics or content that can be drawn on multiple pages or annotations within a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Text-Extraction.md b/Document-Processing/PDF/PDF-Library/javascript/Text-Extraction.md
index 65ea05078a..b40430a5cb 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Text-Extraction.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Text-Extraction.md
@@ -13,7 +13,7 @@ N> For redaction features, you need to install the `@syncfusion/ej2-pdf-data-ext
## Working with basic text extraction
-This example demonstrates how to extract text from a PDF page using the `PdfDataExtractor` class. Basic text extraction allows retrieving plain text content from a PDF document.
+This example demonstrates how to extract text from a PDF page using the [PdfDataExtractor](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfdataextractor) class. Basic text extraction allows retrieving plain text content from a PDF document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -87,7 +87,7 @@ document.destroy();
## Working with layout based text extraction
-This example demonstrates how to extract text from a PDF page using the `PdfDataExtractor` class with layout-based options.
+This example demonstrates how to extract text from a PDF page using the [PdfDataExtractor](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfdataextractor) class with layout-based options.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -128,7 +128,7 @@ N> Layout based text extraction may take additional processing time when compare
### Working with lines
-This example demonstrates how to extract text from a PDF page based on individual lines using the `extractTextLines` method. This approach provides a collection of `TextLine` objects, allowing precise access to text content line by line.
+This example demonstrates how to extract text from a PDF page based on individual lines using the [extractTextLines](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfdataextractor#extracttextlines) method. This approach provides a collection of [TextLine](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/textline) objects, allowing precise access to text content line by line.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -199,7 +199,7 @@ document.destroy();
### Working with words
-This example demonstrates how to extract words from a PDF document using the `extractTextLines` method. Each line contains a collection of `TextWord` objects.
+This example demonstrates how to extract words from a PDF document using the [extractTextLines](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfdataextractor#extracttextlines) method. Each line contains a collection of [TextWord](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/textword) objects.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -268,7 +268,7 @@ document.destroy();
### Working with characters
-You can retrieve a single character and its properties, including bounds, font name, font size, and text color, using the `extractTextLines` method. Refer to the code sample below.
+You can retrieve a single character and its properties, including bounds, font name, font size, and text color, using the [extractTextLines](https://ej2.syncfusion.com/documentation/api/pdf-data-extract/pdfdataextractor#extracttextlines) method. Refer to the code sample below.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Text.md b/Document-Processing/PDF/PDF-Library/javascript/Text.md
index 9d59df6777..6af826d45c 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Text.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Text.md
@@ -11,7 +11,7 @@ The PDF provides support to add and format text in PDF documents using various f
## Drawing text in a new document
-This example demonstrates how to draw text in a new PDF document using the `drawString` method of the `PdfGraphics` class. The method allows you to specify the text content, font, brush, and position to render the text on a page within the document.
+This example demonstrates how to draw text in a new PDF document using the [drawString](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawstring) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. The method allows you to specify the text content, font, brush, and position to render the text on a page within the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -54,7 +54,7 @@ N> Due to the inherent limitations of the PDF specification and the rendering c
## The importance of saving and restoring graphics state in PDF content rendering
-This example demonstrates the importance of saving and restoring the graphics state when rendering PDF content using the `save` and `restore` methods of the `PdfGraphics` class. These methods ensure that any transformations, such as scaling, rotation, or color changes, applied to the graphics context do not affect subsequent drawing operations, maintaining consistent layout and design.
+This example demonstrates the importance of saving and restoring the graphics state when rendering PDF content using the [save](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_Save) and [restore](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#Syncfusion_Pdf_Graphics_PdfGraphics_Restore_Syncfusion_Pdf_Graphics_PdfGraphicsState_) methods of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. These methods ensure that any transformations, such as scaling, rotation, or color changes, applied to the graphics context do not affect subsequent drawing operations, maintaining consistent layout and design.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -107,7 +107,7 @@ document.destroy();
## Drawing text in an existing document
-This example demonstrates how to draw text in an existing PDF document using the `drawString` method of the `PdfGraphics` class. The method allows you to specify the text content, font, brush, and position to render the text on a selected page within the document.
+This example demonstrates how to draw text in an existing PDF document using the [drawString](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawstring) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. The method allows you to specify the text content, font, brush, and position to render the text on a selected page within the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -152,7 +152,7 @@ JavaScript PDF allows you to add text to the PDF document using the following ty
### Draw text using standard fonts
-This example demonstrates how to draw text using standard fonts in a PDF document by utilizing the `drawString` method of the `PdfGraphics` class along with predefined font types from the `PdfStandardFont` class. Standard fonts such as Helvetica, TimesRoman, or Courier can be specified to render text with consistent and widely supported typography.
+This example demonstrates how to draw text using standard fonts in a PDF document by utilizing the [drawString](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawstring) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class along with predefined font types from the [PdfStandardFont](https://ej2.syncfusion.com/documentation/api/pdf/pdfstandardfont) class. Standard fonts such as Helvetica, TimesRoman, or Courier can be specified to render text with consistent and widely supported typography.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -189,7 +189,7 @@ document.destroy();
### Draw text using TrueType fonts
-This example demonstrates how to draw text using TrueType fonts in a PDF document by utilizing the `drawString` method of the `PdfGraphics` class along with a `PdfTrueTypeFont` instance. The TrueType font provides enhanced text rendering with support for custom font styles.
+This example demonstrates how to draw text using TrueType fonts in a PDF document by utilizing the [drawString](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawstring) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class along with a [PdfTrueTypeFont](https://ej2.syncfusion.com/documentation/api/pdf/pdftruetypefont) instance. The TrueType font provides enhanced text rendering with support for custom font styles.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -226,7 +226,7 @@ document.destroy();
### Draw text using CJK fonts
-This example demonstrates how to draw text using fonts in a PDF document by utilizing the `drawString` method of the `PdfGraphics` class. The fonts provide support for Chinese, Japanese, and Korean characters, ensuring accurate rendering of multilingual text in the document.
+This example demonstrates how to draw text using fonts in a PDF document by utilizing the [drawString](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawstring) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. The fonts provide support for Chinese, Japanese, and Korean characters, ensuring accurate rendering of multilingual text in the document.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -263,7 +263,7 @@ document.destroy();
## Drawing text using different text alignment
-This example demonstrates how to draw text in a PDF document using different text alignment options by utilizing the `PdfStringFormat` class. The alignment can be set through the alignment property, which supports values such as Left, Center, and Right, allowing precise control over the positioning of text within the page or a defined rectangle.
+This example demonstrates how to draw text in a PDF document using different text alignment options by utilizing the [PdfStringFormat](https://ej2.syncfusion.com/documentation/api/pdf/pdfstringformat) class. The alignment can be set through the alignment property, which supports values such as Left, Center, and Right, allowing precise control over the positioning of text within the page or a defined rectangle.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -411,7 +411,7 @@ document.destroy();
## Embedded font
-This example shows how to embed fonts using `PdfDocument.embedFont()` method to ensure consistent text rendering across all platforms. The library supports embedding `PdfStandardFont`, `PdfCjkStandardFont`, and `PdfTrueTypeFont` for reliable Unicode text display. After embedding, the font can be applied through `PdfFont.getFont()` method, allowing precise control over size and style. Additionally, using embedded fonts helps reduce overall PDF size, since the font dictionary is not duplicated for each usage—ensuring cleaner and more efficient output.
+This example shows how to embed fonts using [embedFont()](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument#embedfont) method of the [PdfDocument](https://ej2.syncfusion.com/documentation/api/pdf/pdfdocument) to ensure consistent text rendering across all platforms. The library supports embedding [PdfStandardFont](https://ej2.syncfusion.com/documentation/api/pdf/pdfstandardfont), [PdfCjkStandardFont](https://ej2.syncfusion.com/documentation/api/pdf/pdfcjkstandardfont), and [PdfTrueTypeFont](https://ej2.syncfusion.com/documentation/api/pdf/pdftruetypefont) for reliable Unicode text display. Additionally, using embedded fonts helps reduce overall PDF size, since the font dictionary is not duplicated for each usage—ensuring cleaner and more efficient output.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Library/javascript/Watermarks.md b/Document-Processing/PDF/PDF-Library/javascript/Watermarks.md
index c35d715535..adfc3b0f8d 100644
--- a/Document-Processing/PDF/PDF-Library/javascript/Watermarks.md
+++ b/Document-Processing/PDF/PDF-Library/javascript/Watermarks.md
@@ -11,7 +11,7 @@ The PDF provides support to add watermark or stamp with text and images in the P
## Adding text watermark in PDF document
-This example demonstrates how to add a text watermark using standard fonts in a PDF document by utilizing the `drawString` method of the `PdfGraphics` class along with predefined font types from the `PdfStandardFont` class. The transparency can be applied to the text using `setTransparency` method and rotation can be applied using `rotateTransform` method.
+This example demonstrates how to add a text watermark using standard fonts in a PDF document by utilizing the [drawString](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawstring) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class along with predefined font types from the [PdfStandardFont](https://ej2.syncfusion.com/documentation/api/pdf/pdfstandardfont) class. The transparency can be applied to the text using [setTransparency](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#settransparency) method and rotation can be applied using [rotateTransform](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#rotatetransform) method.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -71,7 +71,7 @@ document.destroy();
## Adding image watermark in PDF document
-This example demonstrates how to add a image watermark using standard fonts in a PDF document by utilizing the `drawImage` method of the `PdfGraphics` class. The transparency can be applied to the images using `setTransparency` method.
+This example demonstrates how to add a image watermark using standard fonts in a PDF document by utilizing the [drawImage](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#drawimage) method of the [PdfGraphics](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics) class. The transparency can be applied to the images using [setTransparency](https://ej2.syncfusion.com/documentation/api/pdf/pdfgraphics#settransparency) method.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -126,7 +126,7 @@ document.destroy();
## Adding watermark annotation
-This example demonstrates how to add a text watermark to an existing PDF document using the `PdfWatermarkAnnotation` class. The annotation allows you to specify the watermark text, color, opacity, and position to visually mark the document as confidential or draft.
+This example demonstrates how to add a text watermark to an existing PDF document using the [PdfWatermarkAnnotation](https://ej2.syncfusion.com/documentation/api/pdf/pdfwatermarkannotation) class. The annotation allows you to specify the watermark text, color, opacity, and position to visually mark the document as confidential or draft.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
@@ -174,7 +174,7 @@ document.destroy();
## Removing watermark annotation
-Remove a watermark annotation from the page's annotation collection using the `PdfAnnotationCollection` of the loaded page. The following example demonstrates how to achieve this.
+Remove a watermark annotation from the page's annotation collection using the [PdfAnnotationCollection](https://ej2.syncfusion.com/documentation/api/pdf/pdfannotationcollection) of the loaded page. The following example demonstrates how to achieve this.
{% tabs %}
{% highlight typescript tabtitle="TypeScript" %}
diff --git a/Document-Processing/PDF/PDF-Viewer/angular/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/angular/getting-started-with-server-backed.md
index 0e898cf84d..f13907edf9 100644
--- a/Document-Processing/PDF/PDF-Viewer/angular/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/angular/getting-started-with-server-backed.md
@@ -1,87 +1,70 @@
---
-layout: post
-title: Getting started with Angular PDF Viewer (server-backed) | Syncfusion
-description: Learn how to set up and use the Syncfusion Angular PDF Viewer in server-backed mode, including module injection and web service configuration.
+title: Setup for Server-Backed Angular PDF Viewer | Syncfusion
+description: Learn how to set up and run the Syncfusion Angular PDF Viewer in server-backed mode using Essential JS 2.
platform: document-processing
control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started with Angular PDF Viewer (server-backed)
+# Getting started with Angular PDF Viewer (Server-Backed)
-This guide explains how to create the PDF Viewer component and configure its features in Angular 21 using the Essential JS 2 in server-backed mode.
+This guide explains how to create and run the **Angular PDF Viewer in server-backed mode**. In this mode, PDF rendering is handled by a server-side web service, while the Angular application acts as the client.
-> Note: This guide supports **Angular 21** and other recent Angular versions. For detailed compatibility with other Angular versions, please refer to the [Angular version support matrix](https://ej2.syncfusion.com/angular/documentation/system-requirement#angular-version-compatibility). Starting from Angular 19, standalone components are the default, and this guide reflects that architecture.
+> **Note:** This guide supports **Angular 21** and other recent Angular versions. From Angular 19 onwards, standalone components are the default, and this documentation follows that architecture.
+
+---
## Prerequisites
-Ensure your development environment meets the [System Requirements for Syncfusion® Angular UI Components](https://ej2.syncfusion.com/angular/documentation/system-requirement).
+Ensure that your development environment meets the [Syncfusion Angular system requirements](https://ej2.syncfusion.com/angular/documentation/system-requirement).
+
+---
-## Set up the development environment
+## Setup Angular Environment
-You can use the [`Angular CLI`](https://github.com/angular/angular-cli) to setup your Angular applications.
-To install the latest Angular CLI globally use the following command.
+### Install Angular CLI
+
+Install the latest Angular CLI globally:
```bash
npm install -g @angular/cli
```
-> **Angular 21 Standalone Architecture:** Standalone components are the default in Angular 21. This guide uses the modern standalone architecture. If you need more information about the standalone architecture, refer to the [Standalone Guide](https://ej2.syncfusion.com/angular/documentation/getting-started/angular-standalone).
-
-### Installing a specific version
-
-To install a particular version of Angular CLI, use:
+To install a specific version:
```bash
npm install -g @angular/cli@21.0.0
```
+---
+
## Create an Angular application
-Start a new Angular application using the Angular CLI command as follows.
+Create a new Angular application using the CLI:
```bash
ng new my-app
-```
-
-* This command will prompt you to configure settings like enabling Angular routing and choosing a stylesheet format.
-
-
-
-* By default, a CSS-based application is created. Use SCSS if required:
-
-```bash
-ng new my-app --style=scss
-```
-
-* During project setup, when prompted for the Server-side rendering (SSR) option, choose the appropriate configuration.
-
-
-
-* Select the required AI tool or 'none' if you do not need any AI tool.
-
-
-
-* Navigate to your newly created application directory:
-
-```bash
cd my-app
```
-> Note: In Angular 19 and below, it uses `app.component.ts`, `app.component.html`, `app.component.css` etc. In Angular 20+, the CLI generates a simpler structure with `src/app/app.ts`, `app.html`, and `app.css` (no `.component.` suffixes).
+> **Note:** In Angular 20 and later, the CLI generates `app.ts`, `app.html`, and `app.css` instead of `app.component.*` files.
+
+---
-## Installing Syncfusion® PDF Viewer package
+## Installing Syncfusion® PDF Viewer package
-All the available Essential JS 2 packages are published in the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. To install PDF Viewer component, use the following command.
+Install the Syncfusion Angular PDF Viewer package from npm:
```bash
npm install @syncfusion/ej2-angular-pdfviewer --save
```
-## Import Syncfusion CSS styles
+---
+
+## Adding CSS references
-Add the component CSS in the `~/src/styles.css` file, as shown below:
+Add the required Syncfusion styles to the `src/styles.css` file:
```css
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@@ -91,16 +74,20 @@ Add the component CSS in the `~/src/styles.css` file, as shown below:
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css';
```
+---
+
## Add the PDF Viewer component
-Add the Angular PDF Viewer by using `` selector in `template` section of the `src/app/app.ts` file to render the PDF Viewer component.
+To load and display a PDF using server-backed mode, only the **PdfViewerModule** is required. The PDF Viewer communicates with a server-side web service through the `serviceUrl` property.
+
+Update `src/app/app.ts` as shown below:
-```typescript
-import { Component, OnInit } from '@angular/core';
+```ts
+import { Component } from '@angular/core';
import { PdfViewerModule, LinkAnnotationService, BookmarkViewService,
MagnificationService, ThumbnailViewService, ToolbarService,
NavigationService, TextSearchService, TextSelectionService,
@@ -109,118 +96,86 @@ import { PdfViewerModule, LinkAnnotationService, BookmarkViewService,
@Component({
selector: 'app-root',
- // specifies the template string for the PDF Viewer component
- template: `
-
-
-
`,
- imports: [ PdfViewerModule ],
- providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
+ standalone: true,
+ imports: [PdfViewerModule],
+ providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
ThumbnailViewService, ToolbarService, NavigationService,
TextSearchService, TextSelectionService, PrintService,
AnnotationService, FormDesignerService, FormFieldsService, PageOrganizerService]
+ template: `
+
+
+ `
})
-export class App implements OnInit {
- public service = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer';
- public document: string = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
- ngOnInit(): void {
- }
+export class App {
+
+ // Specifies the URL of the server-side PDF Viewer web service.
+ // This endpoint handles PDF rendering and processing.
+ public serviceUrl: string =
+ 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer';
+
+ // Specifies the path or name of the PDF document to be loaded.
+ public documentPath: string =
+ 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
}
```
-N> The Web API endpoint at https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/ used in the `serviceUrl` property is provided for demonstration and evaluation only. For production, host a dedicated web service with the appropriate server configuration. Reusable deployment options include the [GitHub web service example](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) and the official [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server). Standalone mode is strongly recommended for production deployments.
+
+> **Note:** The service URL shown above is for evaluation purposes only. For production, host your own PDF Viewer web service.
+
+---
## Run the application
-Use the following command to run the application in browser.
+Run the Angular application using the CLI:
-```javascript
+```bash
ng serve --open
```
-The output will appear as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-{% include code-snippet/pdfviewer/angular/getting-started-cs1/src/app.ts %}
-{% endhighlight %}
-
-{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/pdfviewer/angular/getting-started-cs1/src/main.ts %}
-{% endhighlight %}
-{% endtabs %}
+The application will start and connect to the configured PDF Viewer web service.
+---
{% previewsample "/document-processing/samples/pdfviewer/angular/getting-started-cs1" %}
-> For PDF Viewer serviceUrl creation, follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es6/how-to/create-pdfviewer-service)
-
-## Module injection
-
-To enable additional features, inject the required modules. The following modules extend the PDF Viewer's functionality:
-
-* `LinkAnnotationService`: Enables hyperlink navigation.
-* `BookmarkViewService`: Displays and navigates document bookmarks.
-* `MagnificationService`: Provides zoom in/out operations.
-* `NavigationService`: Enables page navigation.
-* `TextSelectionService`: Enables text selection.
-* `ThumbnailViewService`: Displays page thumbnails for navigation.
-* `ToolbarService`: Enables the built-in toolbar UI.
-* `PrintService`: Enables printing.
-* `AnnotationService`: Enables annotation features.
-* `TextSearchService`: Enables text search.
-* `FormFieldsService`: Enables form field support.
-* `FormDesignerService`: Enables designing and editing of form fields.
-* `PageOrganizerService`: Enables page organization features.
-
-Inject modules using the `providers` property in `@NgModule`.
-
-N> To create a PDF Viewer `serviceUrl`, follow the steps in [Create PDF Viewer service](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es6/how-to/create-pdfviewer-service).
+---
## Run the PDF Viewer web service
-1. Download the sample from the [web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices).
-
-2. Navigate to the `ASP.NET Core` folder and open it in a command prompt.
-
-3. Navigate to the appropriate subfolder based on your .NET version:
+To host your own PDF Viewer service:
- - .NET 6.0 → `PdfViewerWebService_6.0`
- - .NET 8.0 → `PdfViewerWebService_8.0`
+1. Download the web service sample from GitHub:
+ [GitHub Web Service Sample](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices)
+2. Navigate to the appropriate folder based on your .NET version:
+ - .NET 6.0 → [PdfViewerWebService_6.0](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_6.0)
+ - .NET 8.0 → [PdfViewerWebService_8.0](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_8.0)
+3. Restore dependencies and run the service:
-4. Restore packages:
-
-```
- dotnet restore
+```bash
+dotnet restore
+dotnet run
```
-5. Run the web service:
+The service will run at `https://localhost:7255/pdfviewer`. Configure this URL in the `serviceUrl` property.
-```
- dotnet run
-```
+> **Note:** In server-backed mode, `pdfium.js` and `pdfium.wasm` are not required because all PDF rendering happens on the server.
-6. The PDF Viewer server instance runs at `https://localhost:7255`. Navigate to `https://localhost:7255/pdfviewer` to see the default GET response. Bind this URL to the `serviceUrl` property of the PDF Viewer as shown below.
+---
- ```javascript
- export class App implements OnInit {
- public service = 'https://localhost:7255/pdfviewer';
- public document = 'PDF_Succinctly.pdf';
- ngOnInit(): void {
- }
- ```
+## Angular version compatibility and older versions
-N> In server-backed mode, do not include `pdfium.js` and `pdfium.wasm`. Unlike standalone mode, the server-backed PDF Viewer renders PDFs on the server; these files and their copy steps are not required for deployment in this context.
+For detailed compatibility information, refer to the [Angular version support matrix](https://ej2.syncfusion.com/angular/documentation/system-requirement#angular-version-compatibility).
-N> Refer to the [Angular PDF Viewer feature tour](https://www.syncfusion.com/pdf-viewer-sdk) for an overview of capabilities. Explore the [Angular PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/angular/#/tailwind3/pdfviewer/default.html) to see core features in action.
+* [Create a Standalone PDF Viewer in Angular 17 and above with-no-standalone-flag](./how-to/create-a-standalone-pdf-viewer-in-angular-17-and-above-with-no-standalone-flag).
+* [Create a Standalone PDF Viewer in Angular 17 and above without --no-standalone flag](./how-to/create-a-standalone-pdf-viewer-in-angular-17-and-above-without-no-standalone-flag).
+* [Create a Standalone PDF Viewer in Angular 12](./how-to/create-a-standalone-pdf-viewer-in-angular-12)
-N> For hosting the web service on Linux, include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1) package. For AWS environments, consider the NuGet packages listed below.
+For older Angular versions, refer to the respective Angular PDF Viewer guides.
-| **Amazon Web Services (AWS)** |**NuGet package name** |
-| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
+---
-[View sample in GitHub](https://github.com/SyncfusionExamples/angular-pdf-viewer-examples/tree/master/Getting%20started%20-%20Server-Back).
+[View sample in GitHub](https://github.com/SyncfusionExamples/angular-pdf-viewer-examples/tree/master/Getting%20started%20-%20Server-Back)
diff --git a/Document-Processing/PDF/PDF-Viewer/angular/getting-started.md b/Document-Processing/PDF/PDF-Viewer/angular/getting-started.md
index cb031dc96a..a5f248a9b4 100644
--- a/Document-Processing/PDF/PDF-Viewer/angular/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/angular/getting-started.md
@@ -1,7 +1,6 @@
---
-layout: post
-title: Getting started Standalone Angular PDF Viewer component | Syncfusion
-description: Checkout and learn about Getting started with Standalone Angular PDF Viewer component of Syncfusion Essential JS 2 and more details.
+title: Setup for Local Development – Angular PDF Viewer | Syncfusion
+description: Learn how to set up and run the Angular Standalone PDF Viewer component using Syncfusion Essential JS 2.
platform: document-processing
control: PDF Viewer
documentation: ug
@@ -10,96 +9,64 @@ domainurl: ##DomainURL##
# Getting started with Angular Standalone PDF Viewer
-This section explains the steps required to create a simple Standalone Angular PDF Viewer and demonstrates the basic usage of the PDF Viewer control in an Angular 21.
+This guide explains how to create a simple **Angular Standalone PDF Viewer** application and demonstrates the basic usage of the Syncfusion PDF Viewer component.
-> Note: This guide supports **Angular 21** and other recent Angular versions. For detailed compatibility with other Angular versions, please refer to the [Angular version support matrix](https://ej2.syncfusion.com/angular/documentation/system-requirement#angular-version-compatibility). Starting from Angular 19, standalone components are the default, and this guide reflects that architecture.
+> **Note:** This guide supports **Angular 21** and other recent Angular versions. Starting from Angular 19, standalone components are the default, and this documentation follows that architecture.
-N> For older versions of Angular, see the following links:
-
-* [Create a Standalone PDF Viewer in Angular 17 and above with-no-standalone-flag](./how-to/create-a-standalone-pdf-viewer-in-angular-17-and-above-with-no-standalone-flag).
-* [Create a Standalone PDF Viewer in Angular 17 and above without --no-standalone flag](./how-to/create-a-standalone-pdf-viewer-in-angular-17-and-above-without-no-standalone-flag).
-* [Create a Standalone PDF Viewer in Angular 12](./how-to/create-a-standalone-pdf-viewer-in-angular-12)
+---
## Prerequisites
-Ensure your development environment meets the [System Requirements for Syncfusion® Angular UI Components](https://ej2.syncfusion.com/angular/documentation/system-requirement).
+Ensure that your system meets the [Syncfusion Angular system requirements](https://ej2.syncfusion.com/angular/documentation/system-requirement).
+
+---
## Setup Angular Environment
-You can use the [`Angular CLI`](https://github.com/angular/angular-cli) to setup your Angular applications.
-To install the latest Angular CLI globally use the following command.
+### Install Angular CLI
+
+Install the latest Angular CLI globally:
```bash
npm install -g @angular/cli
```
-> **Angular 21 Standalone Architecture:** Standalone components are the default in Angular 21. This guide uses the modern standalone architecture. If you need more information about the standalone architecture, refer to the [Standalone Guide](https://ej2.syncfusion.com/angular/documentation/getting-started/angular-standalone).
-
-### Installing a specific version
-
-To install a particular version of Angular CLI, use:
+To install a specific version:
```bash
npm install -g @angular/cli@21.0.0
```
+---
+
## Create an Angular Application
-Start a new Angular application using the Angular CLI command as follows.
+Create a new Angular application using the Angular CLI:
```bash
ng new my-app
-```
-
-* This command will prompt you to configure settings like enabling Angular routing and choosing a stylesheet format.
-
-
-
-* By default, a CSS-based application is created. Use SCSS if required:
-
-```bash
-ng new my-app --style=scss
-```
-
-* During project setup, when prompted for the Server-side rendering (SSR) option, choose the appropriate configuration.
-
-
-
-* Select the required AI tool or 'none' if you do not need any AI tool.
-
-
-
-* Navigate to your newly created application directory:
-
-```bash
cd my-app
```
-> Note: In Angular 19 and below, it uses `app.component.ts`, `app.component.html`, `app.component.css` etc. In Angular 20+, the CLI generates a simpler structure with `src/app/app.ts`, `app.html`, and `app.css` (no `.component.` suffixes).
+> **Note:** In Angular 20 and later, the CLI generates `app.ts`, `app.html`, and `app.css` instead of `app.component.*` files.
-## Installing Syncfusion® PDF Viewer package
+---
-All the available Essential® JS 2 packages are published in `npmjs.com` registry.
+## Installing Syncfusion® PDF Viewer package
-* To install PDF Viewer component, use the following command.
+Install the Syncfusion Angular PDF Viewer package from npm:
```bash
npm install @syncfusion/ej2-angular-pdfviewer --save
```
-* Copy the contents of the ej2-pdfviewer-lib folder from ./node_modules/@syncfusion/ej2-pdfviewer/dist to the src/assets directory using the command:
-
-```bash
-cp -R ./node_modules/@syncfusion/ej2-pdfviewer/dist/ej2-pdfviewer-lib src/assets/ej2-pdfviewer-lib
-```
-
-* Confirm that there is an 'ej2-pdfviewer-lib' directory within your `src/assets` directory, housing the assets of the PDF Viewer library.
-
* Validate that your server has been configured to utilize the Content-Type: application/wasm MIME type. Additional information can be found in the [Troubleshooting](./troubleshooting/troubleshooting) section.
-## Adding CSS reference
+---
-Add the Angular PDF Viewer component's styles as given below in `src/styles.css` file.
+## Adding CSS references
+
+Add the required Syncfusion styles to the `src/styles.css` file:
```css
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@@ -109,16 +76,20 @@ Add the Angular PDF Viewer component's styles as given below in `src/styles.css`
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
-@import '../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css';
```
+---
+
## Add the PDF Viewer component
-Add the Angular PDF Viewer by using `` selector in `template` section of the `src/app/app.ts` file to render the PDF Viewer component.
+To load and display a PDF document, only the **PdfViewerModule** is required.
+
+Update `src/app/app.ts` as shown below:
-```typescript
-import { Component, OnInit } from '@angular/core';
+```ts
+import { Component } from '@angular/core';
import { PdfViewerModule, LinkAnnotationService, BookmarkViewService,
MagnificationService, ThumbnailViewService, ToolbarService,
NavigationService, TextSearchService, TextSelectionService,
@@ -127,136 +98,58 @@ import { PdfViewerModule, LinkAnnotationService, BookmarkViewService,
@Component({
selector: 'app-root',
- // specifies the template string for the PDF Viewer component
- template: `
-
-
-
`,
- imports: [ PdfViewerModule ],
- providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
+ standalone: true,
+ imports: [PdfViewerModule],
+ providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
ThumbnailViewService, ToolbarService, NavigationService,
TextSearchService, TextSelectionService, PrintService,
AnnotationService, FormDesignerService, FormFieldsService, PageOrganizerService]
+ template: `
+
+
+ `
})
-export class App implements OnInit {
- public document: string = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
- public resource: string = "https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2-pdfviewer-lib";
- ngOnInit(): void {
- }
-}
-```
-
-### Load PDF Viewer with local resources
-
-To configure the PDF Viewer to use local files for `documentPath` and `resourceUrl` instead of files hosted on a CDN, follow these steps:
-
-**Step 1:** Ensure that your application includes the `ej2-pdfviewer-lib` folder. This folder must contain the `pdfium.js`, `pdfium.wasm` files, and the PDF file that you intend to display. These should be located in the `assets` directory within your project's `src` folder.
-
-**Step 2:** Register the assets folder inside `angular.json`
-```json
-"assets": [
- "src/assets"
-]
-```
+export class App {
-**Step 3:** Assign local file paths to the `documentPath` and `resourceUrl` properties within the PDF Viewer setup. The `documentPath` should refer to your PDF file, while the `resourceUrl` should point to the directory containing the supporting resources.
+ // Specifies the path or Base64 string of the PDF document to be loaded.
+ // You can provide a remote URL or a local file from the assets folder.
+ public documentPath: string =
+ 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-By following these steps, you will configure your PDF Viewer to load the required resources locally. See the code snippet below for reference.
-
-```typescript
- template: `
- `,
-export class AppComponent implements OnInit {
- public document: string = window.location.origin + "/assets/pdfsuccinctly.pdf";
- public resource: string = window.location.origin + "/assets/ej2-pdfviewer-lib";
- }
+ // Specifies the path to the PDFium resource files required by the PDF Viewer.
+ // This points to a CDN-hosted ej2-pdfviewer-lib folder.
+ public resourcesUrl: string =
+ 'https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib';
+}
```
-View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/angular-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
+---
## Run the application
-Use the following command to run the application in browser.
+Run the application using the Angular CLI:
-```javascript
+```bash
ng serve --open
```
-The output will appear as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-import { Component, OnInit } from '@angular/core';
-import { PdfViewerModule, LinkAnnotationService, BookmarkViewService,
- MagnificationService, ThumbnailViewService, ToolbarService,
- NavigationService, TextSearchService, TextSelectionService,
- PrintService, FormDesignerService, FormFieldsService,
- AnnotationService, PageOrganizerService } from '@syncfusion/ej2-angular-pdfviewer';
-
-@Component({
- selector: 'app-root',
- // specifies the template string for the PDF Viewer component
- template: `
-
-
-
`,
- imports: [ PdfViewerModule ],
- providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
- ThumbnailViewService, ToolbarService, NavigationService,
- TextSearchService, TextSelectionService, PrintService,
- AnnotationService, FormDesignerService, FormFieldsService, PageOrganizerService]
-})
-export class AppComponent implements OnInit {
- public document = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
- public resource: string = "https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2-pdfviewer-lib";
- ngOnInit(): void {
- }
-}
-{% endhighlight %}
-
-{% highlight ts tabtitle="main.ts" %}
-import { bootstrapApplication } from '@angular/platform-browser';
-import { appConfig } from './app/app.config';
-import { App } from './app/app';
-
-bootstrapApplication(App, appConfig)
- .catch((err) => console.error(err));
+The PDF document will be rendered in the browser.
-{% endhighlight %}
-{% endtabs %}
+---
{% previewsample "/document-processing/samples/pdfviewer/angular/getting-started-cs1-standalone" %}
-## Module injection
-
-To enable additional features, inject the required modules. The following modules extend the PDF Viewer's functionality:
-
-* `LinkAnnotationService`: Enables hyperlink navigation.
-* `BookmarkViewService`: Displays and navigates document bookmarks.
-* `MagnificationService`: Provides zoom in/out operations.
-* `NavigationService`: Enables page navigation.
-* `TextSelectionService`: Enables text selection.
-* `ThumbnailViewService`: Displays page thumbnails for navigation.
-* `ToolbarService`: Enables the built-in toolbar UI.
-* `PrintService`: Enables printing.
-* `AnnotationService`: Enables annotation features.
-* `TextSearchService`: Enables text search.
-* `FormFieldsService`: Enables form field support.
-* `FormDesignerService`: Enables designing and editing of form fields.
-* `PageOrganizerService`: Enables page organization features.
+---
-Inject modules using the `providers` array in the component or module.
+## Angular version compatibility and older versions
-N> Refer to the [Angular PDF Viewer feature tour](https://www.syncfusion.com/pdf-viewer-sdk/angular-pdf-viewer) for an overview of capabilities. Explore the [Angular PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/angular/#/tailwind3/pdfviewer/default) to see core features in action.
+For detailed compatibility information, refer to the [Angular version support matrix](https://ej2.syncfusion.com/angular/documentation/system-requirement#angular-version-compatibility).
-[View sample in GitHub](https://github.com/SyncfusionExamples/angular-pdf-viewer-examples/tree/master/Getting%20started%20-%20Standalone).
+For older Angular versions, refer to the following guides:
+* [Create a Standalone PDF Viewer in Angular 17 and above with-no-standalone-flag](./how-to/create-a-standalone-pdf-viewer-in-angular-17-and-above-with-no-standalone-flag).
+* [Create a Standalone PDF Viewer in Angular 17 and above without --no-standalone flag](./how-to/create-a-standalone-pdf-viewer-in-angular-17-and-above-without-no-standalone-flag).
+* [Create a Standalone PDF Viewer in Angular 12](./how-to/create-a-standalone-pdf-viewer-in-angular-12)
diff --git a/Document-Processing/PDF/PDF-Viewer/angular/how-to/load-pdf-viewer-with-local-resources.md b/Document-Processing/PDF/PDF-Viewer/angular/how-to/load-pdf-viewer-with-local-resources.md
new file mode 100644
index 0000000000..ac6c379f71
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/angular/how-to/load-pdf-viewer-with-local-resources.md
@@ -0,0 +1,104 @@
+---
+layout: post
+title: Load PDF Viewer with Local Resources in Angular | Syncfusion
+description: Learn how to configure the Syncfusion Angular PDF Viewer to load PDF documents and PDFium resources locally instead of from CDN.
+control: PDF Viewer
+platform: document-processing
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Load PDF Viewer with Local Resources in Angular
+
+This guide shows how to configure the **Angular PDF Viewer (Standalone)** to load PDF documents and required PDFium resources from your local application instead of using a CDN.
+
+> **Note:** Local resource loading is supported only in **standalone mode**. Do not use this approach with the server-backed PDF Viewer.
+
+## Prerequisites
+
+Follow the [getting started guide](../getting-started) to create a basic Angular PDF Viewer application.
+
+## Configuration Steps
+
+### Step 1: Copy the Resource Files
+
+Copy the `ej2-pdfviewer-lib` folder into the Angular `src/assets/` directory using the following commands:
+
+{% tabs %}
+{% highlight bash tabtitle="Windows" %}
+
+xcopy /E /I xcopy /E /I node_modules\@syncfusion\ej2-pdfviewer\dist\ej2-pdfviewer-lib public\assets\ej2-pdfviewer-lib
+
+{% endhighlight %}
+{% highlight bash tabtitle="Mac/Linux" %}
+
+cp -R ./node_modules/@syncfusion/ej2-pdfviewer/dist/ej2-pdfviewer-lib public/assets/ej2-pdfviewer-lib
+
+{% endhighlight %}
+{% endtabs %}
+
+### Step 2: Add Your PDF Document
+
+Place your PDF file inside the `src/assets/` folder.
+
+**Your folder structure:**
+
+```
+src/
+ └── assets/
+ ├── ej2-pdfviewer-lib/
+ │ ├── pdfium.js
+ │ └── pdfium.wasm
+ └── pdfsuccinctly.pdf
+```
+
+### Step 3: Update the PDF Viewer Component
+
+Configure the Angular PDF Viewer to use local paths.
+
+```ts
+import { Component } from '@angular/core';
+import { PdfViewerModule, LinkAnnotationService, BookmarkViewService,
+ MagnificationService, ThumbnailViewService, ToolbarService,
+ NavigationService, TextSearchService, TextSelectionService,
+ PrintService, FormDesignerService, FormFieldsService,
+ AnnotationService, PageOrganizerService } from '@syncfusion/ej2-angular-pdfviewer';
+
+@Component({
+ selector: 'app-root',
+ standalone: true,
+ imports: [PdfViewerModule],
+ providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
+ ThumbnailViewService, ToolbarService, NavigationService,
+ TextSearchService, TextSelectionService, PrintService,
+ AnnotationService, FormDesignerService, FormFieldsService, PageOrganizerService]
+ template: `
+
+
+ `
+})
+export class AppComponent {
+
+ public documentPath: string = window.location.origin + '/assets/pdfsuccinctly.pdf';
+
+ public resourceUrl: string = window.location.origin + '/assets/ej2-pdfviewer-lib';
+}
+```
+
+### Step 5: Run the Application
+
+Run the Angular application:
+
+```bash
+ng serve --open
+```
+
+The PDF Viewer will now load the document and resources from **local assets**.
+
+[View sample on GitHub](https://github.com/SyncfusionExamples/angular-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
diff --git a/Document-Processing/PDF/PDF-Viewer/angular/module-injection.md b/Document-Processing/PDF/PDF-Viewer/angular/module-injection.md
new file mode 100644
index 0000000000..9b406885ff
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/angular/module-injection.md
@@ -0,0 +1,79 @@
+---
+layout: post
+title: Module Injection for Angular PDF Viewer | Syncfusion
+description: Syncfusion Angular PDF Viewer to enable optional features like toolbar, navigation, annotations, search.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Module Injection in Angular PDF Viewer
+
+To customize the **Angular PDF Viewer** with specific features, you must import and inject the required modules. The PDF Viewer provides the following services to enable its functionalities.
+
+## Available modules
+
+* `LinkAnnotationService`: Enables hyperlink navigation.
+* `BookmarkViewService`: Displays and navigates document bookmarks.
+* `MagnificationService`: Provides zoom in/out operations.
+* `NavigationService`: Enables page navigation.
+* `TextSelectionService`: Enables text selection.
+* `ThumbnailViewService`: Displays page thumbnails for navigation.
+* `ToolbarService`: Enables the built-in toolbar UI.
+* `PrintService`: Enables printing.
+* `AnnotationService`: Enables annotation features.
+* `TextSearchService`: Enables text search.
+* `FormFieldsService`: Enables form field support.
+* `FormDesignerService`: Enables designing and editing of form fields.
+* `PageOrganizerService`: Enables page organization features.
+
+---
+
+## Module injection
+
+The required modules should be injected into the PDF Viewer using the **`providers`** section of the Angular component, as shown below. Only the injected module functionalities will be loaded and available in the PDF Viewer.
+
+**src/app/app.ts**
+
+```ts
+import { Component } from '@angular/core';
+import {
+ PdfViewerModule,
+ ToolbarService,
+ NavigationService,
+ MagnificationService,
+ TextSelectionService,
+ TextSearchService,
+ AnnotationService
+} from '@syncfusion/ej2-angular-pdfviewer';
+
+@Component({
+ selector: 'app-root',
+ standalone: true,
+ imports: [PdfViewerModule],
+ providers: [
+ ToolbarService,
+ NavigationService,
+ MagnificationService,
+ TextSelectionService,
+ TextSearchService,
+ AnnotationService
+ ],
+ template: `
+
+
+ `
+})
+export class AppComponent {}
+```
+
+---
+
+## Important notes
+
+- Inject **only the required modules** to reduce bundle size and improve performance.
+- Module injection applies to **both standalone and server-backed modes**.
+- If a feature is used without injecting its corresponding module, the PDF Viewer will throw a runtime error and fail to render the feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/Select-aspnet-core-project.png b/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/Select-aspnet-core-project.png
deleted file mode 100644
index 88edadb595..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/Select-aspnet-core-project.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/Set-project-name.png b/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/Set-project-name.png
deleted file mode 100644
index 70a1982afa..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/Set-project-name.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/additional-info.png b/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/additional-info.png
deleted file mode 100644
index 8d8b50c8d8..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/asp-net-core/Core_Images/additional-info.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-event.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-event.md
index 9d22e16dc6..5dcb53a3fe 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-event.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-event.md
@@ -41,7 +41,7 @@ The PDF Viewer component triggers the following annotation and signature events:
The [annotationAdd](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AnnotationAdd) event is triggered when an annotation is added to a PDF document's page.
-**Event Arguments:** [AnnotationAddEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationAddEventArgs)
+**Event Arguments:** [AnnotationAddEventArgs](https://ej2.syncfusion.com/aspnetcore/documentation/api/pdfviewer/annotationAddEventArgs)
**Example: Handle annotation add event**
@@ -50,28 +50,11 @@ The [annotationAdd](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2
-
+{% endhighlight %}
+{% endtabs %}
+
+## Individual permissions
+
+- `isPrint`: Controls whether a specific annotation participates in printing. Set to `false` to exclude only that annotation from print output.
+- `isLock`: Lock or unlock a specific annotation instance programmatically.
+
+Example: set per-annotation defaults for text markup, shapes, and measurements using ASP.NET Core tag attributes.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+Behavior notes
+- isLock true: The annotation is locked; users cannot move, resize, or edit it through the UI until it is unlocked.
+- skipPrint true: All annotations are omitted from the print output initiated from the viewer.
+- skipDownload true: All annotations are omitted from the exported/downloaded PDF from the viewer.
+- isPrint on an individual annotation: Use this when you only want to exclude a particular annotation from printing while leaving others printable.
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/aspnet-core-pdf-viewer-examples)
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/area-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/area-annotation.md
new file mode 100644
index 0000000000..d36f72c6a3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/area-annotation.md
@@ -0,0 +1,251 @@
+---
+layout: post
+title: Add Area Annotation in Core PDF Viewer | Syncfusion
+description: Learn how to enable, draw, customize, and manage Area measurement annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Area measurement annotation in ASP.NET Core PDF Viewer control
+
+Area is a measurement annotation used to calculate the surface of a closed region on a PDF page—ideal for engineering, construction, or design reviews.
+
+
+
+## Enable Area Measurement
+
+To enable Area annotations, inject the following modules into the ASP.NET Core PDF Viewer:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Area Annotation
+
+### Add Area Using the Toolbar
+
+1. Open the **Annotation Toolbar**.
+2. Select **Measurement** → **Area**.
+3. Click points to define the polygon; double‑click to close and finalize the area.
+
+
+
+> **Tip:** If Pan mode is active, choosing a measurement tool switches the viewer into the appropriate interaction mode for a smoother workflow.
+
+### Enable Area Mode
+Programmatically switch the viewer into Area mode.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Area Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Area Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw an area by providing **vertexPoints** for a closed region.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Area Appearance
+Configure default properties using the [`Area Settings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AreaSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Area (Move, Reshape, Edit, Delete)
+- **Move**: Drag inside the polygon to reposition it.
+- **Reshape**: Drag any vertex handle to adjust points and shape.
+
+### Edit Perimeter
+
+#### Edit Perimeter (UI)
+
+- Edit the **fill color** using the Edit Color tool.
+ 
+- Edit the **stroke color** using the Edit Stroke Color tool.
+ 
+- Edit the **border thickness** using the Edit Thickness tool.
+ 
+- Edit the **opacity** using the Edit Opacity tool.
+ 
+- Open **Right Click → Properties** for additional line‑based options.
+ 
+
+#### Edit Area Programmatically
+
+Update properties and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Distance Annotation
+
+Delete Distance Annotation via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set Default Properties During Initialization
+Apply defaults for Area using the [`areaSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AreaSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set Properties While Adding Individual Annotation
+Pass per‑annotation values directly when calling [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Scale Ratio and Units
+- Use **Scale Ratio** from the context menu to set the actual‑to‑page scale.
+ 
+- Supported units include **Inch, Millimeter, Centimeter, Point, Pica, Feet**.
+ 
+
+### Set Default Scale Ratio During Initialization
+Configure scale defaults using [`measurementSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_MeasurementSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Area Events
+
+Listen to annotation life-cycle events (add/modify/select/remove). For the full list and parameters, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+Area measurements can be exported or imported with other annotations. For workflows and supported formats, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/arrow-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/arrow-annotation.md
new file mode 100644
index 0000000000..11af60aa06
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/arrow-annotation.md
@@ -0,0 +1,243 @@
+---
+layout: post
+title: Arrow Annotation (Shape) in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Arrow annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Arrow Annotation (Shape) in ASP.NET Core PDF Viewer
+Arrow annotations let users point, direct attention, or indicate flow on PDFs—useful for callouts, direction markers, and connectors during reviews. You can add arrows from the toolbar, switch to arrow mode programmatically, customize appearance, edit/delete them in the UI, and export them with the document.
+
+
+
+## Enable Arrow Annotation in the Viewer
+
+To enable Arrow annotations, inject the following modules into the ASP.NET Core PDF Viewer:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Arrow Annotation
+
+### Add Arrow Annotation Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Select **Shapes** → **Arrow**.
+3. Click and drag on the PDF page to draw the arrow.
+
+
+
+N> When in Pan mode, selecting a shape tool automatically switches the viewer to selection mode for smooth interaction.
+
+### Enable Arrow Mode
+Switch the viewer into arrow mode using `setAnnotationMode('Arrow')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Arrow Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Arrow Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw an arrow at a specific location (defined by two **vertexPoints**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Arrow Appearance
+Configure default arrow appearance (fill color, stroke color, thickness, opacity) using the [`arrowSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ArrowSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For **Line** and **Arrow** annotations, **Fill Color** is available only when an arrowhead style is applied at the **Start** or **End**. If both are `None`, lines do not render fill and the Fill option remains disabled.
+
+## Manage Arrow (Edit, Move, Resize, Delete)
+### Edit Arrow
+
+#### Edit Arrow (UI)
+- Select a Arrow to view resize handles.
+- Drag endpoints to adjust length/angle.
+- Edit stroke color, opacity, and thickness using the annotation toolbar.
+
+
+
+Use the annotation toolbar:
+- **Edit Color** tool
+
+
+- **Edit Opacity** slider
+
+
+- **Line Properties**
+Open the Line Properties dialog via **Right Click → Properties**.
+
+
+
+#### Edit Arrow Programmatically
+
+Modify an existing Arrow programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Arrow
+
+The PDF Viewer supports deleting existing annotations through the UI and API.
+See [**Delete Annotation**](../remove-annotations) for full behavior and workflows.
+
+### Comments
+
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to arrow annotations. It provides a dedicated interface for collaboration and review within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+
+Set properties for individual arrow annotations by passing values directly during [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable Arrow Annotation
+
+Disable shape annotations (Line, Arrow, Rectangle, Circle, Polygon) using the [`enableShapeAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_EnableShapeAnnotation) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Arrow Events
+
+The PDF viewer provides annotation life-cycle events that notify when Arrow annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations. For details on supported formats and workflows, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/circle-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/circle-annotation.md
new file mode 100644
index 0000000000..2b530b9532
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/circle-annotation.md
@@ -0,0 +1,237 @@
+---
+layout: post
+title: Circle Annotation (Shape) in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Circle annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Circle Annotation (Shape) in ASP.NET Core PDF Viewer
+Circle annotations let users highlight circular regions or draw emphasis bubbles on PDFs for reviews and markups. You can add circles from the toolbar, switch to circle mode programmatically, customize appearance, edit/delete them in the UI, and export them with the document.
+
+
+
+## Enable Circle Annotation in the Viewer
+
+To enable Circle annotations, inject the following modules into the ASP.NET Core PDF Viewer:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Circle Annotation
+
+### Apply Circle Annotation Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Select **Shapes** → **Circle**.
+3. Click and drag on the PDF page to draw the circle (ellipse).
+
+
+
+N> When in Pan mode, selecting a shape tool automatically switches the viewer to selection mode for smooth interaction.
+
+### Enable Circle Mode
+
+Switch the viewer into circle mode using `setAnnotationMode('Circle')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Circle Mode
+
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Circle Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw a circle (ellipse) at a specific location.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Circle Appearance
+Configure default circle appearance (fill color, stroke color, thickness, opacity) using the [`circleSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_CircleSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Circle (Edit, Move, Resize, Delete)
+
+### Edit Circle
+
+#### Edit Circle (UI)
+
+- Select a Circle to view resize handles.
+- Drag any side/corner to resize; drag inside the shape to move it.
+- Edit **fill**, **stroke**, **thickness**, and **opacity** using the annotation toolbar.
+
+
+
+Use the annotation toolbar:
+- **Edit fill Color** tool
+
+
+- **Edit stroke Color** tool
+
+
+- **Edit Opacity** slider
+
+
+- **Edit Thickness** slider
+
+
+#### Edit Circle Programmatically
+
+Modify an existing Circle programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Circle
+The PDF Viewer supports deleting existing annotations through the UI and API.
+See [**Delete Annotation**](../remove-annotations) for full behavior and workflows.
+
+### Comments
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to circle annotations. It provides a dedicated interface for collaboration and review within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+Set properties for individual circle annotations by passing values directly during [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable Circle Annotation
+Disable shape annotations (Line, Arrow, Rectangle, Circle, Polygon) using the [`enableShapeAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_EnableShapeAnnotation) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Circle Events
+
+The PDF viewer provides annotation life-cycle events that notify when Circle annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+
+The PDF Viewer supports exporting and importing annotations. For details on supported formats and workflows, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/distance-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/distance-annotation.md
new file mode 100644
index 0000000000..00aa77639a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/distance-annotation.md
@@ -0,0 +1,239 @@
+---
+layout: post
+title: Add Distance Annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, measure, customize, and manage Distance annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Distance Annotations in ASP.NET Core PDF Viewer
+Distance is a measurement annotation used to measure the length between two points on a PDF page. Use it for precise reviews, markups, or engineering measurements.
+
+
+
+## Enable Distance Annotation
+
+To enable Distance annotation, inject the following modules into the ASP.NET Core PDF Viewer:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Distance Annotation
+
+### Add Distance Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Select **Measurement** → **Distance**.
+3. Click to set the start point, then click again to set the end point.
+
+
+
+N> If Pan mode is active, choosing a measurement tool switches the viewer into the appropriate interaction mode for a smoother workflow.
+
+### Enable Distance Mode
+Programmatically switch the viewer into Distance mode.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Distance Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Distance Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw a Distance measurement by providing two **vertexPoints**.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Distance Appearance
+Configure default properties using the [`Distance Settings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_DistanceSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Distance (Move, Resize, Edit, Delete)
+- **Move**: Drag the measurement to reposition it.
+- **Resize**: Drag the end handles to adjust the length.
+
+### Edit Distance
+
+#### Edit Distance (UI)
+Change **stroke color**, **thickness**, and **opacity** using the annotation toolbar tools.
+
+- Edit the **fill color** using the Edit Color tool.
+ 
+- Edit the **stroke color** using the Edit Stroke Color tool.
+ 
+- Edit the **border thickness** using the Edit Thickness tool.
+ 
+- Edit the **opacity** using the Edit Opacity tool.
+ 
+- Open **Right Click → Properties** for additional line-based options.
+
+
+#### Edit Distance Programmatically
+Update properties and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Distance Annotation
+
+Delete Distance Annotation via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set Default Properties During Initialization
+Apply defaults for Distance using the [`distanceSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_DistanceSettings) property.
+
+{% tabs %}
+{% highlight js tabtitle="Standalone" %}
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set Properties While Adding Individual Annotation
+Pass per-annotation values directly when calling [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Scale Ratio and Units
+
+- Use **Scale Ratio** from the context menu to set the actual-to-page scale.
+ 
+- Supported units include **Inch, Millimeter, Centimeter, Point, Pica, Feet**.
+ 
+
+### Set Default Scale Ratio During Initialization
+Configure scale defaults using [`measurementSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_MeasurementSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Distance Events
+
+Listen to annotation life-cycle events (add/modify/select/remove). For the full list and parameters, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+Distance measurements can be exported or imported with other annotations. For workflows and supported formats, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/free-text-annotation.md
new file mode 100644
index 0000000000..d8b7d2820c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/free-text-annotation.md
@@ -0,0 +1,237 @@
+---
+layout: post
+title: Add Free Text Annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, add, customize, and manage Free Text (text box) annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Free Text Annotations in ASP.NET Core PDF Viewer
+Free Text annotations let users place editable text boxes on a PDF page to add comments, labels, or notes without changing the original document content.
+
+## Enable Free Text in the Viewer
+
+To enable Free Text annotations, inject the following modules into the ASP.NET Core PDF Viewer:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Free Text
+
+### Add Free Text Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Click **Free Text** to enable Free Text mode.
+3. Click on the page to place the text box and start typing.
+
+
+
+N>* When Pan mode is active, choosing Free Text switches the viewer into the appropriate selection/edit workflow for a smoother experience.
+
+### Enable Free Text Mode
+
+Programmatically switch to Free Text mode.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Free Text Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Free Text Programmatically
+
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to create a text box at a given location with desired styles.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Free Text Appearance
+
+Configure default properties using the [`FreeTextSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FreeTextSettings) property (for example, default **fill color**, **border color**, **font color**, **opacity**, and **auto‑fit**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> To tailor right‑click options, see [**Customize Context Menu**](../../context-menu/custom-context-menu).
+
+## Modify, Edit, Delete Free Text
+
+- **Move/Resize**: Drag the box or use the resize handles.
+- **Edit Text**: Click inside the box and type.
+- **Delete**: Use the toolbar or context menu options. For deletion workflows and API details, see [**Delete Annotation**](../remove-annotations).
+
+### Edit Free Text
+
+#### Edit Free Text (UI)
+
+Use the annotation toolbar to configure font family, size, color, alignment, styles, fill color, stroke color, border thickness, and opacity.
+
+- Edit the **font family** using the Font Family tool.
+
+
+- Edit the **font size** using the Font Size tool.
+
+
+- Edit the **font color** using the Font Color tool.
+
+
+- Edit the **text alignment** using the Text Alignment tool.
+
+
+- Edit the **font styles** (bold, italic, underline) using the Font Style tool.
+
+
+- Edit the **fill color** using the Edit Color tool.
+
+
+- Edit the **stroke color** using the color palette in the Edit Stroke Color tool.
+
+
+- Edit the **border thickness** using the Edit Thickness tool.
+
+
+- Edit the **opacity** using the Edit Opacity tool.
+
+
+#### Edit Free Text Programmatically
+
+Update bounds or text and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Free Text annotations do **not** modify the original PDF text; they overlay editable text boxes on top of the page content.
+
+### Delete Free Text
+
+Delete Free Text via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set Default Properties During Initialization
+Apply defaults for new text boxes using the [`freeTextSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FreeTextSettings) property. You can also enable **Auto‑fit** so the box expands with content.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Free Text Annotation Events
+
+Listen to add/modify/select/remove events for Free Text and handle them as needed. For the full list and parameters, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+
+Free Text annotations can be exported or imported just like other annotations. For supported formats and steps, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/highlight-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/highlight-annotation.md
new file mode 100644
index 0000000000..db5ce33578
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/highlight-annotation.md
@@ -0,0 +1,240 @@
+---
+layout: post
+title: Highlight Text in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Highlight annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Highlight Annotation (Text Markup) in ASP.NET Core PDF Viewer
+
+This guide explains how to **enable**, **apply**, **customize**, and **manage** *Highlight* text markup annotations in the Syncfusion **ASP.NET Core PDF Viewer**.
+You can highlight text using the toolbar or context menu, programmatically invoke highlight mode, customize default settings, handle events, and export the PDF with annotations.
+
+## Enable Highlight Annotation in ASP.NET Core PDF Viewer
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Highlight are enabled by default.
+This minimal setup enables UI interactions like selection and highlighting.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Highlight Annotation
+
+### Add Highlight Using the Toolbar
+
+1. Select the text you want to highlight.
+2. Click the **Highlight** icon in the annotation toolbar.
+ - If **Pan Mode** is active, the viewer automatically switches to **Text Selection** mode.
+
+
+
+### Apply highlight using Context Menu
+
+Right-click a selected text region → select **Highlight**.
+
+
+
+To customize menu items, refer to [**Customize Context Menu**](../../context-menu/custom-context-menu) documentation.
+
+### Enable Highlight Mode
+
+Switch the viewer into highlight mode using `setAnnotationMode('Highlight')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Highlight Mode
+
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Highlight Programmatically
+
+Use [`addAnnotation()`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) to insert highlight at a specific location.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Highlight Appearance
+
+Configure default highlight settings such as **color**, **opacity**, and **author** using [`highlightSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_HighlightSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Highlight (Edit, Delete, Comment)
+
+### Edit Highlight
+
+#### Edit Highlight Appearance (UI)
+
+Use the annotation toolbar:
+- **Edit Color** tool
+
+
+- **Edit Opacity** slider
+
+
+#### Edit Highlight Programmatically
+
+Modify an existing highlight programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Highlight
+
+The PDF Viewer supports deleting existing annotations through both the UI and API.
+For detailed behavior, supported deletion workflows, and API reference, see [Delete Annotation](../remove-annotations)
+
+### Comments
+
+Use the [Comments panel](../comments) to add, view, and reply to threaded discussions linked to underline annotations.
+It provides a dedicated UI for reviewing feedback, tracking conversations, and collaborating on annotation‑related notes within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+
+Set properties for individual annotation before creating the control using [highlightSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_HighlightSettings)
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable TextMarkup Annotation
+
+Disable text markup annotations (including highlight) using the [`enableTextMarkupAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_EnableTextMarkupAnnotation) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Highlight Events
+
+The PDF viewer provides annotation life-cycle events that notify when highlight annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+
+The PDF Viewer supports exporting and importing annotations, allowing you to save annotations as a separate file or load existing annotations back into the viewer.
+For full details on supported formats and steps to export or import annotations, see [Export and Import Annotation](../export-import-annotations)
+
+## See Also
+
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/ink-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/ink-annotation.md
new file mode 100644
index 0000000000..0193781356
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/ink-annotation.md
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Add Ink Annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, draw, customize, and manage Ink (freehand) annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Freehand Drawing (Ink) Annotations in ASP.NET Core PDF Viewer
+Ink annotations allow users to draw freehand strokes using mouse, pen, or touch input to mark content naturally.
+
+
+
+## Enable Freehand Drawing (Ink)
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Ink are enabled by default.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Ink annotation
+
+### Draw Freehand Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Click **Draw Ink**.
+3. Draw freehand on the page.
+
+
+
+### Enable Ink Mode
+Switch the viewer into a ink annotation mode programmatically.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Ink Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Ink Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to create an ink stroke by providing a path (an array of move/line commands), bounds, and target page.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Ink Appearance
+
+You can customize **stroke color**, **thickness**, and **opacity** using the [`inkAnnotationSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_InkAnnotationSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Erase, Modify, or Delete Ink Strokes
+- **Move**: Drag the annotation.
+- **Resize**: Use selector handles.
+- **Change appearance**: Use Edit Stroke Color, Thickness, and Opacity tools.
+- **Delete**: Via toolbar or context menu.
+- **Customize context menu**: See [Customize Context Menu](../../context-menu/custom-context-menu).
+
+### Edit ink annotation in UI
+
+Stroke color, thickness, and opacity can be edited using the Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
+
+- Edit the **stroke color** using the color palette in the Edit Stroke Color tool.
+
+
+
+- Edit **thickness** using the range slider in the Edit Thickness tool.
+
+
+
+- Edit **opacity** using the range slider in the Edit Opacity tool.
+
+
+
+### Edit Ink Programmatically
+
+Modify an existing ink programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Stamp
+
+Delete Ink via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Ink Annotation Events
+
+The PDF viewer provides annotation life‑cycle events that notify when Ink annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+
+Ink annotations can be exported or imported along with other annotations.
+See [Export and Import annotations](../export-import-annotations).
+
+## See Also
+
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotation](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/line-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/line-annotation.md
new file mode 100644
index 0000000000..07021d07b1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/line-annotation.md
@@ -0,0 +1,249 @@
+---
+layout: post
+title: Add Line Annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Line annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Line Annotation (Shape) in ASP.NET Core PDF Viewer
+
+Line annotations allow users to draw straight connectors or callouts on PDFs for markup, review, diagrams, or measurement guides. They support customization of color, thickness, opacity, and arrowheads, and can be edited, resized, deleted, or exported along with the document.
+
+
+
+## Enable Line Annotation in the Viewer
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Line annotation are enabled by default.
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Line Annotation
+
+### Add Line Annotation Using the Toolbar
+
+1. Open the **Annotation Toolbar**.
+2. Select **Shapes** → **Line**.
+3. Click and drag on the PDF page to draw the line.
+
+
+
+N> When in Pan mode, selecting a shape tool automatically switches the viewer to selection mode for smooth interaction.
+
+### Enable Line Mode
+
+Switch the viewer into line mode using `setAnnotationMode('Line')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Line Mode
+
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Line Programmatically
+
+You can add line annotations using the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Line Appearance
+
+Configure default line appearance using the [`lineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_LineSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Fill color is available only when an arrowhead style is applied at the Start or End of the line. If both are set to `None`, the Fill option is disabled.
+
+## Manage Line (Edit, Move, Resize, Delete)
+
+### Edit Line
+
+#### Edit Line Appearance (UI)
+- Select a line to view resize handles.
+- Drag endpoints to adjust length/angle.
+- Edit stroke color, opacity, and thickness using the annotation toolbar.
+
+
+
+Use the annotation toolbar:
+- **Edit Color** tool
+
+
+- **Edit Opacity** slider
+
+
+- **Line Properties**
+Open the Line Properties dialog via **Right Click → Properties**.
+
+
+
+#### Edit Line Programmatically
+
+Modify an existing Line programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Line
+
+The PDF Viewer supports deleting existing annotations through the UI and API.
+See [**Delete Annotation**](../remove-annotations) for full behavior and workflows.
+
+### Comments
+
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to line annotations. It provides a dedicated interface for collaboration and review within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+
+Set properties for individual line annotations using the [`lineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_LineSettings) API or by passing per‑annotation values during [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable Line Annotation
+
+Disable shape annotations (Line, Arrow, Rectangle, Circle, Polygon) using the [`enableShapeAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_EnableShapeAnnotation) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Line Events
+
+The PDF viewer provides annotation life-cycle events that notify when Line annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations. For details on supported formats and workflows, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/perimeter-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/perimeter-annotation.md
new file mode 100644
index 0000000000..7bc98f437a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/perimeter-annotation.md
@@ -0,0 +1,247 @@
+---
+layout: post
+title: Add Perimeter Annotation in Core PDF Viewer | Syncfusion
+description: Learn how to enable, draw, customize, and manage Perimeter measurement annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Perimeter Measurement Annotations in ASP.NET Core PDF Viewer
+Perimeter is a measurement annotation used to calculate the length around a closed polyline on a PDF page—useful for technical markups and reviews.
+
+
+
+## Enable Perimeter Measurement
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Perimeter annotation are enabled by default.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Perimeter Annotation
+
+### Add Perimeter Annotation Using the Toolbar
+
+1. Open the **Annotation Toolbar**.
+2. Select **Measurement** → **Perimeter**.
+3. Click multiple points to define the polyline; double‑click to close and finalize the perimeter.
+
+
+
+N> If Pan mode is active, choosing a measurement tool switches the viewer into the appropriate interaction mode for a smoother workflow.
+
+### Enable Perimeter Mode
+Programmatically switch the viewer into Perimeter mode.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Perimeter Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Perimeter Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw a perimeter by providing multiple **vertexPoints**.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Perimeter Appearance
+Configure default properties using the [`Perimeter Settings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_PerimeterSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Perimeter (Move, Reshape, Edit, Delete)
+- **Move**: Drag inside the shape to reposition it.
+- **Reshape**: Drag any vertex handle to adjust points and shape.
+
+### Edit Perimeter
+
+#### Edit Perimeter (UI)
+
+- Edit the **fill color** using the Edit Color tool.
+ 
+- Edit the **stroke color** using the Edit Stroke Color tool.
+ 
+- Edit the **border thickness** using the Edit Thickness tool.
+ 
+- Edit the **opacity** using the Edit Opacity tool.
+ 
+- Open **Right Click → Properties** for additional line‑based options.
+ 
+
+#### Edit Perimeter Programmatically
+Update properties and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Distance Annotation
+
+Delete Distance Annotation via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set Default Properties During Initialization
+Apply defaults for Perimeter using the [`perimeterSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_PerimeterSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set Properties While Adding Individual Annotation
+Pass per‑annotation values directly when calling [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Scale Ratio and Units
+
+- Use **Scale Ratio** from the context menu to set the actual‑to‑page scale.
+ 
+- Supported units include **Inch, Millimeter, Centimeter, Point, Pica, Feet**.
+ 
+
+### Set Default Scale Ratio During Initialization
+Configure scale defaults using [`measurementSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_MeasurementSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Perimeter Events
+
+Listen to annotation life-cycle events (add/modify/select/remove). For the full list and parameters, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+Perimeter measurements can be exported or imported with other annotations. For workflows and supported formats, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/polygon-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/polygon-annotation.md
new file mode 100644
index 0000000000..87335fbcff
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/polygon-annotation.md
@@ -0,0 +1,249 @@
+---
+layout: post
+title: Polygon Annotation (Shape) in ASP.NET Core PDF Viewer \ Syncfusion
+description: Learn how to enable, apply, customize, and manage Polygon annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Polygon Annotation (Shape) in ASP.NET Core PDF Viewer
+Polygon annotations allow users to outline irregular regions, draw custom shapes, highlight non-rectangular areas, or create specialized callouts on PDFs for review and markup.
+
+
+
+## Enable Polygon Annotation in the Viewer
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Polygon annotation are enabled by default.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Polygon Annotation
+
+### Add Polygon Annotation Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Select **Shapes** → **Polygon**.
+3. Click multiple points on the page to draw the polygon.
+4. Double-click to finalize the shape.
+
+
+
+N> When in Pan mode, selecting a shape tool automatically switches the viewer to selection mode for smooth interaction.
+
+### Enable Polygon Mode
+
+Switch the viewer into polygon mode using `setAnnotationMode('Polygon')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Polygon Mode
+
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Polygon Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw a polygon by specifying multiple `vertexPoints`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Polygon Appearance
+Configure default polygon appearance (fill color, stroke color, thickness, opacity) using the [`polygonSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_PolygonSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Polygon (Edit, Move, Resize, Delete)
+
+### Edit Circle
+
+#### Edit Circle (UI)
+
+- Select a Circle to view resize handles.
+- Drag any side/corner to resize; drag inside the shape to move it.
+- Edit **fill**, **stroke**, **thickness**, and **opacity** using the annotation toolbar.
+
+
+
+Use the annotation toolbar:
+- **Edit fill Color** tool
+
+
+- **Edit stroke Color** tool
+
+
+- **Edit Opacity** slider
+
+
+- **Edit Thickness** slider
+
+
+#### Edit Polygon Programmatically
+
+Modify an existing Circle programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Polygon
+The PDF Viewer supports deleting existing annotations through the UI and API.
+See [**Delete Annotation**](../remove-annotations) for full behavior and workflows.
+
+### Comments
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to polygon annotations. It provides a dedicated interface for collaboration and review within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+Configure per-annotation appearance while adding a polygon using [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable Shape Annotation
+Disable shape annotations (Polygon, Line, Rectangle, Circle, Arrow) using the [`enableShapeAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_EnableShapeAnnotation) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Polygon Events
+
+The PDF viewer provides annotation life-cycle events that notify when Polygon annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations. For details on supported formats and workflows, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/radius-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/radius-annotation.md
new file mode 100644
index 0000000000..75b57357fa
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/radius-annotation.md
@@ -0,0 +1,237 @@
+---
+layout: post
+title: Add Radius Annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, draw, customize, and manage Radius measurement annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Radius Measurement Annotations in ASP.NET Core PDF Viewer
+Radius measurement annotations allow users to draw circular regions and calculate the radius visually.
+
+
+
+## Enable Radius Measurement
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Radius annotation are enabled by default.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Radius Annotation
+
+### Add Radius Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Select **Measurement → Radius**.
+3. Click and drag on the page to draw the radius.
+
+
+
+N> If Pan mode is active, selecting the Radius tool automatically switches interaction mode.
+
+### Enable Radius Mode
+Programmatically switch the viewer into Radius mode.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Radius Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Radius Programmatically
+Configure default properties using the [`Radius Settings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_RadiusSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Radius Appearance
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Radius (Move, Reshape, Edit, Delete)
+- **Move**: Drag inside the polygon to reposition it.
+- **Reshape**: Drag any vertex handle to adjust points and shape.
+
+### Edit Radius Annotation
+
+#### Edit Radius (UI)
+
+- Edit the **fill color** using the Edit Color tool.
+ 
+- Edit the **stroke color** using the Edit Stroke Color tool.
+ 
+- Edit the **border thickness** using the Edit Thickness tool.
+ 
+- Edit the **opacity** using the Edit Opacity tool.
+ 
+- Open **Right Click → Properties** for additional line‑based options.
+ 
+
+#### Edit Radius Programmatically
+
+Update properties and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Radius Annotation
+
+Delete Radius Annotation via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set Default Properties During Initialization
+Apply defaults for Radius using the [`radiusSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_RadiusSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set Properties While Adding Individual Annotation
+Apply defaults for Radius using the [`radiusSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_RadiusSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Scale Ratio & Units
+- Use **Scale Ratio** from the context menu.
+ 
+- Supported units: Inch, Millimeter, Centimeter, Point, Pica, Feet.
+ 
+
+### Set Default Scale Ratio During Initialization
+Configure scale defaults using [`measurementSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_MeasurementSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Radius Events
+Listen to annotation life-cycle events (add/modify/select/remove). For the full list and parameters, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+Radius measurements can be exported or imported with other annotations. For workflows and supported formats, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
+
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/rectangle-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/rectangle-annotation.md
new file mode 100644
index 0000000000..9f60b5633e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/rectangle-annotation.md
@@ -0,0 +1,232 @@
+---
+layout: post
+title: Rectangle Annotation (Shape) in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Rectangle annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Rectangle Annotation (Shape) in ASP.NET Core PDF Viewer
+Rectangle annotations let users highlight regions, group content, or draw callout boxes on PDFs for reviews and markups. You can add rectangles from the toolbar, switch to rectangle mode programmatically, customize appearance, edit/delete them in the UI, and export them with the document.
+
+
+
+## Enable Rectangle Annotation in the Viewer
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Rectangle annotation are enabled by default.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Rectangle Annotation
+
+### Add Rectangle Annotation Using the Toolbar
+
+1. Open the **Annotation Toolbar**.
+2. Select **Shapes** → **Rectangle**.
+3. Click and drag on the PDF page to draw the rectangle.
+
+
+
+N> When in Pan mode, selecting a shape tool automatically switches the viewer to selection mode for smooth interaction.
+
+### Enable Rectangle Mode
+Switch the viewer into rectangle mode using `setAnnotationMode('Rectangle')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Rectangle Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Rectangle Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to draw a rectangle at a specific location.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Rectangle Appearance
+Configure default rectangle appearance (fill color, stroke color, thickness, opacity) using the [`rectangleSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_RectangleSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Rectangle (Edit, Move, Resize, Delete)
+### Edit Rectangle
+
+#### Edit Rectangle (UI)
+- Select a rectangle to view resize handles.
+- Drag any side/corner to resize; drag inside the shape to move it.
+- Edit **fill**, **stroke**, **thickness**, and **opacity** using the annotation toolbar.
+
+
+
+Use the annotation toolbar:
+- **Edit fill Color** tool
+
+
+- **Edit stroke Color** tool
+
+
+- **Edit Opacity** slider
+
+
+- **Edit Thickness** slider
+
+
+
+#### Edit Rectangle Programmatically
+
+Modify an existing Rectangle programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Rectangle
+The PDF Viewer supports deleting existing annotations through the UI and API.
+See [**Delete Annotation**](../remove-annotations) for full behavior and workflows.
+
+### Comments
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to rectangle annotations. It provides a dedicated interface for collaboration and review within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+Set properties for individual rectangle annotations by passing values directly during [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable Rectangle Annotation
+Disable shape annotations (Line, Arrow, Rectangle, Circle, Polygon) using the [`enableShapeAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_EnableShapeAnnotation) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Rectangle Events
+
+The PDF viewer provides annotation life-cycle events that notify when Rectangle annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations. For details on supported formats and workflows, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/redaction-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/redaction-annotation.md
new file mode 100644
index 0000000000..65183a6627
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/redaction-annotation.md
@@ -0,0 +1,205 @@
+---
+layout: post
+title: PDF Redaction in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn to add, edit, delete, and apply redaction annotations in Syncfusion ASP.NET Core PDF Viewer with UI and programmatic examples.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Redaction annotation in ASP.NET Core PDF Viewer
+
+Redaction annotations permanently remove sensitive content from a PDF. You can draw redaction marks over text or graphics, redact entire pages, customize overlay text and styling, and apply redaction to finalize.
+
+
+
+## Add Redaction Annotation
+
+### Add redaction annotations in UI
+- Use the **Redaction** tool from the toolbar to draw over content to hide it.
+- Redaction marks can show overlay text (for example, “Confidential”) and can be styled.
+
+
+
+Redaction annotations are interactive:
+- **Movable**
+
+- **Resizable**
+
+
+You can also add redaction annotations from the **context menu** by selecting content and choosing **Redact Annotation**.
+
+
+N> Ensure the **Redaction** tool is included in the toolbar. See [RedactionToolbar](../../Redaction/toolbar.md) for configuration.
+
+### Add redaction annotations programmatically
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+Track additions using the `annotationAdd` event (wired above as a component prop).
+
+## Edit Redaction Annotations
+
+### Edit redaction annotations in UI
+Use the viewer to select, move, and resize Redaction annotations. Use the context menu for additional actions.
+
+#### Edit the properties of redaction annotations in UI
+Use the property panel or **context menu → Properties** to change overlay text, font, fill color, and more.
+
+
+
+### Edit redaction annotations programmatically
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+This mirrors the TS logic using the ASP.NET Core component ref to access the annotation APIs.
+
+## Delete redaction annotations
+
+### Delete in UI
+- **Right‑click → Delete**
+
+- Use the **Delete** button in the toolbar
+
+- Press **Delete** key
+
+### Delete programmatically
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+This uses `annotationModule.deleteAnnotationById` with a known annotation id.
+
+## Redact pages
+
+### Redact pages in UI
+Use the **Redact Pages** dialog to mark entire pages with options like **Current Page**, **Odd Pages Only**, **Even Pages Only**, and **Specific Pages**.
+
+
+### Add page redactions programmatically
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+Programmatically adds redaction marks to the given page numbers.
+
+## Apply redaction
+
+### Apply redaction in UI
+Click **Apply Redaction** to permanently remove marked content.
+
+
+
+N> **Redaction is permanent and cannot be undone.**
+
+### Apply redaction programmatically
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Applying redaction is **irreversible**.
+
+## Default redaction settings during initialization
+
+Configure defaults with the `redactionSettings` property:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master)
+
+## See also
+- [Annotation Overview](../overview)
+- [Redaction Overview](../../Redaction/overview)
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../../annotations/create-modify-annotation)
+- [Customize Annotation](../../annotations/customize-annotation)
+- [Remove Annotation](../../annotations/delete-annotation)
+- [Handwritten Signature](../../annotations/signature-annotation)
+- [Export and Import Annotation](../../annotations/export-import/export-annotation)
+- [Annotation in Mobile View](../../annotations/annotations-in-mobile-view)
+- [Annotation Events](../../annotations/annotation-event)
+- [Annotation API](../../annotations/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/squiggly-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/squiggly-annotation.md
new file mode 100644
index 0000000000..fddf265a58
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/squiggly-annotation.md
@@ -0,0 +1,221 @@
+---
+layout: post
+title: Add Squiggly Annotation in Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Squiggly annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Squiggly Annotation (Text Markup) in ASP.NET Core PDF Viewer
+
+This guide explains how to **enable**, **apply**, **customize**, and **manage** *Squiggly* text markup annotations in the Syncfusion **ASP.NET Core PDF Viewer**.
+You can add squiggly underlines from the toolbar or context menu, programmatically invoke squiggly mode, customize default settings, handle events, and export the PDF with annotations.
+
+## Enable Squiggly in the Viewer
+In the ASP.NET Core PDF Viewer, annotation modules such as Squiggly annotation are enabled by default.
+This minimal setup enables UI interactions like selection and squiggly markup.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Squiggly Annotation
+
+### Add Squiggly Using the Toolbar
+
+1. Select the text you want to annotate.
+2. Click the **Squiggly** icon in the annotation toolbar.
+ - If **Pan Mode** is active, the viewer automatically switches to **Text Selection** mode.
+
+
+### Add Squiggly Using the Context Menu
+
+Right-click a selected text region → select **Squiggly**.
+
+To customize menu items, refer to [**Customize Context Menu**](../../context-menu/custom-context-menu) documentation.
+
+### Enable Squiggly Mode
+Switch the viewer into squiggly mode using `setAnnotationMode('Squiggly')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Squiggly Mode
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Squiggly Programmatically
+Use [`addAnnotation()`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) to insert a squiggly at a specific location.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Squiggly Appearance
+Configure default squiggly settings such as **color**, **opacity**, and **author** using [`squigglySettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_SquigglySettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Squiggly (Edit, Delete, Comment)
+
+### Edit Squiggly
+
+#### Edit Squiggly Appearance (UI)
+
+Use the annotation toolbar:
+- **Edit Color** tool
+
+- **Edit Opacity** slider
+
+
+#### Edit Squiggly Programmatically
+Modify an existing squiggly programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Squiggly
+The PDF Viewer supports deleting existing annotations through both the UI and API.
+For detailed behavior, supported deletion workflows, and API reference, see [**Delete Annotation**](../remove-annotations)
+
+### Comments
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to squiggly annotations.
+It provides a dedicated UI for reviewing feedback, tracking conversations, and collaborating on annotation‑related notes within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+Set properties for individual squiggly annotations at the time of creation using the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disable TextMarkup Annotation
+Disable text markup annotations (including squiggly) using the `enableTextMarkupAnnotation` property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Squiggly Events
+The PDF viewer provides annotation life‑cycle events that notify when squiggly annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+
+The PDF Viewer supports exporting and importing annotations, allowing you to save annotations as a separate file or load existing annotations back into the viewer.
+For full details on supported formats and steps to export or import annotations, see [**Export and Import annotations**](../export-import-annotations)
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/stamp-annotation.md
new file mode 100644
index 0000000000..ee7407f6df
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/stamp-annotation.md
@@ -0,0 +1,227 @@
+---
+layout: post
+title: Stamp Annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Stamp annotations (Dynamic, Sign Here, Standard Business, Custom) in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Stamp Annotations in ASP.NET Core PDF Viewer
+
+Stamp annotations allow you to place predefined or custom stamps (such as **Dynamic**, **Sign Here**, **Standard Business**, or **Custom**) on a PDF to communicate review states, approvals, or instructions. You can add stamps from the toolbar, switch to specific stamp modes programmatically, customize defaults (e.g., opacity/author), edit or lock them, and export them with the document.
+
+
+
+## Enable Stamp Annotation in the Viewer
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Stamp annotation are enabled by default.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Stamp Annotation
+
+### Add Stamp Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Choose **Stamp** to open the stamp gallery.
+
+3. Select a stamp type (**Dynamic**, **Sign Here**, **Standard Business**, or **Custom**) and click on the page to place it.
+
+
+N> When Pan mode is active and a stamp tool is chosen, the viewer automatically switches to selection mode for a smoother interaction.
+
+### Enable a Specific Stamp Mode
+Switch the viewer into a specific stamp annotation mode programmatically.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Stamp Mode
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Stamp Programmatically
+Use the [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) API to place stamps at specific coordinates.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For **Custom Stamp** via the UI, only **JPG/JPEG** image formats are supported.
+
+## Customize Stamp Appearance
+Configure default properties using the [`stampSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_StampSettings) property (for example, default **opacity** and **author**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> After changing opacity via the **Edit Opacity** tool in the toolbar, the updated value becomes the working default for subsequent placements in the current session.
+
+## Manage Stamp (Move, Resize, Rotate, Lock/Unlock, Delete)
+
+### Edit Stamp Annotation
+
+#### Edit & Arrange (UI)
+- **Move**: drag the stamp to reposition it.
+- **Resize**: use corner handles to change size.
+- **Rotate**: use the rotation handle (where available) to rotate the stamp.
+- **Opacity**: adjust using the **Edit Opacity** tool in the annotation toolbar.
+- **Lock/Unlock**: lock a selected stamp from the context menu to prevent edits.
+
+#### Edit Stamp Programmatically
+Modify bounds or lock state, then call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Stamp
+Delete stamps via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set properties while adding Individual Annotation
+You can pass per‑annotation values (e.g., **type**, **position**, **size**, **author**, **isLock**, or **customStamps**) when calling [`addAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Stamp Events
+
+The PDF viewer provides annotation life‑cycle events that notify when Stamp annotations are added, modified, selected, or removed.
+For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event)
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations, allowing you to save stamps and reload them later. For supported formats and steps, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/sticky-notes.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/sticky-notes.md
new file mode 100644
index 0000000000..6ef12b1a7f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/sticky-notes.md
@@ -0,0 +1,162 @@
+---
+layout: post
+title: Add Sticky Notes Annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, add, customize, and manage Sticky Notes annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Sticky Notes Annotations in ASP.NET Core PDF Viewer
+
+Sticky Notes allow users to place comment markers on the PDF. When clicked, the note opens a popup containing comments, replies, and discussions. Use them to capture review feedback without altering the original content.
+
+
+
+## Enable Sticky Notes Annotation
+Include the minimal modules required to work with Sticky Notes for the PDF Viewer (Toolbar is optional but recommended for UI access).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The **Sticky Note** tool appears in the Annotation toolbar when annotation features are enabled.
+
+## Add Sticky Notes
+
+### Add Sticky Notes Using the Toolbar
+1. Open the **Annotation Toolbar**.
+2. Select the **Sticky Note** tool.
+3. Click anywhere on the page to place the note; click the note to open its popup and start commenting.
+
+
+
+N> Use the **Comments panel** to add replies or update status for the selected note.
+
+### Add Sticky Notes Programmatically
+Create a note at specific coordinates using `addAnnotation`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Sticky Note Appearance
+Configure default properties using the [`stickyNotesSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_StickyNotesSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Move, Edit, or Delete Sticky Notes
+
+- **Move**: Drag the note icon to a new location.
+- **Edit**: Click the note icon to open the popup; edit text, add replies, or change status in the **Comments panel**.
+
+### Edit Sticky Notes Annotation
+
+#### Edit Sticky Notes (UI)
+
+- **Icon style**: Open **Right Click → Properties** on a note to choose a different note icon style (e.g., classic note icon).
+- **Color**: Change the note color using the **Edit Color** tool in the annotation toolbar.
+- **Opacity**: Adjust transparency using the **Edit Opacity** tool.
+ 
+
+N> To tailor right‑click actions (Delete, Properties, etc.), see [**Customize Context Menu**](../../context-menu/custom-context-menu).
+
+#### Edit Sticky Notes Programmatically
+Update properties and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Sticky Note
+
+Delete Sticky Notes via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+## Set Default Properties During Initialization
+Configure defaults using [`stickyNotesSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_StickyNotesSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Sticky Note Events
+
+Listen to annotation life‑cycle events and filter for sticky notes. See [**Annotation Events**](../annotation-event) for the full list and argument details.
+
+## Export and Import
+Sticky Notes are included when exporting or importing annotations. For supported formats and workflows, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/strikethrough-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/strikethrough-annotation.md
new file mode 100644
index 0000000000..59db8ecd0a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/strikethrough-annotation.md
@@ -0,0 +1,213 @@
+---
+layout: post
+title: Strikethrough Text in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Strikethrough annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Strikethrough Annotation (Text Markup) in ASP.NET Core PDF Viewer
+This guide explains how to **enable**, **apply**, **customize**, and **manage** *Strikethrough* text markup annotations in the Syncfusion **ASP.NET Core PDF Viewer**. You can apply strikethrough using the toolbar or context menu, programmatically invoke strikethrough mode, customize default settings, handle events, and export the PDF with annotations.
+
+## Enable Strikethrough in the Viewer
+In the ASP.NET Core PDF Viewer, annotation modules such as Strikethrough annotation are enabled by default.
+
+This minimal setup enables UI interactions like selection and strikethrough.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Strikethrough Annotation
+
+### Add Strikethrough Using the Toolbar
+1. Select the text you want to strike through.
+2. Click the **Strikethrough** icon in the annotation toolbar.
+ - If **Pan Mode** is active, the viewer automatically switches to **Text Selection** mode.
+
+
+
+### Add strikethrough using Context Menu
+Right-click a selected text region → select **Strikethrough**.
+
+
+To customize menu items, refer to [**Customize Context Menu**](../../context-menu/custom-context-menu) documentation.
+
+### Enable Strikethrough Mode
+Switch the viewer into strikethrough mode using `setAnnotationMode('Strikethrough')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Strikethrough Mode
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Strikethrough Programmatically
+Use [`addAnnotation()`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) to insert a strikethrough at a specific location.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Strikethrough Appearance
+Configure default strikethrough settings such as **color**, **opacity**, and **author** using [`strikethroughSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_StrikethroughSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Strikethrough (Edit, Delete, Comment)
+
+### Edit Strikethrough
+
+#### Edit Strikethrough Appearance (UI)
+Use the annotation toolbar:
+- **Edit Color** tool
+
+- **Edit Opacity** slider
+
+
+#### Edit Strikethrough Programmatically
+Modify an existing strikethrough programmatically using `editAnnotation()` and `annotationCollection`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Strikethrough
+The PDF Viewer supports deleting existing annotations through both the UI and API. For detailed behavior, supported deletion workflows, and API reference, see [**Delete Annotation**](../remove-annotation).
+
+### Comments
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to strikethrough annotations. It provides a dedicated UI for reviewing feedback, tracking conversations, and collaborating on annotation–related notes within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+Set properties for individual annotations when adding them programmatically by supplying fields on each `addAnnotation('Strikethrough', …)` call.
+
+{% tabs %}
+{% highlight js tabtitle="Standalone" %}
+function addMultipleStrikethroughs() {
+ const viewer = document.getElementById('container').ej2_instances[0];
+ // Strikethrough 1
+ viewer.annotation.addAnnotation('Strikethrough', {
+ bounds: [{ x: 100, y: 150, width: 320, height: 14 }],
+ pageNumber: 1,
+ author: 'User 1',
+ color: '#ffff00',
+ opacity: 0.9
+ });
+ // Strikethrough 2
+ viewer.annotation.addAnnotation('Strikethrough', {
+ bounds: [{ x: 110, y: 220, width: 300, height: 14 }],
+ pageNumber: 1,
+ author: 'User 2',
+ color: '#ff1010',
+ opacity: 0.9
+ });
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Disable TextMarkup Annotation
+Disable text markup annotations (including strikethrough) using the `enableTextMarkupAnnotation` property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Strikethrough Events
+The PDF viewer provides annotation life-cycle events that notify when strikethrough annotations are added, modified, selected, or removed. For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations, allowing you to save annotations as a separate file or load existing annotations back into the viewer. For full details on supported formats and steps to export or import annotations, see [**Export and Import Annotation**](../export-import-annotations).
+
+## See Also
+
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/underline-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/underline-annotation.md
new file mode 100644
index 0000000000..d8c82f0a43
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/underline-annotation.md
@@ -0,0 +1,214 @@
+---
+layout: post
+title: Underline Text in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, apply, customize, and manage Underline annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Underline Annotation (Text Markup) in ASP.NET Core PDF Viewer
+
+This guide explains how to **enable**, **apply**, **customize**, and **manage** *Underline* text markup annotations in the Syncfusion **ASP.NET Core PDF Viewer**. You can underline text using the toolbar or context menu, programmatically invoke underline mode, customize default settings, handle events, and export the PDF with annotations.
+
+## Enable Underline in the Viewer
+
+In the ASP.NET Core PDF Viewer, annotation modules such as Underline annotation are enabled by default.
+This minimal setup enables UI interactions like selection and underlining.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Underline Annotation
+
+### Add Underline Using the Toolbar
+1. Select the text you want to underline.
+2. Click the **Underline** icon in the annotation toolbar.
+ - If **Pan Mode** is active, the viewer automatically switches to **Text Selection** mode.
+
+
+
+### Apply underline using Context Menu
+Right-click a selected text region → select **Underline**.
+
+
+
+To customize menu items, refer to [**Customize Context Menu**](../../context-menu/custom-context-menu) documentation.
+
+### Enable Underline Mode
+Switch the viewer into underline mode using `setAnnotationMode('Underline')`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Underline Mode
+Switch back to normal mode using:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Underline Programmatically
+Use [`addAnnotation()`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#addannotation) to insert an underline at a specific location.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Underline Appearance
+Configure default underline settings such as **color**, **opacity**, and **author** using [`underlineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_UnderlineSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Underline (Edit, Delete, Comment)
+
+### Edit Underline
+
+#### Edit Underline Appearance (UI)
+Use the annotation toolbar:
+- **Edit Color** tool
+
+- **Edit Opacity** slider
+
+
+#### Edit Underline Programmatically
+Modify an existing underline programmatically using `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Underline
+The PDF Viewer supports deleting existing annotations through both the UI and API. For detailed behavior, supported deletion workflows, and API reference, see [**Delete Annotation**](../remove-annotations).
+
+### Comments
+Use the [**Comments panel**](../comments) to add, view, and reply to threaded discussions linked to underline annotations. It provides a dedicated UI for reviewing feedback, tracking conversations, and collaborating on annotation–related notes within the PDF Viewer.
+
+## Set properties while adding Individual Annotation
+Set properties for individual annotations when adding them programmatically by supplying fields on each `addAnnotation('Underline', …)` call.
+
+{% tabs %}
+{% highlight js tabtitle="Standalone" %}
+function addMultipleUnderlines() {
+ const viewer = document.getElementById('container').ej2_instances[0];
+ // Underline 1
+ viewer.annotation.addAnnotation('Underline', {
+ bounds: [{ x: 100, y: 150, width: 320, height: 14 }],
+ pageNumber: 1,
+ author: 'User 1',
+ color: '#ffff00',
+ opacity: 0.9
+ });
+ // Underline 2
+ viewer.annotation.addAnnotation('Underline', {
+ bounds: [{ x: 110, y: 220, width: 300, height: 14 }],
+ pageNumber: 1,
+ author: 'User 2',
+ color: '#ff1010',
+ opacity: 0.9
+ });
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Disable TextMarkup Annotation
+Disable text markup annotations (including underline) using the `enableTextMarkupAnnotation` property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Underline Events
+The PDF viewer provides annotation life-cycle events that notify when underline annotations are added, modified, selected, or removed. For the full list of available events and their descriptions, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+The PDF Viewer supports exporting and importing annotations, allowing you to save annotations as a separate file or load existing annotations back into the viewer. For full details on supported formats and steps to export or import annotations, see [**Export and Import Annotation**](../export-import-annotations)
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/volume-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/volume-annotation.md
new file mode 100644
index 0000000000..ba6e3058bb
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotation-types/volume-annotation.md
@@ -0,0 +1,240 @@
+---
+layout: post
+title: Add Volume Annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to enable, draw, customize, and manage Volume measurement annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Add Volume Measurement Annotations in ASP.NET Core PDF Viewer
+Volume measurement annotations allow users to draw circular regions and calculate the volume visually.
+
+
+
+## Enable Volume Measurement
+Include the **Annotation** and **Toolbar** modules for the PDF Viewer to enable volume annotation tools.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Volume Annotation
+
+### Draw Volume Using the Toolbar
+
+1. Open the **Annotation Toolbar**.
+2. Select **Measurement → Volume**.
+3. Click and drag on the page to draw the volume.
+
+
+
+> If Pan mode is active, selecting the Volume tool automatically switches interaction mode.
+
+### Enable Volume Mode
+Programmatically switch the viewer into Volume mode.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Exit Volume Mode
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Volume Programmatically
+Configure default properties using the [`volumeSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_VolumeSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Volume Appearance
+Configure default properties using the [`volumeSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_VolumeSettings) property (for example, default **fill color**, **stroke color**, **opacity**).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Manage Volume (Move, Resize, Delete)
+- **Move**: Drag inside the polygon to reposition it.
+- **Reshape**: Drag any vertex handle to adjust points and shape.
+
+### Edit Volume Annotation
+
+#### Edit Volume (UI)
+
+- Edit the **fill color** using the Edit Color tool.
+ 
+- Edit the **stroke color** using the Edit Stroke Color tool.
+ 
+- Edit the **border thickness** using the Edit Thickness tool.
+ 
+- Edit the **opacity** using the Edit Opacity tool.
+ 
+- Open **Right Click → Properties** for additional line‑based options.
+ 
+
+#### Edit Volume Programmatically
+Update properties and call `editAnnotation()`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Delete Volume Annotation
+
+Delete Volume Annotation via UI (toolbar/context menu) or programmatically. For supported workflows and APIs, see [**Delete Annotation**](../remove-annotations).
+
+
+## Set Default Properties During Initialization
+Apply defaults for Volume using the [`volumeSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_VolumeSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set Properties While Adding Individual Annotation
+Apply defaults for Volume using the [`volumeSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_VolumeSettings) property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Scale Ratio & Units
+- Use **Scale Ratio** from the context menu.
+ 
+- Supported units: Inch, Millimeter, Centimeter, Point, Pica, Feet.
+ 
+
+### Set Default Scale Ratio During Initialization
+Configure scale defaults using [`measurementSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_MeasurementSettings).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Handle Volume Events
+Listen to annotation life-cycle events (add/modify/select/remove). For the full list and parameters, see [**Annotation Events**](../annotation-event).
+
+## Export and Import
+Volume measurements can be exported or imported with other annotations. For workflows and supported formats, see [**Export and Import annotations**](../export-import-annotations).
+
+## See Also
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Customize Context Menu](../../context-menu/custom-context-menu)
+- [Comments Panel](../comments)
+- [Annotation Events](../annotation-event)
+- [Export and Import annotations](../export-import-annotations)
+- [Delete Annotations](../remove-annotations)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotations-api.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotations-api.md
new file mode 100644
index 0000000000..67080fa1e7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotations-api.md
@@ -0,0 +1,1169 @@
+---
+layout: post
+title: Annotations API in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn here all about how to read and configure annotations using APIs in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Annotations API in ASP.NET Core
+
+The PDF Viewer provides APIs to read the loaded annotations and to configure global defaults for creating/editing annotations.
+
+| API | Description |
+|---|---|
+| [annotationCollection](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#annotationcollection) | Gets the loaded document annotation collection. |
+| [annotationDrawingOptions](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AnnotationDrawingOptions) | Options to configure line-type annotation drawing behavior. |
+| [annotationSelectorSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AnnotationSelectorSettings) | Configures the annotation selector (selection UI). |
+| [annotationSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AnnotationSettings) | Global defaults for all annotations. |
+| [areaSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AreaSettings) | Defaults for Area annotations. |
+| [arrowSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ArrowSettings) | Defaults for Arrow annotations. |
+| [circleSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_CircleSettings) | Defaults for Circle annotations. |
+| [customStamp](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_CustomStamp) | Defines custom stamp items. |
+| [customStampSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_CustomStampSettings) | Defaults for Custom Stamp annotations. |
+| [distanceSettings](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_DistanceSettings) | Defaults for Distance annotations. |
+
+## annotationCollection
+Read the loaded document annotation collection from the viewer instance.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../../annotation/create-modify-annotation)
+- [Customize Annotation](../../annotation/customize-annotation)
+- [Remove Annotation](../../annotation/delete-annotation)
+- [Handwritten Signature](../../annotation/signature-annotation)
+- [Export and Import Annotation](../../annotation/export-import/export-annotation)
+- [Annotation in Mobile View](../../annotation/annotations-in-mobile-view)
+- [Annotation Events](../../annotation/annotation-event)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotations-undo-redo.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotations-undo-redo.md
new file mode 100644
index 0000000000..8c682c5f1c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/annotations-undo-redo.md
@@ -0,0 +1,64 @@
+---
+layout: post
+title: Undo and Redo annotation in Core PDF Viewer | Syncfusion
+Syncfusion description: Learn to undo and redo annotation changes in Syncfusion ASP.NET Core PDF Viewer, with UI and programmatic examples.
+platform: aspnet-core
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Undo and Redo Annotations in ASP.NET Core PDF Viewer
+
+The ASP.NET Core PDF Viewer supports undo and redo operations for annotations.
+
+
+
+Undo and redo actions can be performed by using either of the following methods:
+
+1. Using keyboard shortcuts (desktop):
+ After performing an annotation action, press `Ctrl+Z` to undo and `Ctrl+Y` to redo on Windows and Linux. On macOS, use `Command+Z` to undo and `Command+Shift+Z` to redo.
+2. Using the toolbar:
+ Use the **Undo** and **Redo** tools in the toolbar.
+
+Refer to the following code snippet to call undo and redo actions from the client side.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../../annotation/create-modify-annotation)
+- [Customize Annotation](../../annotation/customize-annotation)
+- [Remove Annotation](../../annotation/delete-annotation)
+- [Handwritten Signature](../../annotation/signature-annotation)
+- [Export and Import Annotation](../../annotations/export-import/export-annotation)
+- [Annotation in Mobile View](../../annotation/annotations-in-mobile-view)
+- [Annotation Events](../../annotation/annotation-event)
+- [Annotations API](../annotation/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/comments.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/comments.md
index 6d2d4b2b82..e24fc8f3b2 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/comments.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/comments.md
@@ -1,235 +1,336 @@
---
layout: post
title: Comments in ASP.NET Core PDF Viewer | Syncfusion
-description: Add, reply, and manage comments in ASP.NET Core PDF Viewer with support for comment threads, replies, status tracking and programmatic controls.
+description: Learn how to add, reply to, edit, set status for, delete, and read comments for annotations in the Syncfusion ASP.NET Core PDF Viewer.
platform: document-processing
control: PDF Viewer
documentation: ug
+domainurl: ##DomainURL##
---
# Comments in ASP.NET Core PDF Viewer
-The PDF Viewer control provides comprehensive comment management capabilities for annotation discussions and collaboration. Add, reply, edit, and delete comments across multiple annotation types.
+The PDF Viewer lets you add, edit, reply to, set status for, and delete comments on the following annotation types:
-## Supported annotation types
+* Shape annotation
+* Stamp annotation
+* Sticky note annotation
+* Measurement annotation
+* Text markup annotation
+* Free text annotation
+* Ink annotation
-Comments can be added to the following annotation types in PDF documents:
+
-* Shape annotation
-* Stamp annotation
-* Sticky note annotation
-* Measurement annotation
-* Text markup annotation
-* Free text annotation
-* Ink annotation
+## Add a comment to an annotation (UI)
-
+Use the **Comments panel** to manage annotation comments, replies, and status.
-## Adding a comment to the annotation
+### Open the Comments panel
+Open the panel in any of these ways:
-Annotation comments, replies, and status can be managed in the PDF document using the comment panel.
+1. **Annotation toolbar**
+ * Click **Edit Annotation** in the toolbar to show the secondary toolbar.
+ * Click **Comment Panel** to open the panel.
+2. **Context menu**
+ * Select an annotation and **right‑click** it.
+ * Choose **Comment** from the context menu.
+3. **Double‑click**
+ * Select the annotation and **double‑click** it to open the panel.
-## Comment panel
+If the panel is already open, selecting an annotation highlights its thread so you can view or add comments.
-The comment panel provides a centralized interface for managing all annotation comments and discussions. The comment panel can be opened in multiple ways:
+### Add comments and replies
+- Select the annotation in the PDF.
+- The corresponding thread is highlighted in the Comments panel.
+- Add comments and any number of replies in the panel.
-### Opening the comment panel
+
-**Method 1: Using the annotation toolbar**
-1. Click the **Edit Annotation** button in the PDF Viewer toolbar
-2. A secondary toolbar appears below the main toolbar
-3. Click the **Comment Panel** button
-4. The comment panel opens on the right side of the screen
+### Set comment or reply status
+- Select a comment in the panel.
+- Click **More options** on the comment or reply container.
+- Choose **Set Status**, then pick a status.
-**Method 2: Using context menu**
-1. Select an annotation in the PDF document
-2. Right-click to open the context menu
-3. Select **Comment** from the menu
-4. The comment panel opens and shows that annotation's thread
-
-**Method 3: Using double-click**
-1. Select an annotation in the PDF document
-2. Double-click the annotation
-3. The comment panel opens automatically
-
-
-
-### Working with the comment panel
-
-Once the comment panel is open:
-- The corresponding comment thread for the selected annotation is automatically highlighted
-- Add new comments using the text input field
-- View all replies to parent comments
-- Edit or delete existing comments
-- Change comment status from the options menu
-
-### Adding comments
-
-**Step-by-step guide:**
-
-1. **Select the annotation** - Click on any annotation in the PDF document
-2. **View comment thread** - The corresponding comment thread is automatically highlighted in the comment panel
-3. **Enter comment text** - Type your comment in the text input field at the bottom of the thread
-4. **Submit comment** - Press Enter or click the Post button to post the comment
-
-
+
-### Adding comment replies
+### Edit comments and replies
+You can edit comments in two ways:
-Comments support threaded discussions through replies.
+1. **Context menu**
+ * Select the comment in the panel and click **More options**.
+ * Choose **Edit** to switch to an editable text box.
+2. **Mouse double‑click**
+ * Double‑click the comment or reply to edit its content.
-- Multiple replies can be added to a single comment
-- Replies maintain the conversation context within the thread
-- All replies are nested under the parent comment
-- Edit and delete options available for each reply
+
-**Creating a reply:**
-1. Click an existing comment in the thread
-2. Click the **Add a reply** button
-3. Type your reply text in the reply input field
-4. Press Enter or click submit to post the reply
+### Delete comments or replies
+- Select the comment in the panel.
+- Click **More options** → **Delete**.
-### Adding comment or reply status
+
-Comments and replies can have status indicators for workflow tracking.
+> Deleting the **root** comment from the Comments panel also deletes the associated annotation.
-**Setting status:**
+## Add Comments to the annotation Programmatically
-1. Select the annotation comment in the comment panel
-2. Click the **More options** menu (three dots) on the comment or reply container
-3. Select **Set Status** from the context menu
-4. Choose a status from the dropdown:
- - **None** - Default state
- - **Accepted** - Comment approved
- - **Rejected** - Comment rejected
- - **Cancelled** - Comment cancelled
+### Add comments and replies programmatically
-
+Comments can be added to the PDF document programmatically using the `editAnnotation` property.
-### Editing the comments and comments replies of the annotations
+The following example Shows how to add comments and reply in response to a button click.
-Comments, replies, and status can be edited at any time using the comment panel interface.
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+{% raw %}
+
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
-### Editing comments or replies
+### Edit comments and replies programmatically
-Edit comments and replies using one of these methods:
+Comments can be edited in the PDF document programmatically using the `editAnnotation` property.
-**Method 1: Using the context menu**
-1. Select the annotation comment in the comment panel
-2. Click the **More options** menu on the comment or reply container
-3. Select **Edit** from the context menu
-4. An editable text box appears
-5. Change the comment or reply content
-6. Press Enter or click Post to confirm changes
+The following example Shows how to edit comments and reply in response to a button click.
-**Method 2: Using mouse click**
-1. Select the annotation comment in the comment panel
-2. Double-click directly on the comment or reply text
-3. The text becomes editable inline
-4. Modify the content as needed
-5. Press Enter to save or Escape to cancel
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+{% raw %}
+
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
-### Editing comment or reply status
+### Read comments added by users
-Status can be changed at any time:
+Comments added to the PDF document can be read using the annotation's `comments` property.
-1. Select the annotation comment in the comment panel
-2. Click the **More options** menu on the comment or reply
-3. Select **Set Status** from the context menu
-4. Choose a new status from the dropdown
+The following example logs comments in response to a button click.
-**Status states:**
-- **None**
-- **Accepted**
-- **Rejected**
-- **Cancelled**
-- **Completed**
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+{% raw %}
+
+
+
+
+
+
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
-
+## Annotation and Review Workflow Patterns
-### Delete comments or replies
+The PDF Viewer supports review workflows by combining [annotations](../annotation/overview), [comments](../annotation/comments), and threaded [replies](../annotation/comments#add-comments-and-replies). These capabilities help reviewers mark content, discuss changes, and navigate feedback efficiently during document review cycles.
-Remove comments and replies from the discussion thread:
+### Understanding Review Workflows
-1. Select the annotation comment in the comment panel
-2. Click the **More options** menu on the comment or reply
-3. Select **Delete** from the context menu
-4. The comment or reply is removed from the thread
+Annotations act as visual markers during review—such as [highlights](../annotation/annotation-types/highlight-annotation), [shapes](../annotation/annotation-types/area-annotation), [stamps](../annotation/annotation-types/stamp-annotation), or [sticky notes](../annotation/annotation-types/sticky-notes) while [comments](../annotation/comments) provide a communication space attached to each annotation. Multiple reviewers can participate in these annotation threads, making the review process more organized and traceable.
-
+During a review cycle, users typically:
-N> Deleting the root comment (the first comment in a thread) from the comment panel also deletes the associated annotation from the PDF document.
+- Add annotations to indicate a change, highlight text, or mark an issue.
+
+- Use comments to explain the purpose of the annotation.
+
+- Reply to comments to maintain a review discussion thread.
+- Navigate between comments and related annotations for clarity.
+- Finalize review by addressing or resolving each thread.
-## How to check the comments added by the user
+### Using Comments in Review Workflows
-Comments can be accessed and processed programmatically through the annotation's `comments` property, enabling integration with external systems and custom workflows.
+Comments are a key part of review workflows. They allow reviewers to communicate directly on annotations without altering the underlying PDF content.
-### Example: Access and log comments from annotations
+Key behaviors in review workflows:
-{% tabs %}
-{% highlight cshtml tabtitle="Standalone" %}
+- Comments allow multiple reviewers to discuss changes directly on annotations.
+ - Replies help maintain a threaded discussion during review.
+- Selecting a comment highlights the related annotation, improving navigation.
+- Comments can be combined with Sticky Notes, Highlights, Shapes, Stamps, and other annotation types.
-
-
-
+- Centralize feedback inside the PDF document itself.
+- Maintain a clear discussion history on each annotation.
+- Avoid duplicated or conflicting feedback.
+- Navigate long documents quickly using comment threads.
+ - Improve clarity when multiple reviewers participate.
-
+These review patterns are especially useful in content editing, design review, legal documentation, product validation, and quality control workflows.
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
+## See also
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotationsannotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/create-modify-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/create-modify-annotation.md
new file mode 100644
index 0000000000..56aab6f38e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/create-modify-annotation.md
@@ -0,0 +1,165 @@
+---
+layout: post
+title: Create and modify annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to create and modify annotations in Syncfusion ASP.NET Core PDF Viewer with UI and programmatic examples, plus quick links to all annotation types.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Create and modify annotations in ASP.NET Core
+
+The PDF Viewer annotation tools add, edit, and manage markups across documents. This page provides an overview with quick navigation to each annotation type and common creation and modification workflows.
+
+## Quick navigation to annotation types
+
+Jump directly to a specific annotation type for detailed usage and examples:
+
+TextMarkup annotations:
+
+- Highlight: [Highlight annotation](./annotation-types/highlight-annotation)
+- Strikethrough: [Strikethrough annotation](./annotation-types/strikethrough-annotation)
+- Underline: [Underline annotation](./annotation-types/underline-annotation)
+- Squiggly: [Squiggly annotation](./annotation-types/Squiggly-annotation)
+
+Shape annotations:
+
+- Line: [Line annotation](./annotation-types/line-annotation)
+- Arrow: [Arrow annotation](./annotation-types/arrow-annotation)
+- Rectangle: [Rectangle annotation](./annotation-types/rectangle-annotation)
+- Circle : [Circle annotation](./annotation-types/circle-annotation)
+- Polygon: [Polygon annotation](./annotation-types/polygon-annotation)
+
+Measurement annotations:
+
+- Distance: [Distance annotation](./annotation-types/distance-annotation)
+- Perimeter: [Perimeter annotation](./annotation-types/perimeter-annotation)
+- Area: [Area annotation](./annotation-types/area-annotation)
+- Radius: [Radius annotation](./annotation-types/ra)
+- Volume: [Volume annotation](./annotation-types/vo)
+
+Other annotations:
+
+- Redaction: [Redaction annotation](./annotation-types/redaction-annotation)
+- Free Text: [Free text annotation](./annotation-types/free-text-annotation)
+- Ink (Freehand): [Ink annotation](./annotation-types/ink-annotation)
+- Stamp: [Stamp annotation](./annotation-types/stamp-annotation)
+- Sticky Notes: [Sticky notes annotation](./annotation-types/sticky-notes-annotation)
+
+N> Each annotation type page includes both UI steps and programmatic examples specific to that type.
+
+## Create annotations
+
+### Create via UI
+
+- Open the annotation toolbar in the PDF Viewer.
+- Choose the required tool (for example, Shape, Free text, Ink, Stamp, Redaction).
+- Click or drag on the page to place the annotation.
+
+
+
+Note:
+- When pan mode is active and a shape or stamp tool is selected, the viewer switches to text select mode automatically.
+- Property pickers in the annotation toolbar let users choose color, stroke color, thickness, and opacity while drawing
+
+### Create programmatically
+
+Creation patterns vary by type. Refer to the individual annotation pages for tailored code. Example: creating a Redaction annotation using [`addAnnotation`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_AnnotationSettings).
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+Refer to the individual annotation pages for enabling draw modes from UI buttons and other type-specific creation samples.
+
+## Modify annotations
+
+### Modify via UI
+
+Use the annotation toolbar after selecting an annotation:
+- Edit color: change the fill or text color (when applicable)
+
+- Edit stroke color: change the border or line color (shape and line types)
+
+- Edit thickness: adjust the border or line thickness
+
+- Edit opacity: change transparency
+
+
+
+Additional options such as Line Properties (for line/arrow) are available from the context menu (right-click > Properties) where supported.
+
+### Modify programmatically
+
+Use `editAnnotation` to apply changes to an existing annotation. Common flow:
+- Locate the target annotation from `annotationCollection`.
+- Update the desired properties.
+- Call `editAnnotation` with the modified object.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For type-specific edit examples (for example, editing line endings, moving stamps, or updating sticky note bounds), see the corresponding annotation type page linked above.
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/custom-data.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/custom-data.md
new file mode 100644
index 0000000000..155347206b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/custom-data.md
@@ -0,0 +1,143 @@
+---
+layout: post
+title: Custom Data in annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn here all about how to use add custom Data in annotation in Syncfusion ASP.NET Core PDF Viewer Component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Custom data in annotations in ASP.NET Core
+
+Annotations can include custom key–value data via the `customData` property. This is supported at two levels:
+
+- Default level via `annotationSettings`: applies to all annotations created through the UI.
+- Per-annotation-type level: provide `customData` inside specific annotation-type settings (for example, `highlightSettings`, `rectangleSettings`).
+
+The `customData` value can be any JSON-serializable object. It is preserved during annotation export/import and is available at runtime on the annotation object.
+
+## Default custom data (annotationSettings)
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Custom data for Individual Annotation
+
+Provide customData inside individual annotation-type settings when you want specific payloads for different tools.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Retrieve custom data at runtime
+
+You can access the customData for any annotation through the viewer's annotationCollection. For example, wire a button click to iterate all annotations and read their custom payloads.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Note
+- `customData` can be any JSON-serializable object and is stored with the annotation.
+- Use `annotationSettings.customData` for global defaults and override with per-tool settings as needed.
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/aspnet-core-pdf-viewer-examples)
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotations/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotations/create-modify-annotation)
+- [Customize Annotation](../annotations/customize-annotation)
+- [Remove Annotation](../annotations/delete-annotation)
+- [Handwritten Signature](../annotations/signature-annotation)
+- [Export and Import Annotation](../annotations/export-import/export-annotation)
+- [Annotation Permission](../annotations/annotation-permission)
+- [Annotation in Mobile View](../annotations/annotations-in-mobile-view)
+- [Annotation Events](../annotations/annotation-event)
+- [Annotation API](../annotations/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/custom-tools.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/custom-tools.md
new file mode 100644
index 0000000000..301ba5ef74
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/custom-tools.md
@@ -0,0 +1,164 @@
+---
+layout: post
+title: Custom annotation tools in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to build a custom toolbar for Syncfusion ASP.NET Core PDF Viewer and switch annotation tools programmatically using setAnnotationMode.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Custom annotation tools in ASP.NET Core PDF Viewer
+
+The PDF Viewer supports adding a custom toolbar and toggling annotation tools programmatically using the `setAnnotationMode` method. The viewer can enable tools such as Highlight, Underline, Rectangle, Circle, Arrow, Free Text, Ink, and measurement annotations (Distance, Perimeter, Area, Radius)
+
+Follow these steps to build a minimal custom annotation toolbar.
+
+Step 1: Start from a basic PDF Viewer sample
+
+Refer to the [Getting started guide](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/asp-net-core/getting-started) to create a basic sample.
+
+Step 2: Add a lightweight custom toolbar with HTML buttons
+
+Add buttons for the tools to expose. The sample below uses plain HTML buttons for simplicity; replace with a Syncfusion ToolbarComponent for a richer UI if desired.
+
+Step 3: Configure the PDF Viewer element
+
+Ensure the PDF Viewer element includes the `resourceUrl` attribute to load required modules for annotation support.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Custom tools using Syncfusion Toolbar for a richer UI
+
+Replace the plain buttons with a Syncfusion `ToolbarComponent` and icons for a richer UI. Wire each item's `click` handler to `setAnnotationMode` with appropriate annotation mode values.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+Note
+
+- `setAnnotationMode` accepts the annotation type name. Common values include: `Highlight`, `Underline`, `Strikethrough`, `StickyNotes`, `FreeText`, `Ink`, `Rectangle`, `Circle`, `Line`, `Arrow`, `Polygon`, `Polyline`, `Distance`, `Perimeter`, `Area`, `Radius`, and `None` to exit.
+- Default annotation styles can be predefined using the corresponding settings properties (for example, `areaSettings`).
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/aspnet-core-pdf-viewer-examples)
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/customize-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/customize-annotation.md
new file mode 100644
index 0000000000..f362ab3d6b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/customize-annotation.md
@@ -0,0 +1,219 @@
+---
+layout: post
+title: Customize annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to customize PDF annotations in Syncfusion ASP.NET Core PDF Viewer using UI tools and programmatic settings (defaults and runtime edits).
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Customize annotations in ASP.NET Core
+
+Annotation appearance and behavior (for example color, stroke color, thickness, and opacity) can be customized using the built‑in UI or programmatically. This page summarizes common customization patterns and shows how to set defaults per annotation type.
+
+## Customize via UI
+
+Use the annotation toolbar after selecting an annotation:
+- Edit color: changes the annotation fill/text color
+
+- Edit stroke color: changes border or line color for shapes and lines types.
+
+- Edit thickness: adjusts border or line thickness
+
+- Edit opacity: adjusts transparency
+
+
+Type‑specific options (for example, Line properties) are available from the context menu (right‑click > Properties) where supported.
+
+## Set default properties during initialization
+
+Set defaults for specific annotation types when creating the `PdfViewer` instance. Configure properties such as author, subject, color, and opacity using annotation settings. The examples below reference settings used on the annotation type pages.
+
+Text markup annotations:
+
+- Highlight: Set default properties before creating the control using [`highlightSettings`](./annotation-types/highlight-annotation#set-properties-while-adding-individual-annotation)
+- Strikethrough: Use [`strikethroughSettings`](./annotation-types/strikethrough-annotation#set-properties-while-adding-individual-annotation)
+- Underline: Use [`underlineSettings`](./annotation-types/underline-annotation#set-properties-while-adding-individual-annotation)
+- Squiggly: Use [`squigglySettings`](./annotation-types/Squiggly-annotation#set-properties-while-adding-individual-annotation)
+
+Shape annotations:
+
+- Line: Use [`lineSettings`](./annotation-types/line-annotation#set-properties-while-adding-individual-annotation)
+- Arrow: Use [`arrowSettings`](./annotation-types/arrow-annotation#set-properties-while-adding-individual-annotation)
+- Rectangle: Use [`rectangleSettings`](./annotation-types/rectangle-annotation#set-properties-while-adding-individual-annotation)
+- Circle: Use [`circleSettings`](./annotation-types/circle-annotation#set-properties-while-adding-individual-annotation)
+- Polygon: Use [`polygonSettings`](./annotation-types/polygon-annotation#set-properties-while-adding-individual-annotation)
+
+Measurement annotations:
+
+- Distance: Use [`distanceSettings`](./annotation-types/distance-annotation#set-default-properties-during-initialization)
+- Perimeter: Use [`perimeterSettings`](./annotation-types/perimeter-annotation#set-default-properties-during-initialization)
+- Area: Use [`areaSettings`](./annotation-types/area-annotation#set-default-properties-during-initialization)
+- Radius: Use [`radiusSettings`](./annotation-types/radius-annotation#set-default-properties-during-initialization)
+- Volume: Use [`volumeSettings`](./annotation-types/volume-annotation#set-default-properties-during-initialization)
+
+Other Annotations:
+
+- Redaction: Use [`redactionSettings`](./annotation-types/redaction-annotation#default-redaction-settings-during-initialization)
+- Free text: Use [`freeTextSettings`](./annotation-types/free-text-annotation#set-default-properties-during-initialization)
+- Ink (freehand): Use [`inkAnnotationSettings`](./annotation-types/ink-annotation#customize-ink-appearance)
+- Stamp: Use [`stampSettings`](./annotation-types/stamp-annotation#set-properties-while-adding-individual-annotation)
+- Sticky notes: Use [`stickyNotesSettings`](./annotation-types/sticky-notes#set-default-properties-during-initialization)
+
+Set defaults for specific annotation types when creating the `ejs-pdfviewer` element. Below are examples using settings already used in the annotation type pages.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> After changing defaults using UI tools (for example, Edit color or Edit opacity), the updated values apply to subsequent annotations within the same session.
+
+## Customize programmatically at runtime
+
+To update an existing annotation from code, modify its properties and call editAnnotation.
+
+Example: bulk‑update matching annotations.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize Annotation Settings
+
+Defines the settings of the annotations. You can change annotation settings like author name, height, width etc., using the `annotationSettings` property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+## Customize Annotation SelectorSettings
+
+Defines the settings of annotation selector. You can customize the annotation selector using the `annotationSelectorSettings` property.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/aspnet-core-pdf-viewer-examples)
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/delete-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/delete-annotation.md
new file mode 100644
index 0000000000..2e4fb92880
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/delete-annotation.md
@@ -0,0 +1,82 @@
+---
+layout: post
+title: Remove annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to remove/delete PDF annotations in Syncfusion ASP.NET Core PDF Viewer using UI options (context menu, toolbar, Delete key) and programmatic APIs.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Remove annotations in ASP.NET Core
+
+Annotations can be removed using the built-in UI or programmatically. This page shows common methods to delete annotations in the viewer.
+
+## Delete via UI
+
+A selected annotation can be deleted in three ways:
+
+- Context menu: right-click the annotation and choose Delete.
+
+- Annotation toolbar: select the annotation and click the Delete button on the annotation toolbar.
+
+- Keyboard: select the annotation and press the `Delete` key.
+
+## Delete programmatically
+
+Annotations can be deleted programmatically either by removing the currently selected annotation or by specifying an annotation id.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Deleting via the API requires the annotation to exist in the current document. Ensure an annotation is selected when using `deleteAnnotation()`, or pass a valid id to `deleteAnnotationById()`.
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/aspnet-core-pdf-viewer-examples)
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/export-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/export-annotation.md
new file mode 100644
index 0000000000..5c8357bd99
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/export-annotation.md
@@ -0,0 +1,107 @@
+---
+layout: post
+title: Export annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to Export annotations in Syncfusion ASP.NET Core PDF Viewer using UI options and programmatic APIs.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Export annotations in ASP.NET Core PDF Viewer
+
+PDF Viewer provides support to export annotations. You can export annotations from the PDF Viewer in two ways:
+
+- Using the built-in UI in the Comments panel (JSON or XFDF file)
+- Programmatically (JSON, XFDF, or as an object for custom handling)
+
+## Export using the UI (Comments panel)
+
+The Comments panel provides export actions in its overflow menu:
+
+- Export annotation to JSON file
+- Export annotation to XFDF file
+
+Follow the steps to export annotations:
+
+1. Open the Comments panel in the PDF Viewer.
+2. Click the overflow menu (three dots) at the top of the panel.
+3. Choose Export annotation to JSON file or Export annotation to XFDF file.
+
+This generates and downloads the selected format containing all annotations in the current document.
+
+
+
+## Export programmatically
+
+You can export annotations from code using [exportAnnotation](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#exportannotation), [exportAnnotationsAsObject](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#exportannotationsasobject) and [exportAnnotationsAsBase64String](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#exportannotationsasbase64string) APIs.
+
+Use the following example to initialize the viewer and export annotations as JSON, XFDF, or as an object.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Common use cases
+
+- Archive or share annotations as portable JSON/XFDF files
+- Save annotations alongside a document in your storage layer
+- Send annotations to a backend for collaboration or review workflows
+- Export as object for custom serialization and re-import later
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master)
+
+## See also
+
+- [Annotation Overview](../../overview)
+- [Annotation Types](../../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../../annotation/create-modify-annotation)
+- [Customize Annotation](../../annotation/customize-annotation)
+- [Remove Annotation](../../annotation/delete-annotation)
+- [Handwritten Signature](../../annotation/signature-annotation)
+- [Import Annotation](../export-import/import-annotation)
+- [Import Export Events](../export-import/export-import-events)
+- [Annotation Permission](../../annotation/annotation-permission)
+- [Annotation in Mobile View](../../annotation/annotations-in-mobile-view)
+- [Annotation Events](../../annotation/annotation-event)
+- [Annotation API](../../annotation/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/export-import-events.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/export-import-events.md
new file mode 100644
index 0000000000..74f25f64b3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/export-import-events.md
@@ -0,0 +1,93 @@
+---
+layout: post
+title: Import/Export events in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to handle Import/Export events for PDF Annotations in the Syncfusion ASP.NET Core PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Import/Export events in ASP.NET Core PDF Viewer
+
+Import/export events let developers monitor and control annotation data as it flows into and out of the PDF Viewer. These events enable validation, progress reporting, audit logging, and conditional blocking of import/export operations.
+
+Common use cases:
+- Progress UI and user feedback
+- Validation and sanitization of imported annotation data
+- Audit logging and telemetry
+- Blocking or altering operations based on business rules
+
+Each event exposes typed event-args: `ImportStartEventArgs`, `ImportSuccessEventArgs`, `ImportFailureEventArgs`, `ExportStartEventArgs`, `ExportSuccessEventArgs`, and `ExportFailureEventArgs` that describe the operation context.
+
+## Import events
+- [`importStart`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ImportStart): Triggers when an import operation starts.
+- [`importSuccess`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ImportSuccess): Triggers when annotations are successfully imported.
+- [`importFailed`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ImportFailed): Triggers when importing annotations fails.
+
+## Handle import events
+Example: handle import events by wiring handlers after initializing the viewer.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Export events
+- [`exportStart`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ExportStart): Triggers when an export operation starts.
+- [`exportSuccess`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ExportSuccess): Triggers when annotations are successfully exported.
+- [`exportFailed`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ExportFailed): Triggers when exporting annotations fails.
+
+## Handle export events
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> `importStart`, `importSuccess`, and `importFailed` cover the lifecycle of annotation imports; `exportStart`, `exportSuccess`, and `exportFailed` cover the lifecycle of annotation exports.
+
+## See also
+
+- [Annotation Overview](../../overview)
+- [Annotation Types](../../annotations/annotation-types/area-annotation)
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../../annotations/create-modify-annotation)
+- [Customize Annotation](../../annotations/customize-annotation)
+- [Remove Annotation](../../annotations/delete-annotation)
+- [Handwritten Signature](../../annotations/signature-annotation)
+- [Export Annotation](../export-import/export-annotation)
+- [Import Annotation](../export-import/import-annotation)
+- [Annotation Permission](../../annotations/annotation-permission)
+- [Annotation in Mobile View](../../annotations/annotations-in-mobile-view)
+- [Annotation Events](../../annotations/annotation-event)
+- [Annotation API](../../annotations/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/import-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/import-annotation.md
new file mode 100644
index 0000000000..e945449b2d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/export-import/import-annotation.md
@@ -0,0 +1,98 @@
+---
+layout: post
+title: Import annotations in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to import annotations in Syncfusion ASP.NET Core PDF Viewer using UI options and programmatic APIs.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Import annotations in ASP.NET Core PDF Viewer
+
+Annotations can be imported into the PDF Viewer using the built-in UI or programmatically. The UI accepts JSON and XFDF files from the Comments panel; programmatic import accepts an annotation object previously exported by the viewer.
+
+## Import using the UI (Comments panel)
+
+The Comments panel provides import options in its overflow menu:
+
+- Import annotations from JSON file
+- Import annotations from XFDF file
+
+Steps:
+1. Open the Comments panel in the PDF Viewer.
+2. Click the overflow menu (three dots) at the top of the panel.
+3. Choose the appropriate import option and select the file.
+
+All annotations in the selected file are applied to the current document.
+
+
+
+## Import programmatically (from object)
+
+Import annotations from an object previously exported using `exportAnnotationsAsObject()`. Only objects produced by the viewer can be re-imported with the [`importAnnotation`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/index-default#importannotation) API.
+
+Example: export annotations as an object and import them back into the viewer.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Only objects produced by the viewer (for example, by `exportAnnotationsAsObject()`) are compatible with `importAnnotation`. Persist exported objects in a safe storage location (database or API) and validate them before import.
+
+## Common use cases
+
+- Restore annotations saved earlier (for example, from a database or API)
+- Apply reviewer annotations shared as JSON/XFDF files via the Comments panel
+- Migrate or merge annotations between documents or sessions
+- Support collaborative workflows by reloading team annotations
+
+[View sample on GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master)
+
+## See also
+
+- [Annotation Overview](../../overview)
+- [Annotation Types](../../annotations/annotation-types/area-annotation)
+- [Annotation Toolbar](../../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../../annotations/create-modify-annotation)
+- [Customize Annotation](../../annotations/customize-annotation)
+- [Remove Annotation](../../annotations/delete-annotation)
+- [Handwritten Signature](../../annotations/signature-annotation)
+- [Export Annotation](../export-import/export-annotation)
+- [Import Export Events](../export-import/export-import-events)
+- [Annotation Permission](../../annotations/annotation-permission)
+- [Annotation in Mobile View](../../annotations/annotations-in-mobile-view)
+- [Annotation Events](../../annotations/annotation-event)
+- [Annotation API](../../annotations/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/flatten-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/flatten-annotation.md
new file mode 100644
index 0000000000..1d137898e2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/flatten-annotation.md
@@ -0,0 +1,102 @@
+---
+layout: post
+title: Flatten Annotations in the Syncfusion ASP.NET Core PDF Viewer
+description: Learn how all about how to flatten annotations and formfields before saving a PDF in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Flatten Annotations in ASP.NET Core PDF Viewer
+
+Flattening takes the visual appearance of annotations and embeds them into each page's content stream. The visual result remains visible, but the annotation objects and interactive form field structures are removed or converted so they can no longer be selected, edited, or filled.
+
+Flattening annotations permanently merges them into the PDF content. Once flattened:
+- Annotations are **no longer editable** in any PDF viewer.
+- Useful for **secure sharing**, preventing modifications.
+- Ideal when **finalizing markup** before distribution.
+
+## How to Flatten Annotations
+
+You can flatten annotations either when a document is loaded (preprocessing) or when exporting/saving the file. Flattening on load makes the viewer display a flattened version immediately; flattening on export preserves the original viewer session while producing a flattened output file.
+
+Typical export-time steps:
+- Save the viewer contents to a Blob.
+- Create a `PdfDocument` from the saved bytes.
+- Enable `document.flatten = true` to merge annotations and form field appearances.
+- Save the resulting PDF.
+
+Use the example below to flatten at export time (on download).
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> To flatten documents when they are uploaded/loaded into the viewer, see [Flatten on Load](../document-handling/preprocess-pdf#flatten-on-load).
+
+
+## Notes
+
+- Flattening applies to **all annotation types**: text markup, shapes, stamps, notes, ink, and form fields.
+- Once flattened, annotations **cannot be edited or removed**.
+- Use flattening **only at export time**, not during regular document interactions.
+
+## See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/free-text-annotation.md
index cbb7e8497c..30fb2ada5f 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/free-text-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/free-text-annotation.md
@@ -1,314 +1,336 @@
---
layout: post
-title: Free Text Annotations in ASP.NET Core PDF Viewer | Syncfusion
-description: Add and customize free text annotations in ASP.NET Core PDF Viewer with control over formatting tools with programmatic APIs.
+title: "Free text annotation in ASP.NET Core PDF Viewer control"
+description: "Learn about free text annotations in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2): add, edit, delete, and default settings."
platform: document-processing
control: PDF Viewer
documentation: ug
+domainurl: ##DomainURL##
---
-# Free Text Annotations in ASP.NET Core PDF Viewer
+# Free text annotation in ASP.NET Core PDF Viewer component
-The PDF Viewer control provides comprehensive free text annotation capabilities for adding, editing, deleting, and customizing text annotations with full typographic and styling control.
+The PDF Viewer provides tools to add, edit, and remove free-text annotations.
-## Add a free text annotation to the PDF document
+## Add a free-text annotation
-Free text annotations can be added to PDF documents using the built-in annotation toolbar with simple click and type functionality.
+To add a free-text annotation:
-### Step-by-step guide
+* Click the **Edit Annotation** button in the PDF Viewer toolbar to reveal the annotation toolbar.
+* Select the **Free Text Annotation** button to enter free*text annotation mode.
+* Tap or click anywhere on the page to add text.
-**1. Enable annotation mode**
-- Click the **Edit Annotation** button in the PDF Viewer toolbar
-- The annotation toolbar appears below the main toolbar
+When the viewer is in pan mode, selecting the Free Text annotation switches the viewer to text-selection mode.
-**2. Select free text tool**
-- Click the **Free Text Annotation** button in the annotation toolbar
-- The cursor changes to text input mode
+
-
-
-**3. Place text box on document**
-- Click on the PDF page where you want to add text
-- A text box appears at the clicked location
-
-**4. Enter text content**
-- Type your text directly into the text box
-- Use the formatting toolbar to adjust font, size, color, and alignment
-
-N> When in pan mode and free text annotation is selected, the PDF Viewer automatically switches to text select mode for smooth interaction.
-
-**Example: Enable free text annotation mode**
+The example below shows switching to free-text annotation mode via a button click.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
{% endhighlight %}
{% endtabs %}
-## Add a free text annotation programmatically to the PDF document
+## Add a free-text annotation programmatically
-The PDF Viewer library provides the [`addAnnotation()`](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation#addannotation) API method for programmatic free text insertion, enabling dynamic form filling and batch annotation operations.
+You can add a free-text annotation programmatically using the `addAnnotation()` method.
-**Example: Add free text annotation programmatically**
+Example: add a free-text annotation using `addAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
{% endhighlight %}
{% endtabs %}
-## Change the content of an existing free text annotation programmatically
-
-Modify free text annotation properties including text content, position, formatting, and styling using the **editAnnotation()** API method.
+## Change the content of an existing free-text annotation programmatically
-**Example: Edit free text annotation content and properties**
+To update the content of an existing free-text annotation, use the `editAnnotation()` method. Example below demonstrates editing an annotation's bounds and text.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
{% endhighlight %}
{% endtabs %}
-N> The current version of the PDF Viewer does not edit existing document text. New free text annotations can be added and modified within the document.
+N> The PDF Viewer does not edit original document text. You can add and modify free-text annotations only.
+
+## Edit free-text annotation properties
-## Edit the properties of free text annotations
+Use the annotation toolbar to configure font family, size, style, font color, text alignment, fill color, stroke color, border thickness, and opacity.
-Free text annotations support comprehensive typography and styling options through the annotation toolbar. Select any free text annotation to access these editing tools.
+### Font family
-### Text formatting tools
+Choose a font from the Font Family tool.
-**1. Edit Font Family**
-- Select from available fonts in the Font Family tool
-- Changes apply to the selected free text
+
-
+### Font size
-**2. Edit Font Size**
+Select a size in the Font Size tool.
-Choose font size from the Font Size tool
+
-
+### Font color
-**3. Edit Font Color**
-- Use the color palette in the Font Color tool
-- Click to select text color
+Pick a color from the Font Color palette.
-
+
### Text alignment
-**4. Edit Text Alignment**
+Set alignment using the Text Align tool.
-Select alignment from the Text Align tool
+
-
+### Text styles
-**5. Edit Text Styles**
+Toggle styles in the Font Style tool.
-Apply formatting from the Font Style tool
+
-
+### Fill color
-### Free Text appearance tools
+Set the annotation's fill color with the Edit Color tool.
-**6. Edit Fill Color**
+
-Use the color palette in the Edit Color tool to edit the fill color.
+### Stroke color
-
+Set the stroke color with the Edit Stroke Color tool.
-**7. Edit Stroke Color (Border)**
-- Use the color palette in the Edit Stroke Color tool
-- Select border color for the free text box outline
+
-
+### Thickness
-**8. Edit Thickness (Border Width)**
+Adjust border thickness with the Edit Thickness slider.
-Use the range slider in the Edit Thickness tool.
+
-
+### Opacity
-**9. Edit Opacity**
-- Use the range slider in the Edit Opacity tool
-- Adjust from 0 (fully transparent) to 1 (fully opaque)
+Adjust opacity with the Edit Opacity slider.
-
+
## Set default properties during control initialization
-Configure default free text annotation properties globally during PDF Viewer initialization using the **freeTextSettings** property. These defaults apply to all subsequently created free text annotations.
-
-**Example: Configure default free text properties**
+Set default properties for free-text annotations using `freeTextSettings` when initializing the control. The selected defaults are applied when annotations are created. The example below sets default values.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
+
{% endhighlight %}
{% endtabs %}
+
+You can also enable the autofit support for free text annotation by using the enableAutoFit boolean property in freeTextSettings as below. The width of the free text rectangle box will be increased based on the text added to it.
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/ink-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/ink-annotation.md
index 22b1a4d3be..674ca0f57b 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/ink-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/ink-annotation.md
@@ -1,15 +1,16 @@
---
layout: post
-title: Ink Annotations in ASP.NET Core PDF Viewer | Syncfusion
-description: Add and customize ink annotations in ASP.NET Core PDF Viewer. Create freehand drawings, sketches, handwritten marks and more.
-platform: document-processing
+title: Ink annotation in ASP.NET Core PDF Viewer control | Syncfusion
+description: Learn about ink annotations in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Ink Annotations in ASP.NET Core PDF Viewer
+# Ink annotation in ASP.NET Core PDF Viewer
-The PDF Viewer control provides comprehensive ink annotation capabilities for creating freehand drawings, sketches, and handwritten marks on PDF documents. Add, edit, and customize ink annotations with full control over appearance and properties.
+The PDF Viewer control provides options to add, edit, and delete ink annotations.

@@ -17,49 +18,41 @@ The PDF Viewer control provides comprehensive ink annotation capabilities for cr
Ink annotations can be added to the PDF document using the annotation toolbar.
-1. **Click the Edit Annotation button** in the PDF Viewer toolbar
-2. **Select the Draw Ink button** to enable ink annotation mode
-3. **Draw on the page** using continuous strokes
-4. Multiple strokes can be added to the same annotation
+* Use the **Edit Annotation** button in the PDF Viewer toolbar. The annotation toolbar appears below it.
+* Select the **Draw Ink** button to enable ink annotation mode.
+* Draw on any page of the PDF document to create an ink annotation.
-
+ 
-**Example: Enable ink annotation mode with button click**
+The following example switches the viewer to ink annotation mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
@@ -68,55 +61,67 @@ Ink annotations can be added to the PDF document using the annotation toolbar.
## Add an ink annotation programmatically to the PDF document
-The PDF Viewer library allows adding ink annotations programmatically using the **addAnnotation()** method. This enables dynamic creation of freehand drawings with precise path definition.
+The PDF Viewer library allows adding an ink annotation programmatically using the `addAnnotation()` method.
-**Example: Add ink annotation programmatically with custom path**
+The following examples demonstrate how to add an ink annotation programmatically using `addAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
+
{% endhighlight %}
@@ -124,64 +129,57 @@ The PDF Viewer library allows adding ink annotations programmatically using the
## Edit an existing ink annotation programmatically
-To modify an existing ink annotation programmatically, use the **editAnnotation()** method. This allows updating appearance and position after creation.
+Use the `editAnnotation()` method to modify an existing ink annotation programmatically.
-**Example: Edit ink annotation styling and position**
+The following example demonstrates `editAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
@@ -190,58 +188,63 @@ To modify an existing ink annotation programmatically, use the **editAnnotation(
## Edit the properties of ink annotations
-Ink annotation appearance can be customized using the toolbar tools or the annotation properties panel. The following editing options are available:
+Stroke color, thickness, and opacity can be edited using the Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
-### 1. Edit stroke color
+### Edit stroke color
-Edit the stroke color using the color palette in the Edit Stroke Color tool.
+Change the stroke color using the color palette in the Edit Stroke Color tool.

-### 2. Edit thickness
+### Edit thickness
-Edit thickness using the range slider in the Edit Thickness tool.
+Change the stroke thickness using the range slider in the Edit Thickness tool.

-### 3. Edit opacity
+### Edit opacity
-Edit opacity using the range slider in the Edit Opacity tool.
+Change the opacity using the range slider in the Edit Opacity tool.

-## Set default properties during control initialization
+## Set default properties during the control initialization
-Default properties for ink annotations can be set before creating the control using the InkAnnotationSettings object. This ensures consistent styling for all ink annotations without requiring individual customization.
+Default properties for ink annotations can be set before creating the control by using the `inkAnnotationSettings` property.
-**Example: Configure default ink annotation styling**
+Supported settings include `author`, `strokeColor`, `thickness`, and `opacity`. Set these values on initialization so the viewer uses them when creating new ink annotations.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
+
{% endhighlight %}
{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/line-angle-constraints.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/line-angle-constraints.md
index 4504d05b09..808bfe8c8b 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/line-angle-constraints.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/line-angle-constraints.md
@@ -1,58 +1,66 @@
---
layout: post
-title: Line Angle Constraints in ASP.NET Core PDF Viewer | Syncfusion
-description: Master line angle constraints in ASP.NET Core PDF Viewer. Enable angle snapping for precise technical drawings, measurements, and consistent annotation angles.
+title: Line angle constraints in ASP.NET Core PDF Viewer
+Syncfusion description: Learn how to enable and configure line angle constraints for line-type annotations in the Syncfusion ASP.NET Core PDF Viewer.
platform: document-processing
control: PDF Viewer
documentation: ug
+domainurl: ##DomainURL##
---
-# Line Angle Constraints in ASP.NET Core PDF Viewer
+## Line angle constraints in ASP.NET Core PDF Viewer
-The PDF Viewer control provides robust line angle constraints functionality for precise technical drawings and measurements. Enable angle snapping to automatically align line-based annotations to fixed angles, improving accuracy and consistency across professional documents.
+The PDF Viewer provides line angle constraints functionality that allows drawing line-type annotations with controlled angle snapping. This improves precision for technical drawings and measurements in PDF documents.
-## Enable line angle constraints
+
-Configure the `enableLineAngleConstraints` property within `annotationDrawingOptions` to enable automatic angle snapping. When enabled, supported line-type annotations snap to fixed angles as defined by the `restrictLineAngleTo` property.
+### Enable line angle constraints
-**Example: Enable line angle constraints configuration**
+Set the `enableLineAngleConstraints` property within `annotationDrawingOptions` to enable angle snapping for supported line-type annotations.
-{% tabs %}
-{% highlight cshtml tabtitle="Standalone" %}
+The following code demonstrates enabling line angle constraints.
-@page "{handler?}"
-@model IndexModel
-@{
- ViewData["Title"] = "Home page";
-}
-
-
+{% endhighlight %}{% endtabs %}
+
+### Work with constrained annotations
-
+#### Drawing behavior
-{% endhighlight %}
-{% endtabs %}
+When line angle constraints are enabled:
+- Start drawing a supported annotation (Line, Arrow, Polyline, Distance, or Perimeter).
+- The segment snaps to the nearest allowed angle.
+- A visual indicator reflects snapping in real time.
+- Release to complete the annotation.
-## Configuration properties
+#### Keyboard shortcuts
-Line angle constraints are configured through two main properties in the `annotationDrawingOptions` object.
+- `Shift` + drag: toggles snapping. If constraints are disabled, `Shift` temporarily enables them; if enabled, `Shift` enforces snapping.
-### enableLineAngleConstraints
+#### Selector-based modifications
+
+When modifying existing line annotations using selectors:
+- Constraints apply based on the original line direction.
+- The reference angle (0°) is determined by the line’s current orientation.
+- Constraint snapping during modification is supported for Line and Arrow.
+- Adjustments snap to the configured angle increment.
+
+[View a sample in GitHub](https://github.com/SyncfusionExamples/aspnetcore-pdf-viewer-examples)
+
+### Configuration properties
+
+#### enableLineAngleConstraints
+
+The `enableLineAngleConstraints` property activates angle snapping for line-based annotations. When set to `true`, the following annotation types will snap to fixed angles as defined by the `restrictLineAngleTo` property:
-When `enableLineAngleConstraints` is set to `true`, the following annotation types automatically snap to fixed angles:
- Lines
- Arrows
- Polygon
@@ -61,54 +69,38 @@ When `enableLineAngleConstraints` is set to `true`, the following annotation typ
- Area measurements
- Volume measurements
-#### Key behaviors
-- **Automatic snapping** - Angles align to configured increment during drawing
-- **Precision enhancement** - Improved accuracy for technical documents
-- **Shift key toggle** - Hold Shift to temporarily toggle constraint behavior
-- **Real-time feedback** - Visual indicators show angle alignment
-- **Persistent constraints** - Constraints apply during modification via selectors
+Key Benefits:
+- Automatic angle snapping during drawing
+- Enhanced precision for technical drawings and measurements
+- Desktop behavior: hold Shift while drawing to toggle constraints (when disabled, Shift temporarily enables; when enabled, Shift enforces snapping)
+- Real-time visual feedback showing angle snapping behavior
-### restrictLineAngleTo
+#### restrictLineAngleTo
-Defines the angle increment in degrees for snapping. The default value is 45.
+Defines the angle increment (in degrees) used to constrain supported annotations. The default value is `45`.
-#### Angle snapping rules
-
-- **Initial reference** - The first drawing direction is treated as 0° reference point
-- **Increment calculation** - Snapped angles are multiples of the specified increment
-- **Angle wrapping** - Angles reset after 360° based on the increment value
+Angle snapping rules:
+- The initial drawing direction is treated as the 0° reference point.
+- Snapped angles are calculated based on the increment.
+- If the increment does not divide 360 evenly, angles reset after 360°.
Examples:
-
-- restrictLineAngleTo: 45 → Snapped angles: 0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°, 360°
-- restrictLineAngleTo: 100 → Snapped angles: 0°, 100°, 200°, 300°, 360°
-
-## Work with constrained annotations
-
-### Drawing behavior
-
-When line angle constraints are enabled, constrained drawing provides automatic angle alignment:
-
-1. **Start drawing** - Click to start drawing a supported annotation type
-2. **Snapping occurs** - Annotation segment snaps to nearest allowed angle
-3. **Visual feedback** - Real-time indicators show angle alignment
-4. **Continue or release** - Continue drawing for multi-segment shapes or release to complete
-5. **Angle confirmation** - Final annotation locks to the snapped angle
-
-### Keyboard shortcuts
-
-Desktop platforms:
-- Shift + drag: toggles snapping. If constraints are disabled, Shift temporarily enables them; if enabled, Shift enforces snapping.
-
-### Selector-based modifications
-
-When modifying existing line annotations using selectors:
-
-- Constraints apply based on the original line direction.
-- The reference angle (0°) is determined by the line’s current orientation.
-- Constraint snapping during modification is supported for Line and Arrow.
-- Adjustments snap to the configured angle increment.
-
-[View a sample in GitHub](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples/tree/master/How%20to)
-
-N> Refer to the ASP.NET Core PDF Viewer [feature tour](https://www.syncfusion.com/pdf-viewer-sdk/javascript-pdf-viewer) for feature highlights. Explore the [ASP.NET Core PDF Viewer examples](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples) to learn how to render and configure the PDF Viewer.
+- `restrictLineAngleTo: 45` → Snapped angles: 0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°, 360°
+- `restrictLineAngleTo: 100` → Snapped angles: 0°, 100°, 200°, 300°, 360°
+
+> Refer to the ASP.NET Core PDF Viewer [feature tour](https://document.syncfusion.com/demos/pdf-viewer/asp-net-core/pdfviewer/default) for feature highlights, and to the [ASP.NET Core PDF Viewer examples]((https://github.com/SyncfusionExamples/aspnet-core-pdf-viewer-examples)) for rendering and configuration examples.
+
+### See also
+
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotations/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotations/create-modify-annotation)
+- [Customize Annotation](../annotations/customize-annotation)
+- [Remove Annotation](../annotations/delete-annotation)
+- [Handwritten Signature](../annotations/signature-annotation)
+- [Export and Import Annotation](../annotations/export-import/export-annotation)
+- [Annotation Permission](../annotations/annotation-permission)
+- [Annotation in Mobile View](../annotations/annotations-in-mobile-view)
+- [Annotation Events](../annotations/annotation-event)
+- [Annotation API](../annotations/annotations-api)
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/measurement-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/measurement-annotation.md
index 106bc26bcc..66f1d8a2fa 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/measurement-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/measurement-annotation.md
@@ -1,19 +1,18 @@
---
layout: post
-title: Measurement Annotations in ASP.NET Core PDF Viewer | Syncfusion
-description: Add and customize measurement annotations in ASP.NET Core PDF Viewer. Support for distance, perimeter, area, radius, volume measurements.
-platform: document-processing
+title: "Measurement annotation in ASP.NET Core PDF Viewer control"
+description: "Learn about measurement annotations in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2): distance, perimeter, area, radius, and volume."
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Measurement Annotations in ASP.NET Core PDF Viewer
+# Measurement annotation in ASP.NET Core PDF Viewer
-The PDF Viewer provides comprehensive measurement annotation capabilities for precise calculations and dimensional analysis on PDF documents. Add and customize various measurement types with accurate scale calibration and unit conversion.
+The PDF Viewer supports measurement annotations for capturing distances, perimeters, areas, radius, and volumes.
-## Measurement types
-
-The PDF Viewer supports five measurement annotation types with distinct use cases and calculation methods:
+Supported measurement annotations:
* Distance
* Perimeter
@@ -23,444 +22,413 @@ The PDF Viewer supports five measurement annotation types with distinct use case

-## Adding measurement annotations to the PDF document
+## Add measurement annotations
-The measurement annotations can be added to the PDF document using the annotation toolbar.
+Measurement annotations are available from the annotation toolbar.
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Measurement Annotation** drop-down button. The pop-up lists available measurement annotation types.
-* Select a measurement type to enable its annotation mode.
-* Measure and add annotations on the pages of the PDF document.
+* Open the annotation toolbar using the **Edit Annotation** button in the PDF Viewer toolbar.
+* Use the **Measurement Annotation** drop-down to choose a measurement type.
+* Select a measurement type to enable its annotation mode, then place the measurement on the page.
-When in pan mode, selecting a measurement annotation switches the PDF Viewer to text select mode.
+If the viewer is in pan mode, selecting a measurement annotation activates text selection mode where applicable.

-**Example: Enable Distance annotation mode using button click**
+The following example switches the viewer to distance annotation mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
{% endhighlight %}
{% endtabs %}
## Add a measurement annotation to the PDF document programmatically
-The PDF Viewer library allows adding measurement annotations programmatically using the **addAnnotation()** method.
+The PDF Viewer library allows adding an ink annotation programmatically using the `addAnnotation()` method.
-**Example: Add all measurement annotation types programmatically**
+The following examples demonstrate how to add measurement annotations programmatically using `addAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
-
-
-
{% endhighlight %}
{% endtabs %}
-## Edit the properties of measurement annotations
+## Edit properties of measurement annotations
-Measurement annotation appearance can be customized using the toolbar tools or the Properties dialog. The following editing options are available:
+Change fill color, stroke color, thickness, and opacity using the annotation toolbar tools: Edit Color, Edit Stroke Color, Edit Thickness, and Edit Opacity.
-### 1. Edit fill color
+### Edit fill color
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+Change the fill color with the color palette in the Edit Color tool.

-### 2. Edit stroke color
+### Edit stroke color
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+Change the stroke color with the Edit Stroke Color tool.

-### 3. Edit thickness
+### Edit thickness
-Edit border thickness using the range slider provided in the Edit Thickness tool.
+Adjust border thickness with the range slider in the Edit Thickness tool.

-### 4. Edit opacity
+### Edit opacity
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+Adjust annotation opacity with the range slider in the Edit Opacity tool.

-### 5. Edit line properties
+### Edit line properties
-Line-based measurement annotations (distance and perimeter) have additional options in the Line Properties window. Open it by right-clicking the annotation and selecting Properties from the context menu.
+Line-based measurement annotations (distance and perimeter) include additional options in the Line Properties window. Open it by right-clicking the annotation and choosing Properties.

-## Set default properties during control initialization
+## Set default properties during initialization
-Default properties for measurement annotations can be set before creating the control using type-specific settings objects. This allows consistent styling across all annotations of the same type without individual customization.
+Default properties for measurement annotations can be configured on the viewer before creation using the `distanceSettings`, `perimeterSettings`, `areaSettings`, `radiusSettings`, and `volumeSettings` properties.
-**Example: Configure default measurement annotation styling**
+The following code snippet shows how to set default measurement annotation settings on initialization.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
+
{% endhighlight %}
{% endtabs %}
-## Edit scale ratio and unit of the measurement annotation
+## Scale ratio and measurement units
-The scale ratio and unit of measurement can be modified using the scale ratio option provided in the context menu of the PDF Viewer control.
+Modify the scale ratio and measurement unit via the Scale Ratio option in the viewer's context menu.

-### Supported Measurement Units
-
-The PDF Viewer supports six standard measurement units for converting raw pixel measurements to real-world dimensions:
+Supported units for measurement annotations:
* Inch
* Millimeter
@@ -471,36 +439,50 @@ The PDF Viewer supports six standard measurement units for converting raw pixel

-## Set default scale ratio settings during control initialization
-
-The properties of scale ratio for measurement annotation can be set before creating the control using the MeasurementSettings object. This ensures all measurements use consistent calibration without requiring manual adjustment.
-
-**Example: Configure default scale ratio during PDF Viewer initialization**
+## Set default scale ratio during initialization
+Configure scale ratio defaults using `measurementSettings` (for example, `scaleRatio`, `conversionUnit`, and `displayUnit`) before creating the viewer. The following snippet demonstrates these settings.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
+
{% endhighlight %}
-{% endtabs %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/overview.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/overview.md
new file mode 100644
index 0000000000..52f29e32a8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/overview.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: Overview of Annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn about Annotations and how to add, edit, delete, and configure Annotations in the Syncfusion ASP.NET Core PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Annotations overview in ASP.NET Core
+
+Annotations in the PDF Viewer are interactive elements that allow users to add notes, highlights, or text boxes directly to a PDF document. These annotations add context and feedback to PDF files, simplifying collaboration during document reviews.
+
+The PDF Viewer provides a complete set of annotation tools for reviewing, measuring, and marking up PDFs in ASP.NET Core.
+
+## Supported annotations
+
+- Text markup: [Highlight](../annotation/annotation-types/highlight-annotation), [Underline](../annotation/annotation-types/underline-annotation), [Squiggly](../annotation/annotation-types/Squiggly-annotation), [Strikethrough](../annotation/annotation-types/strikethrough-annotation)
+- Shapes: [Line](../annotation/annotation-types/line-annotation), [Arrow](../annotation/annotation-types/arrow-annotation), [Rectangle](../annotation/annotation-types/rectangle-annotation), [Circle](../annotation/annotation-types/circle-annotation), [Polygon](../annotation/annotation-types/polygon-annotation)
+- Text boxes: [Free Text](../annotation/annotation-types/free-text-annotation)
+- Drawing: [Ink](../annotation/annotation-types/ink-annotation) (freehand)
+- Stamps: [Standard and custom stamps](../annotation/annotation-types/stamp-annotation)
+- Notes: [Sticky Notes](../annotation/annotation-types/sticky-notes-annotation) (comments)
+- Redaction: Mark and apply [redactions](../annotation/annotation-types/redaction-annotation)
+- Measurement: [Distance](../annotation/annotation-types/distance-annotation), [Perimeter](../annotation/annotation-types/perimeter-annotation), [Area](../annotation/annotation-types/area-annotation), [Radius](../annotation/annotation-types/radius-annotation), [Volume](../annotation/annotation-types/volume-annotation)
+
+## Annotation manipulation capabilities
+
+- [Create annotations](../annotation/create-modify-annotation): Use the toolbar, context menu, or APIs to add highlights, notes, shapes, and more directly onto the PDF document.
+- [Edit annotations](../annotation/create-modify-annotation.md): Modify existing annotations by moving, resizing, or updating text and style properties like color, opacity, and thickness.
+- [Customize annotations](../annotation/customize-annotation): Adjust appearance and behavior—such as fonts, fill colors, and opacity—through the UI or configuration options.
+- [Undo and redo annotations](../annotation/annotations-undo-redo): Revert or reapply annotation actions (add, edit, delete) using toolbar buttons or corresponding APIs.
+- [Import and export annotations](../annotation/export-import/export-annotation): Save and load annotations in JSON or XFDF formats to persist markups across sessions or share them with others.
+- Set [Permissions](../annotation/annotation-permission): Enable or disable annotation permission, ensuring compliance with document permissions.
+- Add and manage [comments](../annotation/comments): Insert, edit, and delete comments or sticky notes attached to annotations for clearer feedback and collaboration.
+
+## See also
+
+- [Annotation Types](../annotation/annotation-types)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Handwritten Signature](../annotation/signature-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation Undo Redo](../annotation/annotations-undo-redo)
+- [Annotation API](../annotation/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/shape-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/shape-annotation.md
index ad7c3bf339..e15f191041 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/shape-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/shape-annotation.md
@@ -1,19 +1,16 @@
---
layout: post
-title: Shape Annotations in ASP.NET Core PDF Viewer | Syncfusion
-description: Add and customize shape annotations in ASP.NET Core PDF Viewer with for support for lines, arrows, rectangles, circles, polygons with formatting tools.
-platform: document-processing
+title: Shape annotation in ASP.NET Core PDF Viewer control | Syncfusion
+description: Learn about shape annotations in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2), including add, edit, delete, and default settings.
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Shape Annotations in ASP.NET Core PDF Viewer
-
-The PDF Viewer control provides comprehensive shape annotation capabilities for adding, editing, deleting, and customizing various geometric shapes. This guide covers toolbar-based and programmatic approaches to shape creation.
-
-## Shape types
+# Shape annotation in ASP.NET Core PDF Viewer
-The PDF Viewer supports five primary shape annotation types:
+The PDF Viewer provides tools to add, edit, and delete shape annotations. Supported shape types:
* Line
* Arrow
@@ -23,449 +20,433 @@ The PDF Viewer supports five primary shape annotation types:

-## Adding a shape annotation to the PDF document
+## Add a shape annotation
-Shape annotations can be added to PDF documents using the built-in annotation toolbar with an intuitive multi-step interface.
+Shape annotations are available from the annotation toolbar.
-**1. Enable annotation mode**
-- Click the **Edit Annotation** button in the PDF Viewer toolbar
-- A secondary toolbar appears below the main toolbar
+- Open the annotation toolbar with the **Edit Annotation** button in the PDF Viewer toolbar.
+- Use the **Shape Annotation** drop-down to choose the desired shape type.
+- Select a shape type to enable its annotation mode, then draw the shape on the page.
-**2. Select shape type**
-- Click the **Shape Annotation** drop-down button
-- The pop-up displays all available shape annotation types
+N> When the viewer is in pan mode and a shape tool is selected, the viewer switches to text selection mode where applicable to ensure a smooth interaction.

-**3. Choose specific shape**
-- Select a shape type to activate its annotation mode
-- The cursor changes to indicate annotation mode is active
-
-**4. Draw the shape**
-- Click and drag on the PDF page to draw the shape
-- Release to complete the shape placement
-- Use handles to resize and reposition as needed
-
-N> When in pan mode and a shape annotation tool is selected, the PDF Viewer automatically switches to text select mode for smooth interaction.
-
-**Example: Switch to circle annotation mode**
+The following sample shows how to switch the viewer to circle annotation mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
{% endhighlight %}
{% endtabs %}
## Add a shape annotation to the PDF document programmatically
-The PDF Viewer library provides the **addAnnotation()** API method for programmatic shape insertion, enabling dynamic workflow automation and batch operations.
+The PDF Viewer library allows adding an ink annotation programmatically using the `addAnnotation()` method.
-**Examples: Add shapes programmatically**
+The following examples show how to add shape annotations programmatically using `addAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
-
-
-
-
{% endhighlight %}
{% endtabs %}
## Editing the properties of the shape annotation
-Shape annotations support comprehensive styling options through the annotation toolbar and context menus.
+## Edit properties of shape annotations
+
+Change fill color, stroke color, thickness, and opacity using the Edit Color, Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
+
+### Edit fill color
-The annotation toolbar provides four primary editing tools for all shapes:
+Change the fill color using the color palette in the Edit Color tool.
-**1. Edit Fill Color**
-- Access the color palette via the Edit Color tool
-- Select a color to apply fill to the shape
+
-
+### Edit stroke color
-**2. Edit Stroke Color**
-- Use the Edit Stroke Color tool to change the border color
-- Open color palette and select desired stroke color
+Change the stroke color using the Edit Stroke Color tool.

-**3. Edit Thickness**
+### Edit thickness
-Adjust border thickness using the range slider in the Edit Thickness tool
+Adjust border thickness using the Edit Thickness range slider.

-**4. Edit Opacity**
+### Edit opacity
-Control shape transparency using the range slider in the Edit Opacity tool.
+Adjust opacity using the Edit Opacity range slider.

-### Line and arrow properties
+### Line properties
-Line and arrow annotations offer additional customization through a dedicated properties dialog.
-
-**Accessing line properties:**
-1. Right-click on a line or arrow annotation
-2. Select **Properties** from the context menu
-3. Modify line start/end style, dash pattern, and other options
+Line and arrow annotations include additional options in the Line Properties dialog. Open it by right-clicking a line or arrow annotation and choosing Properties.

-## Set default properties during control initialization
+### Edit annotation programmatically
+
+Modify annotations programmatically using the `editAnnotation()` method. The example below demonstrates selecting and editing an annotation.
+```
+
+
+
+```
+### Delete annotation programmatically
+
+Delete a specific annotation with `deleteAnnotationById()` by providing the annotation's id. The example below demonstrates usage.
-Configure default shape annotation properties globally during PDF Viewer initialization. These defaults apply to all subsequently created shapes of each type.
+```
+
-**Example: Configure default shape properties**
+
+```
+
+## Set default properties during initialization
+
+Default properties for shape annotations can be configured before creating the viewer using `lineSettings`, `arrowSettings`, `rectangleSettings`, `circleSettings`, and `polygonSettings`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
+
{% endhighlight %}
{% endtabs %}
+
+N> In both the Arrow and Line settings, the Fill Color option is available only when an arrowhead style is applied at the Start or End. If both Start and End arrowhead styles are set to `None`, lines do not support fill rendering and the Fill Color option is disabled. See Arrow settings and Line settings for API details.
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/signature-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/signature-annotation.md
index c111e6d05f..2e31476bb5 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/signature-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/signature-annotation.md
@@ -1,231 +1,421 @@
---
layout: post
-title: Handwritten Signatures in ASP.NET Core PDF Viewer | Syncfusion
-description: Add handwritten signatures to PDF documents in ASP.NET Core PDF Viewer. Enable signature capture, digitally sign documents, and customize signature properties.
-platform: document-processing
+title: Handwritten signature ASP.NET Core PDF Viewer | Syncfusion
+description: "Learn about handwritten signatures in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2): add, enable or disable, and edit properties."
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Handwritten Signatures in ASP.NET Core PDF Viewer
+# Handwritten signature in ASP.NET Core PDF Viewer component
+
+The PDF Viewer control supports adding handwritten signatures to a PDF document. Handwritten signatures reduce paperwork and enable digital verification.
+
+Check out the following video to learn how to Add Signatures to PDF Documents Using the ASP.NET Core PDF Viewer
+{% youtube "https://www.youtube.com/watch?v=4AHagpyePnA" %}
+
+## Add signature annotation
+
+### Adding a handwritten signature in UI
-The PDF Viewer provides comprehensive handwritten signature capabilities for adding digital signatures to PDF documents. Capture handwritten signatures for authentication, approval workflows, and document verification with customizable appearance and default properties.
+The handwritten signature can be added to the PDF document using the annotation toolbar.
-## Signature features
+- Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+- Select the **Handwritten signature** button in the annotation toolbar. The signature panel appears.
-- **Freehand drawing** - Natural signature capture through drawing interface
-- **Multiple formats** - Support for drawn, typed text, and uploaded image signatures
-- **Customizable appearance** - Control stroke color, thickness, and opacity
-- **Default properties** - Pre-configure signature styling for consistency
-- **Placement control** - Position signatures at specific coordinates on pages
-- **Digital authentication** - Reduce paperwork during reviews and verify documents digitally
+
-## Enable handwritten signatures
+- Draw the signature in the panel.
-Enable handwritten signature functionality by setting the `enableHandwrittenSignature` property to `true` during PDF Viewer initialization. This activates the signature capture interface and toolbar buttons.
+
-**Example: Enable handwritten signature support**
+- Click **Create**, move the signature, and place it at the desired location.
+
+
+
+Refer to the following code sample to switch to the handwritten signature mode programmatically.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add a handwritten signature programmatically
+
+With the PDF Viewer library, you can programmatically add a handwritten signature to the PDF Viewer control using the [**addAnnotation()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/index-default#addannotation) method.
+
+Here is an example of adding a handwritten signature programmatically using the `addAnnotation()` method:
+
+{% tabs %}
+{% highlight cshtml tabtitle="Standalone" %}
+
+
+
+
{% endhighlight %}
{% endtabs %}
-## Adding a handwritten signature to the PDF document
+## Edit signature annotation
+
+### Edit signature annotation in UI
+
+Stroke color, border thickness, and opacity can be edited using the Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
-Handwritten signatures can be added directly using the annotation toolbar interface. The process involves the following steps:
+#### Edit stroke color
-1. **Click Edit Annotation** - Tap the Edit Annotation button in the PDF Viewer toolbar to enable annotation mode
+Edit the stroke color using the color palette in the Edit Stroke Color tool.
-2. **Select HandWritten Signature** - Click the Add Signature button to open the signature drawing panel
+
-
+#### Edit thickness
-3. **Draw signature** - Use your mouse, touch pad, or stylus to draw your signature in the signature panel
+Edit border thickness using the range slider in the Edit Thickness tool.
-
+
-4. **Create signature** - Click the **Create** button to confirm the drawn signature
+#### Edit opacity
-5. **Place on document** - Move the cursor to desired location and click to place the signature on the PDF page
+Edit opacity using the range slider in the Edit Opacity tool.
-
+
-## Add a handwritten signature programmatically
+### Edit Signature Annotation Programmatically
-The **addAnnotation()** method enables programmatic signature creation with predefined or custom signature data. This allows dynamic signature placement and styling without user interaction.
+With the PDF Viewer library, you can programmatically edit a handwritten signature in the PDF Viewer control using the `editSignature()` method.
-**Example: Add signature annotations programmatically**
+Here is an example of editing a handwritten signature programmatically using the `editSignature()` method:
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
+
{% endhighlight %}
{% endtabs %}
-[View sample in GitHub](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples/tree/master/How%20to/Add%20Handwritten%20Signature%20Programmatically)
-
-## Edit handwritten signature properties
+## Enable or disable handwritten signature
-Signature appearance can be customized after creation using the annotation toolbar editing tools. Select a signature annotation to access property editors.
-
-
-
-## Set default signature properties
-
-Configure default handwritten signature styling during PDF Viewer initialization using the `handWrittenSignatureSettings` object. These settings apply automatically to all new signatures.
-
-**Example: Set default handwritten signature styling**
+The following example enables or disables the handwritten signature in the PDF Viewer. Setting the value to `false` disables the feature.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
{% endhighlight %}
{% endtabs %}
+N> When `enableHandwrittenSignature` is set to `false`, the handwritten signature toolbar and related UI are disabled; existing handwritten signature annotations remain in the document unless removed. The `canSave` option in annotation examples controls whether a signature can be saved for reuse; when `canSave` is `false`, signatures are not persisted in the signature collection for later reuse.
+
## See also
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
+- [Annotation Overview](../overview)
+- [Annotation Types](../annotation/annotation-types/area-annotation)
+- [Annotation Toolbar](../toolbar-customization/annotation-toolbar)
+- [Create and Modify Annotation](../annotation/create-modify-annotation)
+- [Customize Annotation](../annotation/customize-annotation)
+- [Remove Annotation](../annotation/delete-annotation)
+- [Export and Import Annotation](../annotation/export-import/export-annotation)
+- [Annotation Permission](../annotation/annotation-permission)
+- [Annotation in Mobile View](../annotation/annotations-in-mobile-view)
+- [Annotation Events](../annotation/annotation-event)
+- [Annotation API](../annotation/annotations-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/stamp-annotation.md
index a3fda217bf..63c22e1d6f 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/stamp-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/stamp-annotation.md
@@ -1,260 +1,299 @@
---
layout: post
-title: Stamp Annotations in ASP.NET Core PDF Viewer | Syncfusion
-description: Add, edit, and customize stamp annotations in ASP.NET Core PDF Viewer. Learn about various stamps, and custom image stamps with programmatic APIs.
-platform: document-processing
+title: "Sticky notes annotation in ASP.NET Core PDF Viewer control"
+description: "Learn about sticky note annotations in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2): add, edit, delete, and default settings."
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Stamp Annotations in ASP.NET Core PDF Viewer
-
-The PDF Viewer control provides comprehensive stamp annotation features for adding, editing, deleting, and rotating various stamp types. This guide covers adding stamps through the UI, programmatic APIs, and customization options.
+# Stamp annotation in ASP.NET Core PDF Viewer component
-## Stamp types
-
-The PDF Viewer supports four primary stamp annotation types:
+The PDF Viewer provides options to add, edit, delete, and rotate the following stamp annotations:
* Dynamic
* Sign Here
* Standard Business
* Custom Stamp
-
+
## Add stamp annotations to the PDF document
-Stamp annotations can be added using the built-in annotation toolbar with an intuitive multi-step interface.
-
-**1. Enable annotation mode**
-- Click the **Edit Annotation** button in the PDF Viewer toolbar
-- A secondary toolbar appears below the main toolbar
+Stamp annotations are added using the annotation toolbar in the ASP.NET Core PDF Viewer.
-**2. Select stamp type**
-- Click the **Stamp Annotation** drop-down button
-- The pop-up displays all available stamp annotation types
+* Use the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
+* Use the **Stamp Annotation** drop-down to view available stamp annotation types.
-
+ 
-**3. Choose stamp variant**
+* Selecting a stamp type enables its annotation mode.
-Select a stamp type to activate its annotation mode.
+ 
-
+* Place the stamp on a page in the PDF document.
-**4. Place stamp on document**
-- Click on any page to place the stamp at that location
-- Resize and position using handles as needed
+N> When the viewer is in pan mode and a stamp annotation tool is selected, the PDF Viewer automatically switches to text select mode to provide a smoother interaction.
-N> When in pan mode and a stamp annotation tool is selected, the PDF Viewer automatically switches to text select mode for smooth interaction.
-
-**Example: Add stamp annotations using toolbar**
+The following examples show how to switch to stamp annotation modes in ASP.NET Core.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
-
{% endhighlight %}
{% endtabs %}
-## Add a custom stamp to the PDF document
-
-Custom image stamps allow you to add logos, signatures, or branded elements to PDF documents.
-
-### Supported image formats
+## Add a custom stamp
-Only **JPG** and **JPEG** image formats are supported for custom stamp annotations. Other formats must be converted before use.
+Use the **Edit Annotation** button and the **Stamp Annotation** drop-down to access the Custom Stamp option.
-### Adding a custom stamp
+
-**1. Open stamp annotation panel**
-- Click **Edit Annotation** and select **Stamp Annotation** dropdown
+Select the Custom Stamp option, then choose an image file to add as a custom stamp on the PDF page.
-**2. Select custom stamp option**
-- Click the **Custom Stamp** button
+Only JPG and JPEG image formats are supported for custom stamp annotations.
-
+## Add a stamp annotation programmatically
-**3. Choose image file**
-- In the file explorer dialog, browse and select a JPG/JPEG image
-- The selected image becomes available as a stamp
+Use the `addAnnotation()` method to add stamp annotations programmatically.
-**4. Place on document**
-- Click on the PDF page to place the custom image stamp
-- Resize and position as needed
-
-## Add a stamp annotation to the PDF document programmatically
-
-The PDF Viewer library provides the **addAnnotation()** API method for programmatic stamp insertion, enabling dynamic workflow automation and batch operations.
-
-**Examples: Add stamps programmatically**
+The examples below demonstrate using `addAnnotation()` to create stamp annotations.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
+
{% endhighlight %}
@@ -262,93 +301,124 @@ The PDF Viewer library provides the **addAnnotation()** API method for programma
## Edit an existing stamp annotation programmatically
-Modify stamp properties such as position, size, and lock status using the **editAnnotation()** API method.
+Use the `editAnnotation()` method to modify existing stamp annotations programmatically in ASP.NET Core.
-**Example: Edit stamp annotation properties**
+The following example demonstrates `editAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
+
+
{% endhighlight %}
{% endtabs %}
## Set default properties during control initialization
-Configure default stamp annotation properties globally during PDF Viewer initialization using the **stampSettings** property. These defaults apply to all subsequently created stamps.
+Set default properties for stamp annotations before creating the control by specifying `stampSettings`.
-**Example: Configure default stamp properties**
+After changing the default opacity using the Edit Opacity tool, the selected value is applied. The example below shows how to set default stamp annotation settings.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
+
+
{% endhighlight %}
-{% endtabs %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/sticky-notes-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/sticky-notes-annotation.md
index 81c785926c..c8071c600d 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/sticky-notes-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/sticky-notes-annotation.md
@@ -1,57 +1,43 @@
---
layout: post
-title: Sticky Notes in ASP.NET Core PDF Viewer | Syncfusion
-description: Add and manage sticky note annotations in ASP.NET Core PDF Viewer. Create quick notes, comments, and threaded discussions and default settings.
-platform: document-processing
+title: "Stamp annotation in ASP.NET Core PDF Viewer control"
+description: "Learn about stamp annotations in the Syncfusion ASP.NET Core PDF Viewer (Essential JS 2): dynamic, sign here, standard business, and custom stamps."
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Sticky Notes in ASP.NET Core PDF Viewer
-
-The PDF Viewer control provides comprehensive sticky note annotation capabilities for adding quick notes and comments to PDF documents. Create, edit, and delete sticky notes with full comment support for discussions and document review workflows.
-
-
-
-## Add a sticky note annotation to the PDF document
-
-Sticky notes can be added directly using the toolbar or context menu. They serve as markers for attaching comments and discussions to specific page locations.
+# Sticky notes annotation in ASP.NET Core PDF Viewer
-### Adding sticky notes using toolbar
+The PDF Viewer provides options to add, edit, and delete sticky note annotations.
-1. **Click the Comments button** in the PDF Viewer toolbar to enable annotation mode
-2. **Click on the page** at the desired location where you want to place the note
-3. **Sticky note is created** - A small marker appears at the clicked position
+
-
+## Add a sticky note annotation
-### Adding comments to sticky notes
+Annotation comments are added using the comment panel.
-Comments provide detailed information and discussions for sticky notes:
+* Right-click a sticky note annotation and choose **Comment** from the context menu.
+* Use the comment panel to add comments, reply, and change status.
-1. **Select a sticky note** - Click on any sticky note annotation on the page
-2. **Right-click the note** - Context menu appears with available actions
-3. **Select Comment** - Opens the comment panel for the selected note
-4. **Add comment text** - Type your comment in the text field
-5. **Save comment** - Comment is saved to the note on clicking post.
+
-
+
## Add a sticky note annotation to the PDF document programmatically
-The **addAnnotation()** method enables programmatic sticky note creation with precise positioning and configuration. This allows dynamic note placement without user interaction.
+Use the `addAnnotation()` method to add a sticky note annotation programmatically.
-**Example: Add sticky note annotations programmatically**
+The following example demonstrates using `addAnnotation()` to create a sticky note annotation.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
{% endhighlight %}
{% endtabs %}
## Edit an existing sticky note annotation programmatically
-To modify an existing sticky note annotation programmatically, use the **editAnnotation()** method.
+Use the `editAnnotation()` method to modify existing sticky note annotations programmatically.
-Here is an example of using editAnnotation():
+The following example demonstrates `editAnnotation()`.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
{% endhighlight %}
{% endtabs %}
## Edit the properties of sticky note annotations
-Sticky note annotations support multiple property editing workflows. Properties can be modified through the UI toolbar, comment panel interface, or programmatically.
-
### Editing opacity
-The **opacity property** controls note transparency, allowing visual customization for emphasis or reduced prominence.
+Edit opacity using the range slider in the Edit Opacity tool.
-
+
### Editing comments
-Comments provide detailed annotations to sticky notes. Comment text, threaded replies, and status states are fully editable through the comment panel interface.
+Comment text, replies, and status can be edited using the comment panel.
-**Using the comment panel:**
-1. **Open comment panel** - Click Comment Panel button in toolbar
-2. **Select sticky note** - Choose note to edit comments for
-3. **Modify or delete** - Edit existing comment text or remove comments
-4. **Add replies** - Create threaded discussion under comments
-5. **Change status** - Update comment status
+* Open the comment panel using the Comment Panel button in the annotation toolbar.
-
+ 
-**Comment editing options:**
-- **Edit text** - Modify comment content inline
-- **Delete comment** - Remove selected comment permanently
-- **Add reply** - Create threaded response to existing comment
-- **Mark status** - Change comment state (Review/Done/Cancelled)
+Modify or delete comments or replies, and change status using the menu options in the comment panel.
-
+ 
## Set default properties during control initialization
-The **StickyNotesSettings** object enables configuration of default sticky note behavior at PDF Viewer initialization. These properties apply to all subsequently created sticky notes unless explicitly overridden.
+Set default properties for sticky note annotations before creating the control by specifying `stickyNotesSettings`.
-The following example sets default sticky note annotation settings during control initialization:
+After changing the default opacity using the Edit Opacity tool, the selected value is applied. The example below shows how to set default sticky note annotation settings.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
{% endhighlight %}
-{% endtabs %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/text-markup-annotation.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/text-markup-annotation.md
index b0cef05832..4740d8ba21 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/text-markup-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/annotation/text-markup-annotation.md
@@ -1,54 +1,51 @@
---
layout: post
-title: Text markup annotations in ASP.NET Core PDF Viewer | Syncfusion
-description: Learn to add, edit, delete, and customize text markup annotations in the Syncfusion ASP.NET Core PDF Viewer, with programmatic APIs and examples.
-platform: document-processing
+title: Text markup annotation in ASP.NET Core PDF Viewer | Syncfusion
+description: Learn to add, edit, delete, and customize text markup annotations like highlight, underline, and squiggly in Syncfusion ASP.NET Core PDF Viewer.
control: PDF Viewer
+platform: document-processing
documentation: ug
+domainurl: ##DomainURL##
---
-# Text markup annotations in ASP.NET Core PDF Viewer
+# Text markup annotation in ASP.NET Core PDF Viewer
-The PDF Viewer provides options to add, edit, and delete text markup annotations. Supported types include Highlight, Underline, Strikethrough, and Squiggly.
+The PDF Viewer provides options to add, edit, and delete text markup annotations, including Highlight, Underline, Strikethrough, and Squiggly.
-
+
## Highlight text
-There are two ways to highlight text:
+Two ways to add highlights:
1. Using the context menu
* Select text in the PDF document and right-click it.
* Select **Highlight** in the context menu.
-
+ 
-
2. Using the annotation toolbar
* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
* Select **Highlight** to enable highlight mode.
* Select text to add the highlight annotation.
* Alternatively, select text first and then click **Highlight**.
-
+ 
-When pan mode is active and a text markup mode is entered, the PDF Viewer switches to text selection mode to enable selection.
+When pan mode is active, entering any text markup mode switches the PDF Viewer to text selection mode.
-**Example: Switch to highlight mode**
+Refer to the following code snippet to switch to highlight mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
{% endhighlight %}
@@ -184,40 +161,36 @@ Programmatically add highlights using the **addAnnotation()** method.
## Underline text
-There are two ways to underline text:
+Two ways to add underlines:
1. Using the context menu
* Select text in the PDF document and right-click it.
* Select **Underline** in the context menu.
-
+ 
-
2. Using the annotation toolbar
* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
* Select **Underline** to enable underline mode.
* Select text to add the underline annotation.
* Alternatively, select text first and then click **Underline**.
-
+ 
-In the pan mode, if the underline mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for underlining the text.
+When pan mode is active, entering underline mode switches the PDF Viewer to text selection mode to enable text selection for underlining.
-**Example: Switch to underline mode**
+Refer to the following code snippet to switch to underline mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
{% endhighlight %}
@@ -353,40 +306,36 @@ Programmatically add underlines using the **addAnnotation()** method.
## Strikethrough text
-There are two ways to strikethrough text:
+Two ways to add strikethroughs:
1. Using the context menu
* Select text in the PDF document and right-click it.
* Select **Strikethrough** in the context menu.
-
+ 
-
2. Using the annotation toolbar
* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
* Select **Strikethrough** to enable strikethrough mode.
* Select text to add the strikethrough annotation.
* Alternatively, select text first and then click **Strikethrough**.
-
+ 
-In the pan mode, if the strikethrough mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for striking through the text.
+When pan mode is active, entering strikethrough mode switches the PDF Viewer to text selection mode to enable text selection for striking through.
-**Example: Switch to strikethrough mode**
+Refer to the following code snippet to switch to strikethrough mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
{% endhighlight %}
@@ -522,40 +451,36 @@ Programmatically add strikethrough using the **addAnnotation()** method.
## Add squiggly to text
-There are two ways to add squiggly to text:
+Two ways to add squiggly annotations:
1. Using the context menu
* Select text in the PDF document and right-click it.
* Select **Squiggly** in the context menu.
-
+ 
-
2. Using the annotation toolbar
* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
* Select **Squiggly** to enable squiggly mode.
* Select text to add the squiggly annotation.
* Alternatively, select text first and then click **Squiggly**.
-
+ 
-In the pan mode, if the squiggly mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for adding squiggly to the text.
+When pan mode is active, entering squiggly mode switches the PDF Viewer to text selection mode to enable text selection for adding squiggly annotations.
-**Example: Switch to squiggly mode**
+Refer to the following code snippet to switch to squiggly mode.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
{% endhighlight %}
{% endtabs %}
-## Delete a text markup annotation
+## Deleting a text markup annotation
The selected annotation can be deleted in the following ways:
-1. Using the Delete key
- * Select the annotation to delete.
- * Press the Delete key. The selected annotation is removed.
+1. Using the Delete/Backspace key
+ * Select the annotation.
+ * Press Delete (or Backspace). The selected annotation is removed.
2. Using the annotation toolbar
- * Select the annotation.
- * Click the **Delete Annotation** button in the annotation toolbar. The selected annotation is removed.
+ * Select the annotation.
+ * Click **Delete Annotation** in the annotation toolbar. The selected annotation is removed.
-
+ 
## Edit text markup annotation properties
-The color and the opacity of the text markup annotation can be edited using the Edit Color and Edit Opacity tools in the annotation toolbar.
+The color and the opacity of the text markup annotation can be edited using the Edit Color tool and the Edit Opacity tool in the annotation toolbar.
### Edit color
Use the color palette in the Edit Color tool to change the annotation color.
-
+
### Edit opacity
Use the range slider in the Edit Opacity tool to change annotation opacity.
-
+
## Set default properties during control initialization
-Set default properties before creating the control using highlightSettings, underlineSettings, strikethroughSettings, and squigglySettings.
+Set default properties before creating the control using `highlightSettings`, `underlineSettings`, `strikethroughSettings`, and `squigglySettings`.
-N> After editing the default color and opacity using the Edit Color and Edit Opacity tools, the values update to the selected settings.
+> After editing default color and opacity using the Edit Color and Edit Opacity tools, the values update to the selected settings.
-Refer to the following code sample to set the default annotation settings.
+Refer to the following code snippet to set the default annotation settings.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
+
{% endhighlight %}
{% endtabs %}
@@ -778,61 +683,50 @@ The PDF Viewer supports undo and redo for changes. For text markup annotations,
Undo and redo actions can be performed in the following ways:
-1. Using keyboard shortcuts:
- After performing a text markup annotation action, press Ctrl + Z to undo and Ctrl + Y to redo.
-2. Using the toolbar:
+1.Using keyboard shortcuts:
+ After performing a text markup annotation action, press Ctrl+Z to undo and Ctrl+Y to redo.
+2.Using the toolbar:
Use the **Undo** and **Redo** tools in the toolbar.
-Refer to the following code sample to call undo and redo actions from the client side.
+Refer to the following code snippet to call undo and redo actions from the client side.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
-
-
-
-
@@ -849,30 +743,28 @@ Click the print tool in the toolbar to print the PDF document with text markup a
## Disable text markup annotation
-Disable text markup annotations using the enableTextMarkupAnnotation property.
+Disable text markup annotations using the `enableTextMarkupAnnotation` property.
{% tabs %}
{% highlight cshtml tabtitle="Standalone" %}
-
{% endhighlight %}
{% endtabs %}
+
+## See also
+
+* [Toolbar items](../../pdfviewer/toolbar)
+* [Feature modules](../../pdfviewer/feature-module)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started-with-server-backed.md
index 96753bbbeb..5256159f35 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started-with-server-backed.md
@@ -1,7 +1,7 @@
---
layout: post
-title: Getting Started with Server-Backed EJ2 ASP.NET Core PDF Viewer | Syncfusion
-description: Learn how to integrate the server-backed PDF Viewer control in an ASP.NET Core application. View, annotate, and fill PDF forms with server-side rendering and processing.
+title: Server-Backed ASP.NET Core PDF Viewer | Syncfusion
+description: Learn how to integrate the server-backed PDF Viewer control in an ASP.NET Core application. View and annotate with server-side rendering.
platform: document-processing
control: PDF Viewer
documentation: ug
@@ -9,44 +9,70 @@ documentation: ug
# Getting Started with Server-Backed ASP.NET Core PDF Viewer
-The [ASP.NET Core PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) control is a server-backed solution for viewing, printing, and interacting with PDF files in web applications. Unlike the standalone PDF Viewer that performs client-side rendering, the server-backed variant processes and renders PDFs on the server, providing enhanced performance and security for enterprise applications. The control delivers a rich viewing experience with core interactions such as zooming, scrolling, text search, text selection, and text copying. Built-in support for thumbnails, bookmarks, hyperlinks, and tables of contents enables seamless navigation within and across PDF documents. Users can also annotate documents and fill form fields directly within the viewer.
+This article shows how to add the [Syncfusion® Server-backed ASP.NET Core PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) to a ASP.NET Core Web application using Visual Studio or Visual Studio Code. A complete working sample is available on [GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20Core%20Tag%20Helper%20Examples).
## Prerequisites
-Before starting the setup, ensure the following requirements are met:
+- **System Requirements**: [System requirements for ASP.NET Core controls](https://help.syncfusion.com/document-processing/system-requirements)
+- **License**: [ASP.NET Core licensing documentation](https://ej2.syncfusion.com/aspnetcore/documentation/licensing/overview)
-- **System Requirements**: Review the [system requirements for ASP.NET Core controls](https://help.syncfusion.com/document-processing/system-requirements)
-- **License**: For production applications, a valid Syncfusion license key must be registered as described in the [ASP.NET Core licensing documentation](https://ej2.syncfusion.com/aspnetcore/documentation/licensing/overview)
+{% tabcontents %}
-## Integrate PDF Viewer into an ASP.NET Core application
+{% tabcontent Visual Studio %}
-### Step 1: Create a new ASP.NET Core project
+## Create a new ASP.NET Core Web App in Visual Studio
-1. Start Visual Studio and select **Create a new project**.
-2. In the **Create a new project** dialog, select **ASP.NET Core Web App**.
-
-3. In the **Configure your new project** dialog, enter the project name and select **Next**.
-
-4. In the **Additional information** dialog, select **.NET 6.0 (Long-term Support)** or a later LTS version (such as .NET 8.0), and then select **Create**.
-
+Create an ASP.NET Core Web App using Visual Studio 2022 by the following the instructions [here](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=visualstudio).
## ASP.NET Core PDF Viewer NuGet package installation
-### Step 2: Install required NuGet packages
+To add the ASP.NET Core PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), then search for and install:
-To add Syncfusion ASP.NET Core controls to the application, use the NuGet package manager. Open the Package Manager Console or use the NuGet Package Manager UI in Visual Studio and install the [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) package.
+* [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/)
+* [Syncfusion.EJ2.PdfViewer.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.PdfViewer.AspNet.Core/)
+
+{% endtabcontent %}
+
+{% tabcontent Visual Studio Code %}
+
+## Create a new ASP.NET Core Web App in Visual Studio Code
+
+Create an **ASP.NET Core Web App** in Visual Studio Code using the following commands:
{% tabs %}
-{% highlight C# tabtitle="Package Manager" %}
+{% highlight c# tabtitle="ASP.NET Core" %}
-Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }}
+dotnet new webapp -o WebApp
+cd WebApp
{% endhighlight %}
{% endtabs %}
-## Add Syncfusion® ASP.NET Core Tag Helper
+## ASP.NET Core PDF Viewer NuGet package installation
+
+Install the Syncfusion® ASP.NET Core component NuGet packages within the project.
+
+* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
+* Ensure you’re in the project root directory where your `.csproj` file is located.
+* Run the following commands to install the [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and [Syncfusion.EJ2.PdfViewer.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.PdfViewer.AspNet.Core/) NuGet packages.
+
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
+
+dotnet add package Syncfusion.EJ2.AspNet.Core -v {{ site.releaseversion }}
+dotnet add package Syncfusion.EJ2.PdfViewer.AspNet.Core -v {{ site.releaseversion }}
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
+
+{% endtabcontent %}
+
+{% endtabcontents %}
-### Step 3: Import the Tag Helper
+## Add Syncfusion® ASP.NET Core Tag Helper
Open `~/Pages/_ViewImports.cshtml` and add the Syncfusion EJ2 Tag Helper import. This makes all Syncfusion tag helpers available throughout the application.
@@ -60,8 +86,6 @@ Open `~/Pages/_ViewImports.cshtml` and add the Syncfusion EJ2 Tag Helper import.
## Add style sheet
-### Step 4: Add component styles
-
Reference the Syncfusion theme using the CDN inside the `` of `~/Pages/Shared/_Layout.cshtml`. This stylesheet provides styling for all Syncfusion components including the PDF Viewer.
{% tabs %}
@@ -80,8 +104,6 @@ N> See the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentation/ap
## Add script reference
-### Step 5: Add component scripts
-
Add the Syncfusion JavaScript library using the CDN inside the `` of `~/Pages/Shared/_Layout.cshtml`. This script provides the core functionality for all Syncfusion components.
{% tabs %}
@@ -93,14 +115,14 @@ Add the Syncfusion JavaScript library using the CDN inside the `` of `~/Pa
+To use locally availabe script and style resources, follow these [instructions](./how-to/local-resources#configuring-pdf-viewer-with-local-styles-and-scripts)
+
{% endhighlight %}
{% endtabs %}
## Register Syncfusion® Script Manager
-### Step 6: Register the script manager
-
-Open `~/Pages/Shared/_Layout.cshtml` and register the script manager at the end of the `` tag. The script manager initializes Syncfusion components and manages their lifecycle.
+Open `~/Pages/Shared/_Layout.cshtml` and register the script manager at the end of the `` tag. The script manager initializes Syncfusion components and manages their life cycle.
{% tabs %}
{% highlight c# tabtitle="~/_Layout.cshtml" %}
@@ -115,12 +137,10 @@ Open `~/Pages/Shared/_Layout.cshtml` and register the script manager at the end
{% endhighlight %}
{% endtabs %}
-N> Add the script manager `` at the end of the ``.
+N> Add the script manager `` at the end of the ``.
## Add ASP.NET Core PDF Viewer control
-### Step 7: Add the PDF Viewer component
-
Add the Syncfusion® ASP.NET Core PDF Viewer tag helper in `~/Pages/Index.cshtml`. The `serviceUrl` property is essential for server-backed mode, as it specifies the server endpoint that handles all PDF processing operations.
{% tabs %}
@@ -140,296 +160,34 @@ Add the Syncfusion® ASP.NET Core PDF Viewer
{% endhighlight %}
{% endtabs %}
-### Step 8: Implement server-side handlers
+## Implement server-side handlers
-Add the following code to `Index.cshtml.cs` in the `Pages` folder. The `IndexModel` class contains handler methods that process all PDF operations on the server, such as loading documents, rendering pages, handling annotations, and managing downloads.
+Add the server side code to `Index.cshtml.cs` in the `Pages` folder. The class should contain handler methods that process all PDF operations on the server, such as loading documents, rendering pages, handling annotations, and managing downloads.
-{% tabs %}
-{% highlight c# tabtitle="Index.cshtml.cs" %}
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Caching.Memory;
-using Syncfusion.EJ2.PdfViewer;
-using Newtonsoft.Json;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Reflection;
-using System.Net;
-
-namespace PDFViewerSample.Pages
-{
- [IgnoreAntiforgeryToken(Order = 1001)]
- public class IndexModel : PageModel
- {
-
- private readonly Microsoft.AspNetCore.Hosting.IHostingEnvironment _hostingEnvironment;
- private IMemoryCache _cache;
-
- public IndexModel(Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnvironment, IMemoryCache cache)
- {
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- }
-
- public IActionResult OnPostLoad([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- var jsonObject = JsonConverterstring(responseData);
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonObject["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- string fileName = jsonObject["document"].Split(new string[] { "://" }, StringSplitOptions.None)[0];
- if (fileName == "http" || fileName == "https")
- {
- WebClient WebClient = new WebClient();
- byte[] pdfDoc = WebClient.DownloadData(jsonObject["document"]);
- stream = new MemoryStream(pdfDoc);
- }
- else
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- public Dictionary JsonConverterstring(jsonObjects results)
- {
- Dictionary resultObjects = new Dictionary();
- resultObjects = results.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)
- .ToDictionary(prop => prop.Name, prop => prop.GetValue(results, null));
- var emptyObjects = (from kv in resultObjects
- where kv.Value != null
- select kv).ToDictionary(kv => kv.Key, kv => kv.Value);
- Dictionary jsonResult = emptyObjects.ToDictionary(k => k.Key, k => k.Value.ToString());
- return jsonResult;
- }
-
- //Post action for processing the PDF documents.
- public IActionResult OnPostRenderPdfPages([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- object jsonResult = pdfviewer.GetPage(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- //Post action for unloading and disposing the PDF document resources
- public IActionResult OnPostUnload([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- pdfviewer.ClearCache(jsonObject);
- return this.Content("Document cache is cleared");
- }
-
- //Post action for rendering the ThumbnailImages
- public IActionResult OnPostRenderThumbnailImages([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- object result = pdfviewer.GetThumbnailImages(jsonObject);
- return Content(JsonConvert.SerializeObject(result));
- }
-
- //Post action for processing the bookmarks from the PDF documents
- public IActionResult OnPostBookmarks([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- object jsonResult = pdfviewer.GetBookmarks(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- //Post action for rendering the annotation comments
- public IActionResult OnPostRenderAnnotationComments([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- object jsonResult = pdfviewer.GetAnnotationComments(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- //Post action for exporting the annotations
- public IActionResult OnPostExportAnnotations([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- string jsonResult = pdfviewer.ExportAnnotation(jsonObject);
- return Content(jsonResult);
- }
-
- //Post action for importing the annotations
- public IActionResult OnPostImportAnnotations([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- string jsonResult = string.Empty;
- object JsonResult;
- if (jsonObject != null && jsonObject.ContainsKey("fileName"))
- {
- string documentPath = GetDocumentPath(jsonObject["fileName"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- jsonResult = System.IO.File.ReadAllText(documentPath);
- }
- else
- {
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- else
- {
- string extension = Path.GetExtension(jsonObject["importedData"]);
- if (extension != ".xfdf")
- {
- JsonResult = pdfviewer.ImportAnnotation(jsonObject);
- return Content(JsonConvert.SerializeObject(JsonResult));
- }
- else
- {
- string documentPath = GetDocumentPath(jsonObject["importedData"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- jsonObject["importedData"] = Convert.ToBase64String(bytes);
- JsonResult = pdfviewer.ImportAnnotation(jsonObject);
- return Content(JsonConvert.SerializeObject(JsonResult));
- }
- else
- {
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- }
- return Content(jsonResult);
- }
-
- //Post action for downloading the PDF documents
- public IActionResult OnPostDownload([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- return Content(documentBase);
- }
-
- //Post action for printing the PDF documents
- public IActionResult OnPostPrintImages([FromBody] jsonObjects responseData)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonObject = JsonConverterstring(responseData);
- object pageImage = pdfviewer.GetPrintImage(jsonObject);
- return Content(JsonConvert.SerializeObject(pageImage));
- }
-
- //Gets the path of the PDF document
- private string GetDocumentPath(string document)
- {
- string documentPath = string.Empty;
- if (!System.IO.File.Exists(document))
- {
- string basePath = _hostingEnvironment.WebRootPath;
- string dataPath = string.Empty;
- dataPath = basePath + "/";
- if (System.IO.File.Exists(dataPath + (document)))
- documentPath = dataPath + document;
- }
- else
- {
- documentPath = document;
- }
- return documentPath;
- }
- }
-
- public class jsonObjects
- {
- public string document { get; set; }
- public string password { get; set; }
- public string zoomFactor { get; set; }
- public string isFileName { get; set; }
- public string xCoordinate { get; set; }
- public string yCoordinate { get; set; }
- public string pageNumber { get; set; }
- public string documentId { get; set; }
- public string hashId { get; set; }
- public string sizeX { get; set; }
- public string sizeY { get; set; }
- public string startPage { get; set; }
- public string endPage { get; set; }
- public string stampAnnotations { get; set; }
- public string textMarkupAnnotations { get; set; }
- public string stickyNotesAnnotation { get; set; }
- public string shapeAnnotations { get; set; }
- public string measureShapeAnnotations { get; set; }
- public string action { get; set; }
- public string pageStartIndex { get; set; }
- public string pageEndIndex { get; set; }
- public string fileName { get; set; }
- public string elementId { get; set; }
- public string pdfAnnotation { get; set; }
- public string importPageList { get; set; }
- public string uniqueId { get; set; }
- public string data { get; set; }
- public string viewPortWidth { get; set; }
- public string viewPortHeight { get; set; }
- public string tilecount { get; set; }
- public bool isCompletePageSizeNotReceived { get; set; }
- public string freeTextAnnotation { get; set; }
- public string signatureData { get; set; }
- public string fieldsData { get; set; }
- public string formDesigner { get; set; }
- public string inkSignatureData { get; set; }
- public bool hideEmptyDigitalSignatureFields { get; set; }
- public bool showDigitalSignatureAppearance { get; set; }
- public bool digitalSignaturePresent { get; set; }
- public string tileXCount { get; set; }
- public string tileYCount { get; set; }
- public string digitalSignaturePageList { get; set; }
- public string annotationCollection { get; set; }
- public string annotationsPageList { get; set; }
- public string formFieldsPageList { get; set; }
- public bool isAnnotationsExist { get; set; }
- public bool isFormFieldAnnotationsExist { get; set; }
- public string documentLiveCount { get; set; }
- public string annotationDataFormat { get; set; }
- public string importedData { get; set; }
- }
-}
-{% endhighlight %}
-{% endtabs %}
+An implementation example can be found [here](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/blob/main/PDFViewer/ASP.NET%20Core%20Tag%20Helper%20Examples/Pages/Index.cshtml.cs).
-### Code explanation
+## Run the application
-The implementation includes the following key components:
+Run the app to display the PDF in the Syncfusion® ASP.NET Core PDF Viewer in the browser.
-- The **ejs-pdfviewer** tag helper renders the PDF Viewer control with the id `pdfviewer`
-- The **serviceUrl** property specifies the server endpoint (`/Index`) that processes all PDF operations
-- The **documentPath** property defines the PDF document to load (can be a URL or local file path)
+
-### Step 9: Run the application
+## Deployment notes
-Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the application. The Syncfusion® ASP.NET Core PDF Viewer will render in the default web browser with the server-backed rendering engine.
+- Unlike the standalone PDF Viewer which performs client-side rendering, the server-backed PDF Viewer processes and renders PDFs entirely on the server. As a result, the following files are **not required** and should be omitted during deployment:
+ - `pdfium.js`
+ - `pdfium.wasm`
-
+- For hosting the web service on Linux, include [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1)
+
+- For AWS environments, use the following packages:
+
+ | **Amazon Web Services (AWS)** |**NuGet package name** |
+ | --- | --- |
+ | AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1)|
+ | AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.119.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.119.1)|
-The `serviceUrl` can be updated dynamically at runtime. After updating the value, invoke `pdfViewer.dataBind()` to apply the change and then load the document. This feature is supported in version 23.1.36 or later.
+- The `serviceUrl` can be updated dynamically at runtime. After updating the value, invoke `pdfViewer.dataBind()` to apply the change and then load the document. This feature is supported in version 23.1.36 or later.
```javascript
function load() {
@@ -437,23 +195,9 @@ function load() {
pdfViewer.serviceUrl = "/Index";
pdfViewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
pdfViewer.dataBind();
- pdfViewer.load(pdfViewer.documentPath, null);
}
```
-N> A complete working sample is available on GitHub. [View the ASP.NET Core PDF Viewer sample](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20Core%20Tag%20Helper%20Examples).
-
-Unlike the standalone PDF Viewer which performs client-side rendering, the server-backed PDF Viewer processes and renders PDFs entirely on the server. As a result, the following files are **not required** and should be omitted during deployment:
-- `pdfium.js`
-- `pdfium.wasm`
-
-N> For hosting the web service on Linux, include [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). For AWS environments, use the following packages:
-
-| **Amazon Web Services (AWS)** |**NuGet package name** |
-| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
-
## See also
* [Getting Started with Syncfusion® ASP.NET Core](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started.md
index 02f1474f40..edfccf727e 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/getting-started.md
@@ -1,7 +1,7 @@
---
layout: post
title: Getting Started with Standalone ASP.NET Core PDF Viewer | Syncfusion
-description: Learn how to integrate the standalone ASP.NET Core PDF Viewer control in your web application. View, print, search, annotate, and fill PDF forms with client-side rendering.
+description: Learn how to integrate the standalone ASP.NET Core PDF Viewer control in your web application. View and annotate with client-side rendering.
platform: document-processing
control: PDF Viewer
documentation: ug
@@ -9,44 +9,68 @@ documentation: ug
# Getting Started with Standalone ASP.NET Core PDF Viewer
-The [ASP.NET Core PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) control is a standalone solution for viewing, printing, and interacting with PDF files in web applications. Client-side rendering eliminates server processing overhead, enabling responsive performance for most use cases. The control provides a comprehensive reading experience with zooming, scrolling, text search, text selection, and text copying. Built-in support for thumbnails, bookmarks, hyperlinks, and tables of contents ensures seamless navigation within and across PDF documents. Users can also annotate documents and fill form fields directly within the viewer.
+This article shows how to add the [Syncfusion® Standalone ASP.NET Core PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) to a ASP.NET Core Web application using Visual Studio or Visual Studio Code. A fully functional example project is available in the [GitHub repository](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20Core%20Tag%20Helper%20Examples%20-%20Standalone%20PDF%20Viewer).
## Prerequisites
-Before starting the setup, ensure the following requirements are met:
+- **System Requirements**: [System requirements for ASP.NET Core controls](https://help.syncfusion.com/document-processing/system-requirements)
+- **License**: [ASP.NET Core licensing documentation](https://ej2.syncfusion.com/aspnetcore/documentation/licensing/overview)
-- **System Requirements**: Review the [system requirements for ASP.NET Core controls](https://help.syncfusion.com/document-processing/system-requirements)
-- **License**: For production applications, a valid Syncfusion license key must be registered as described in the [ASP.NET Core licensing documentation](https://ej2.syncfusion.com/aspnetcore/documentation/licensing/overview)
+{% tabcontents %}
-## Integrate PDF Viewer into an ASP.NET Core application
+{% tabcontent Visual Studio %}
-### Step 1: Create a new ASP.NET Core project
+## Create a new ASP.NET Core Web App in Visual Studio
-1. Start Visual Studio and select **Create a new project**.
-2. In the **Create a new project** dialog, select **ASP.NET Core Web App**.
-
-3. In the **Configure your new project** dialog, enter the project name and select **Next**.
-
-4. In the **Additional information** dialog, select a .NET LTS version (for example, **.NET 6.0 (Long-term Support)**) and then select **Create**.
-
+Create an ASP.NET Core Web App using Visual Studio 2022 by following the instructions [here](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=visualstudio).
## ASP.NET Core PDF Viewer NuGet package installation
-### Step 2: Install required NuGet packages
+To add the ASP.NET Core PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), then search for and install:
-To add Syncfusion ASP.NET Core controls to the application, use the NuGet package manager. Open the Package Manager Console or use the NuGet Package Manager UI in Visual Studio and install the [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) package.
+* [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/)
+
+{% endtabcontent %}
+
+{% tabcontent Visual Studio Code %}
+
+## Create a new ASP.NET Core Web App in Visual Studio Code
+
+Create an **ASP.NET Core Web App** in Visual Studio Code using the following commands:
{% tabs %}
-{% highlight C# tabtitle="Package Manager" %}
+{% highlight c# tabtitle="ASP.NET Core" %}
-Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }}
+dotnet new webapp -o WebApp
+cd WebApp
{% endhighlight %}
{% endtabs %}
-## Add Syncfusion® ASP.NET Core Tag Helper
+## ASP.NET Core PDF Viewer NuGet package installation
+
+Install the Syncfusion® ASP.NET Core component NuGet packages within the project.
+
+* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
+* Ensure you’re in the project root directory where your `.csproj` file is located.
+* Run the following command to install the [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) NuGet package.
+
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
+
+dotnet add package Syncfusion.EJ2.AspNet.Core -v {{ site.releaseversion }}
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
-### Step 3: Import the Tag Helper
+{% endtabcontent %}
+
+{% endtabcontents %}
+
+## Add Syncfusion® ASP.NET Core Tag Helper
Open `~/Pages/_ViewImports.cshtml` and add the Syncfusion EJ2 Tag Helper import. This makes all Syncfusion tag helpers available throughout the application.
@@ -60,8 +84,6 @@ Open `~/Pages/_ViewImports.cshtml` and add the Syncfusion EJ2 Tag Helper import.
## Add style sheet
-### Step 4: Add component styles (using CDN)
-
Reference the Syncfusion theme using the CDN inside the `` of `~/Pages/Shared/_Layout.cshtml`. This stylesheet provides styling for all Syncfusion components including the PDF Viewer.
{% tabs %}
@@ -80,8 +102,6 @@ N> Check out the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentat
## Add script reference
-### Step 5: Add component scripts
-
Add the Syncfusion JavaScript library using the CDN inside the `` of `~/Pages/Shared/_Layout.cshtml`. This script provides the client-side functionality for all Syncfusion components.
{% tabs %}
@@ -96,37 +116,11 @@ Add the Syncfusion JavaScript library using the CDN inside the `` of `~/Pa
{% endhighlight %}
{% endtabs %}
-## Using local resources
-
-### Step 5b: Add local scripts and styles (alternative to CDN)
-
-For offline deployment or when CDN access is restricted, you can use local resources. To load the PDF Viewer with local resources, follow these steps:
-
-**Step 1:** Place the `ej2.min.js` script and the required theme CSS files in the `wwwroot` folder of the ASP.NET Core application.
-
-**Step 2:** Reference the local script and style files in the `` of `_Layout.cshtml`, replacing CDN links with local file paths.
-
-By following these steps, the PDF Viewer will load the required resources locally. See the code snippet below for reference.
-
-{% tabs %}
-{% highlight c# tabtitle="~/_Layout.cshtml" %}
-
-
- ...
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
+To use locally available script and style resources, follow these [instructions](./how-to/local-resources#configuring-pdf-viewer-with-local-styles-and-scripts)
## Register Syncfusion® Script Manager
-### Step 6: Register the script manager
-
-Open the `~/Pages/Shared/_Layout.cshtml` page and register the script manager at the end of the `` tag. The script manager initializes Syncfusion components and manages their lifecycle.
+Open the `~/Pages/Shared/_Layout.cshtml` page and register the script manager at the end of the `` tag. The script manager initializes Syncfusion components and manages their life cycle.
{% tabs %}
{% highlight c# tabtitle="~/_Layout.cshtml" %}
@@ -145,22 +139,19 @@ N> Add the script manager `` at the end of the `` element.
## Add ASP.NET Core PDF Viewer control
-### Step 7: Add the PDF Viewer component
-
Add the Syncfusion® ASP.NET Core PDF Viewer Tag Helper in `~/Pages/Index.cshtml`. The `documentPath` property specifies the PDF document to load.
-**Example: Using CDN resources with a remote PDF URL**
-
{% tabs %}
{% highlight c# tabtitle="~/Index.cshtml" %}
-@page "{handler?}"
+@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
+
@@ -168,58 +159,14 @@ Add the Syncfusion® ASP.NET Core PDF Viewer
{% endhighlight %}
{% endtabs %}
-**Code explanation:**
-
-- **ejs-pdfviewer**: The tag helper that renders the PDF Viewer control with the id `pdfviewer`
-- **documentPath**: Specifies the PDF document to load. Accepts either:
- - An absolute URL (HTTP/HTTPS) pointing to a remote PDF
- - A relative path to a local PDF file in the `wwwroot` folder
-
-### Configure PDF Viewer for local resources
-
-To use the `resourceUrl` and `documentPath` locally with the PDF Viewer, follow these steps:
+To use the `resourceUrl` and `documentPath` locally with the PDF Viewer, follow these [instructions](./how-to/local-resources#configuring-pdf-viewer-for-locally-available-pdf-documents-and-local-resources).
-**Step 1:** Ensure the application includes an `ej2-pdfviewer-lib` folder under `wwwroot` (or a publicly accessible static path). This folder must contain:
-- `pdfium.js` and `pdfium.wasm` files
-- The PDF file(s) to display
-- Keep these in the same static content area as `ej2.min.js` and related CSS files
+## Run the application
-**Step 2:** Assign local paths to the `documentPath` and `resourceUrl` properties:
-- `documentPath`: Path to the PDF file relative to the application root
-- `resourceUrl`: Path to the `ej2-pdfviewer-lib` directory containing rendering resources
-
-By following these steps, the standalone PDF Viewer will load all resources locally. See the code snippet below for reference.
-
-{% tabs %}
-{% highlight c# tabtitle="~/Index.cshtml" %}
-
-@page "{handler?}"
-@model IndexModel
-@{
- ViewData["Title"] = "Home page";
- var originUrl = $"{Request.Scheme}://{Request.Host}{Request.PathBase}";
- var document = originUrl + "/PDF_Succinctly.pdf";
- var resourceUrl = originUrl + "/ej2-pdfviewer-lib";
-}
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-For a complete example, [view the GitHub sample for loading PDF Viewer with local resources](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally).
-
-### Step 8: Run the application
-
-Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the application. The Syncfusion® ASP.NET Core PDF Viewer will render in the default web browser with client-side rendering enabled.
+Run the app to display the PDF in the Syncfusion® ASP.NET Core PDF Viewer in the browser.

-N> [View ASP.NET Core standalone PDF Viewer sample on GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20Core%20Tag%20Helper%20Examples%20-%20Standalone%20PDF%20Viewer)
-
## See also
* [Getting started with Syncfusion® ASP.NET Core using Server backed](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/asp-net-core/getting-started-with-server-backed)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to-overview.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to-overview.md
index 75c1f5df0a..bf124e940a 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to-overview.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to-overview.md
@@ -63,4 +63,5 @@ The following frequently asked questions address common ASP.NET Core PDF Viewer
* [How to select annotations in multi page?](./how-to/select-multi-page-annotations)
* [How to get the annotation when it is overlapped with another annotation on its selection?](./how-to/overlapped-annotation)
* [How to print the PDF document silently?](./how-to/print-document)
-* [Load Document after resources Loaded](./how-to/load-document-after-resources-loaded)
\ No newline at end of file
+* [Load Document after resources Loaded](./how-to/load-document-after-resources-loaded)
+* [How to use local resources to configure PDF Viewer](./how-to/local-resources)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/local-resources.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/local-resources.md
new file mode 100644
index 0000000000..942a709529
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/local-resources.md
@@ -0,0 +1,69 @@
+---
+layout: post
+title: Using local resources in ASP.NET Core PDF Viewer control | Syncfusion
+description: Learn how to configure the ASP.NET Core PDF Viewer control with local scripts, styles, and resources for offline deployment and restricted CDN access.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Using local resources in ASP.NET Core PDF Viewer
+
+## Configuring PDF Viewer with local styles and scripts
+
+For offline deployment or when CDN access is restricted, you can use local resources required for PDF Viewer. To load the PDF Viewer with local resources, follow these steps:
+
+**Step 1:** Place the `ej2.min.js` script and the required theme CSS files in the `wwwroot` folder of the ASP.NET Core application.
+
+**Step 2:** Reference the local script and style files in the `` of `_Layout.cshtml`, replacing CDN links with local file paths.
+
+By following these steps, the PDF Viewer will load the required resources locally. See the code snippet below for reference.
+
+{% tabs %}
+{% highlight c# tabtitle="~/_Layout.cshtml" %}
+
+
+ ...
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Configuring PDF Viewer for locally available PDF documents and local resources
+
+To use the `resourceUrl` and `documentPath` locally with the PDF Viewer, follow these steps:
+
+**Step 1:** Ensure the application includes an `ej2-pdfviewer-lib` folder under `wwwroot` (or a publicly accessible static path). This folder must contain:
+- `pdfium.js` and `pdfium.wasm` files
+- The PDF file(s) to display
+- Keep these in the same static content area as `ej2.min.js` and related CSS files
+
+**Step 2:** Assign local paths to the `documentPath` and `resourceUrl` properties:
+- `documentPath`: Path to the PDF file relative to the application root
+- `resourceUrl`: Path to the `ej2-pdfviewer-lib` directory containing rendering resources
+
+By following these steps, the standalone PDF Viewer will load all resources locally. See the code snippet below for reference.
+
+{% tabs %}
+{% highlight c# tabtitle="~/Index.cshtml" %}
+
+@page "{handler?}"
+@model IndexModel
+@{
+ ViewData["Title"] = "Home page";
+ var originUrl = $"{Request.Scheme}://{Request.Host}{Request.PathBase}";
+ var document = originUrl + "/PDF_Succinctly.pdf";
+ var resourceUrl = originUrl + "/ej2-pdfviewer-lib";
+}
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/create-aspnet-mvc-project.png b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/create-aspnet-mvc-project.png
deleted file mode 100644
index 5bf460041a..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/create-aspnet-mvc-project.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/select-web-application-project.png b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/select-web-application-project.png
deleted file mode 100644
index 3071b64442..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/select-web-application-project.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/set-project-name.png b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/set-project-name.png
deleted file mode 100644
index 5638cbc2fb..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/AspNetMVC_Images/set-project-name.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started-with-server-backed.md
index 4723191dd3..e31c6a09a1 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started-with-server-backed.md
@@ -9,25 +9,17 @@ documentation: ug
# Getting started with the ASP.NET MVC PDF Viewer control
-The [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) enables viewing and printing PDF files in web applications. It offers core interactions such as zooming, scrolling, text search, text selection, and copy. Thumbnails, bookmarks, hyperlinks, and a table of contents simplify navigation within and across PDF files.
-
-This guide shows how to integrate the ASP.NET MVC PDF Viewer into an ASP.NET MVC application using Visual Studio.
+This guide shows how to integrate the [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) into an ASP.NET MVC application using Visual Studio. A fully functional example project is available in the [GitHub repository](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20MVC%20Razor%20Examples).
## Prerequisites
-[System requirements for ASP.NET MVC controls](https://help.syncfusion.com/document-processing/system-requirements)
+- [System requirements for ASP.NET MVC controls](https://help.syncfusion.com/document-processing/system-requirements)
-Before running the application, register a Syncfusion license key as described in the licensing documentation: https://help.syncfusion.com/common/essential-studio/licensing/license-key
+- [Licensing](https://help.syncfusion.com/common/essential-studio/licensing/license-key)
-## Integrate the PDF Viewer into an ASP.NET MVC application
+## Create a new ASP.NET MVC App in Visual Studio
-1. Start Visual Studio and select **Create a new project**.
-2. Create a new ASP.NET MVC Web Application project.
-
-3. Choose the target framework and project name.
-
-4. Select the Web Application (MVC) pattern and choose **Create**.
-
+- [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started)
## Install NuGet packages
@@ -111,6 +103,8 @@ Add the Syncfusion® ASP.NET MVC PDF Viewer
@@ -118,322 +112,51 @@ Add the Syncfusion® ASP.NET MVC PDF Viewer
{% endhighlight %}
{% endtabs %}
-Add the below code in the `HomeController.cs` file which is placed inside `Controllers` folder.
+## Implement server-side handlers
-{% tabs %}
-{% highlight c# tabtitle="~/HomeController.cs" %}
-
-using Newtonsoft.Json;
-using Syncfusion.EJ2.PdfViewer;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Net;
-using System.Net.Http;
-using System.Reflection;
-using System.Web;
-using System.Web.Mvc;
-
-namespace GettingStartedMVC.Controllers
-{
- public class HomeController : Controller
- {
- [System.Web.Mvc.HttpPost]
- public ActionResult Load(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- MemoryStream stream = new MemoryStream();
- var jsonData = JsonConverter(jsonObject);
- object jsonResult = new object();
- if (jsonObject != null && jsonData.ContainsKey("document"))
- {
- if (bool.Parse(jsonData["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonData["document"]);
-
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- string fileName = jsonData["document"].Split(new string[] { "://" }, StringSplitOptions.None)[0];
- if (fileName == "http" || fileName == "https")
- {
- var WebClient = new WebClient();
- byte[] pdfDoc = WebClient.DownloadData(jsonData["document"]);
- stream = new MemoryStream(pdfDoc);
- }
- else
- {
- return this.Content(jsonData["document"] + " is not found");
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonData["document"]);
- stream = new MemoryStream(bytes);
-
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonData);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- public Dictionary JsonConverter(jsonObjects results)
- {
- Dictionary resultObjects = new Dictionary();
- resultObjects = results.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)
- .ToDictionary(prop => prop.Name, prop => prop.GetValue(results, null));
- var emptyObjects = (from kv in resultObjects
- where kv.Value != null
- select kv).ToDictionary(kv => kv.Key, kv => kv.Value);
- Dictionary jsonResult = emptyObjects.ToDictionary(k => k.Key, k => k.Value.ToString());
- return jsonResult;
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult ExportAnnotations(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- string jsonResult = pdfviewer.ExportAnnotation(jsonData);
- return Content((jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult ImportAnnotations(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- string jsonResult = string.Empty;
- var jsonData = JsonConverter(jsonObject);
- if (jsonObject != null && jsonData.ContainsKey("fileName"))
- {
- string documentPath = GetDocumentPath(jsonData["fileName"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- jsonResult = System.IO.File.ReadAllText(documentPath);
- }
- else
- {
- return this.Content(jsonData["document"] + " is not found");
- }
- }
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult ImportFormFields(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- object jsonResult = pdfviewer.ImportFormFields(jsonData);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult ExportFormFields(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- string jsonResult = pdfviewer.ExportFormFields(jsonData);
- return Content(jsonResult);
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult RenderPdfPages(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- object jsonResult = pdfviewer.GetPage(jsonData);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult Unload(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- pdfviewer.ClearCache(jsonData);
- return this.Content("Document cache is cleared");
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult RenderThumbnailImages(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- object result = pdfviewer.GetThumbnailImages(jsonData);
- return Content(JsonConvert.SerializeObject(result));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult Bookmarks(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- object jsonResult = pdfviewer.GetBookmarks(jsonData);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult RenderAnnotationComments(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- object jsonResult = pdfviewer.GetAnnotationComments(jsonData);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult Download(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonData);
- return Content(documentBase);
- }
-
- [System.Web.Mvc.HttpPost]
- public ActionResult PrintImages(jsonObjects jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonData = JsonConverter(jsonObject);
- object pageImage = pdfviewer.GetPrintImage(jsonData);
- return Content(JsonConvert.SerializeObject(pageImage));
- }
-
- private HttpResponseMessage GetPlainText(string pageImage)
- {
- var responseText = new HttpResponseMessage(HttpStatusCode.OK);
- responseText.Content = new StringContent(pageImage, System.Text.Encoding.UTF8, "text/plain");
- return responseText;
- }
-
- private string GetDocumentPath(string document)
- {
- string documentPath = string.Empty;
- if (!System.IO.File.Exists(document))
- {
- var path = HttpContext.Request.PhysicalApplicationPath;
- if (System.IO.File.Exists(path + "App_Data\\" + document))
- documentPath = path + "App_Data\\" + document;
- }
- else
- {
- documentPath = document;
- }
- return documentPath;
- }
-
- public ActionResult Index()
- {
- return View();
- }
-
- public ActionResult About()
- {
- ViewBag.Message = "Your application description page.";
- return View();
- }
-
- public ActionResult Contact()
- {
- ViewBag.Message = "Your contact page.";
- return View();
- }
- }
+Add the server side code to `HomeController.cs` in the `Controllers` folder. The class should contain handler methods that process all PDF operations on the server, such as loading documents, rendering pages, handling annotations, and managing downloads.
- public class jsonObjects
- {
- public string document { get; set; }
- public string password { get; set; }
- public bool isClientsideLoading { get; set; }
- public string organizePages { get; set; }
- public string zoomFactor { get; set; }
- public string isFileName { get; set; }
- public string xCoordinate { get; set; }
- public string yCoordinate { get; set; }
- public string pageNumber { get; set; }
- public string documentId { get; set; }
- public string hashId { get; set; }
- public string sizeX { get; set; }
- public string sizeY { get; set; }
- public string startPage { get; set; }
- public string endPage { get; set; }
- public string stampAnnotations { get; set; }
- public string textMarkupAnnotations { get; set; }
- public string stickyNotesAnnotation { get; set; }
- public string shapeAnnotations { get; set; }
- public string measureShapeAnnotations { get; set; }
- public string action { get; set; }
- public string pageStartIndex { get; set; }
- public string pageEndIndex { get; set; }
- public string fileName { get; set; }
- public string elementId { get; set; }
- public string pdfAnnotation { get; set; }
- public string importPageList { get; set; }
- public string uniqueId { get; set; }
- public string data { get; set; }
- public string viewPortWidth { get; set; }
- public string viewportHeight { get; set; }
- public string tilecount { get; set; }
- public bool isCompletePageSizeNotReceived { get; set; }
- public string freeTextAnnotation { get; set; }
- public string signatureData { get; set; }
- public string fieldsData { get; set; }
- public string formDesigner { get; set; }
- public bool isSignatureEdited { get; set; }
- public string inkSignatureData { get; set; }
- public bool hideEmptyDigitalSignatureFields { get; set; }
- public bool showDigitalSignatureAppearance { get; set; }
- public bool digitalSignaturePresent { get; set; }
- public string tileXCount { get; set; }
- public string tileYCount { get; set; }
- public string digitalSignaturePageList { get; set; }
- public string annotationCollection { get; set; }
- public string annotationsPageList { get; set; }
- public string formFieldsPageList { get; set; }
- public bool isAnnotationsExist { get; set; }
- public bool isFormFieldAnnotationsExist { get; set; }
- public string documentLiveCount { get; set; }
- public string annotationDataFormat { get; set; }
- }
-}
+An implementation example can be found in [Github](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/blob/main/PDFViewer/ASP.NET%20MVC%20Razor%20Examples/Controllers/HomeController.cs).
-{% endhighlight %}
-{% endtabs %}
-
-[ServiceUrl](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.PdfViewer.PdfViewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ServiceUrl) specifies the controller endpoint that the viewer uses to communicate with the server. In this example, `PdfViewer` is the controller name.
-
-[DocumentPath](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.PdfViewer.PdfViewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_DocumentPath) specifies the PDF file to load in the viewer (a local file name or an external URL).
+## Run the application
Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. The Syncfusion® ASP.NET MVC PDF Viewer will render in the default web browser.

-N> The viewer supports changing the `serviceURL` at runtime. After updating `serviceURL`, call `pdfViewer.dataBind()` to apply the change immediately (available from version 23.1.36).
+## Deployment notes
+
+- Unlike the standalone PDF Viewer which performs client-side rendering, the server-backed PDF Viewer processes and renders PDFs entirely on the server. As a result, the following files are **not required** and should be omitted during deployment:
+ - `pdfium.js`
+ - `pdfium.wasm`
+
+- For hosting the web service on Linux, include [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1)
+
+- For AWS environments, use the following packages:
+
+ | **Amazon Web Services (AWS)** |**NuGet package name** |
+ | --- | --- |
+ | AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1)|
+ | AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.119.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.119.1)|
+
+- The `serviceUrl` can be updated dynamically at runtime. After updating the value, invoke `pdfViewer.dataBind()` to apply the change and then load the document. This feature is supported in version 23.1.36 or later.
+
+```html
+@{
string serviceUrl = VirtualPathUtility.ToAbsolute("~/Home/");
+}
+
+```
-N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20MVC%20Razor%20Examples).
-
-N> Refer to the [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour and explore the [ASP.NET MVC PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/asp-net-mvc/pdfviewer/default#/tailwind3) to learn more about core features.
-
-N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context.
-
-N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). Additionally, for AWS environments, utilize the following packages:
+## See also
-| **Amazon Web Services (AWS)** |**NuGet package name** |
-| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
\ No newline at end of file
+- [Getting started with Syncfusion ASP.NET MVC Standalone PDF Viewer](./getting-started)
+- [PDF Viewer Form Designer](./forms/overview#form-designer)
+- [Organize PDF pages](./organize-pages/overview)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started.md
index 0fa6bf8ab5..943325137b 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/getting-started.md
@@ -9,25 +9,17 @@ documentation: ug
# Getting Started with ASP.NET MVC Standalone PDF Viewer Control
-The [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) enables viewing and printing PDF files in web applications. It offers core interactions such as zooming, scrolling, text search, text selection, and copy. Thumbnails, bookmarks, hyperlinks, and a table of contents simplify navigation within and across PDF files.
-
-This guide explains how to integrate the ASP.NET MVC PDF Viewer into an ASP.NET MVC application using Visual Studio.
+This guide explains how to integrate the [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) into an ASP.NET MVC application using Visual Studio. A fully functional example project is available in the [GitHub repository](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20MVC%20Razor%20Examples).
## Prerequisites
-[System requirements for ASP.NET MVC controls](https://help.syncfusion.com/document-processing/system-requirements)
+- [System requirements for ASP.NET MVC controls](https://help.syncfusion.com/document-processing/system-requirements)
-Before running the application, register a Syncfusion license key as described in the licensing documentation: https://help.syncfusion.com/common/essential-studio/licensing/license-key
+- [Licensing](https://help.syncfusion.com/common/essential-studio/licensing/license-key)
-## Integrate PDF Viewer into an ASP.NET MVC application
+## Create a new ASP.NET MVC App in Visual Studio
-1. Start Visual Studio and select **Create a new project**.
-2. Create a new ASP.NET MVC Web Application project.
-
-3. Choose the target framework.
-
-4. Select Web Application pattern (MVC) for the project and then select **Create** button.
-
+- [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started)
## ASP.NET MVC PDF Viewer NuGet packages installation
@@ -79,30 +71,7 @@ Add the required scripts from the CDN inside the `` of `~/Views/Shared/_La
{% endhighlight %}
{% endtabs %}
-### Steps to load the PDF Viewer with local script and style
-
-To use local resources with the PDF Viewer, follow these steps:
-
-**Step 1:** Place the `ej2.min.js` script and its related styles in an `ej2` directory under the `Content` folder of the ASP.NET MVC application.
-
-**Step 2:** Add the local script and style references in the `` section of `_Layout.cshtml`. Ensure these references point to the local files instead of the CDN links.
-
-The following example shows how to reference local resources:
-
-{% tabs %}
-{% highlight c# tabtitle="~/_Layout.cshtml" %}
-
-
- ...
-
-
- ...
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
+To configure PDF Viewer with locally available script and style resources, follow these [instructions](./how-to/local-resources#configuring-pdf-viewer-with-local-styles-and-scripts).
## Register Syncfusion® Script Manager
@@ -135,6 +104,7 @@ Add the Syncfusion® ASP.NET MVC PDF Viewer
@@ -142,41 +112,16 @@ Add the Syncfusion® ASP.NET MVC PDF Viewer
{% endhighlight %}
{% endtabs %}
-[DocumentPath](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.PdfViewer.PdfViewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_DocumentPath) is the property needed to load a PDF file in the PDF Viewer.
-
-### How to configure the PDF Viewer to use local resources
-
-To load resources locally, configure the `resourceUrl` and `documentPath` properties as follows:
-
-**Step 1:** Ensure that the application includes the `ej2-pdfviewer-lib` folder under `Content`. This folder must contain `pdfium.js`, `pdfium.wasm`, and the PDF file to display.
-
-**Step 2:** Assign local paths to the `documentPath` and `resourceUrl` properties in the PDF Viewer setup. The `documentPath` points to the PDF file, and the `resourceUrl` points to the folder that contains the supporting resources.
-
-The following example shows how to reference local resources:
-
-{% tabs %}
-{% highlight c# tabtitle="~/Index.cshtml" %}
-
-@{
- ViewBag.Title = "Home Page";
- var originUrl = $"{Request.Url.Scheme}://{Request.Url.Authority}";
- var document = originUrl + "/Content/pdfsuccinctly.pdf";
- var resourceUrl = originUrl + "/Content/ej2-pdfviewer-lib";
-}
-
-
-
-{% endhighlight %}
-{% endtabs %}
+To configure [`ResourceUrl`](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ResourceUrl) and [`DocumentPath`](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_DocumentPath) with locally available resources, follow these [instructions](./how-to/local-resources#configuring-pdf-viewer-for-locally-available-pdf-documents-and-local-resources).
-View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/mvc-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally/PdfViewer_MVC)
+## Run the application
Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. The Syncfusion® ASP.NET MVC PDF Viewer will render in the default web browser.

-N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/PDFViewer/ASP.NET%20MVC%20Razor%20Examples).
+## See also
-N> Refer to the [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour and explore the [ASP.NET MVC PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/asp-net-mvc/pdfviewer/default#/tailwind3) to learn more about core features.
+- [Getting started with Server-Backed ASP.NET MVC PDF Viewer](./getting-started-with-server-backed)
+- [PDF Viewer Form Designer](./forms/overview#form-designer)
+- [Organize PDF pages](./organize-pages/overview)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to-overview.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to-overview.md
index 1caa381279..24e1c54fee 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to-overview.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to-overview.md
@@ -74,4 +74,5 @@ The frequently asked questions in Essential® PDF Viewer are liste
* [How to set Author name for annotation in PDF Viewer?](./how-to/set-author-name-to-annotation)
* [How to Show notification dialog in PDF Viewer?](./how-to/show-notification-dialog)
* [How to set date to the signature in PDF Viewer?](./how-to/signature-date)
-* [Load Document after resources Loaded](./how-to/load-document-after-resources-loaded)
\ No newline at end of file
+* [Load Document after resources Loaded](./how-to/load-document-after-resources-loaded)
+* [How to configure PDF Viewer with local resources?](./how-to/local-resources)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to/local-resources.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to/local-resources.md
new file mode 100644
index 0000000000..8a4a5143a8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/how-to/local-resources.md
@@ -0,0 +1,64 @@
+---
+layout: post
+title: Using local resources in ASP.NET MVC PDF Viewer control | Syncfusion
+description: Learn how to configure the ASP.NET MVC PDF Viewer control with local scripts, styles, and resources for offline deployment and restricted CDN access.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Using local resources in ASP.NET MVC PDF Viewer
+
+## Configuring PDF Viewer with local styles and scripts
+
+To use local resources with the PDF Viewer, follow these steps:
+
+**Step 1:** Place the `ej2.min.js` script and its related styles in an `ej2` directory under the `Content` folder of the ASP.NET MVC application.
+
+**Step 2:** Add the local script and style references in the `` section of `_Layout.cshtml`. Ensure these references point to the local files instead of the CDN links.
+
+The following example shows how to reference local resources:
+
+{% tabs %}
+{% highlight c# tabtitle="~/_Layout.cshtml" %}
+
+
+ ...
+
+
+ ...
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Configuring PDF Viewer for locally available PDF documents and local resources
+
+To load resources locally, configure the `resourceUrl` and `documentPath` properties as follows:
+
+**Step 1:** Ensure that the application includes the `ej2-pdfviewer-lib` folder under `Content`. This folder must contain `pdfium.js`, `pdfium.wasm`, and the PDF file to display.
+
+**Step 2:** Assign local paths to the `documentPath` and `resourceUrl` properties in the PDF Viewer setup. The `documentPath` points to the PDF file, and the `resourceUrl` points to the folder that contains the supporting resources.
+
+The following example shows how to reference local resources:
+
+{% tabs %}
+{% highlight c# tabtitle="~/Index.cshtml" %}
+
+@{
+ ViewBag.Title = "Home Page";
+ var originUrl = $"{Request.Url.Scheme}://{Request.Url.Authority}";
+ var document = originUrl + "/Content/pdfsuccinctly.pdf";
+ var resourceUrl = originUrl + "/Content/ej2-pdfviewer-lib";
+}
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/mvc-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally/PdfViewer_MVC)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md
index 3e9928e069..b767ae90e5 100644
--- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md
@@ -19,26 +19,38 @@ This article shows how to add the Syncfusion® Blazor PDF Viewer to a Blazor
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-* If using an interactive render mode such as WebAssembly or Auto, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command:
- * dotnet workload install wasm-tools
+N> If using an interactive render mode such as `WebAssembly` or `Auto`, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command:
+* dotnet workload install wasm-tools
+* The above code will only install the latest available workload on the machine, such as .NET 10. If you need to install a specific .NET version like .NET 9 or .NET 8, please use a command such as `dotnet workload install wasm-tools-net8` and `dotnet workload install wasm-tools-net9`.
## Create a new Blazor Web App in Visual Studio
-You can create a Blazor Web App using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+Create a Blazor Web App using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
-Configure the appropriate [interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) when creating a Blazor Web App.
+N> Configure the appropriate [interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-10.0#render-modes) and [interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vs) when creating a Blazor Web App.
-## Install Blazor PDF Viewer NuGet packages
+## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages
-To add the Blazor PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), then search for and install:
+To add the Blazor PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), or the integrated terminal in Visual Studio Code (dotnet add package).
-* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer)
-* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
+Alternatively, run the following command in the Package Manager Console to achieve the same.
-If using the WebAssembly or Auto interactive render mode, install the NuGet packages in the client project to add the component to the Web App.
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
+
+dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }}
+dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }}
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
+
+If using the `WebAssembly` or `Auto` interactive render mode, install the NuGet packages in the client project to add the component to the Web App.
N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
-* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)
+* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor/3.119.1)

@@ -50,18 +62,15 @@ N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this vers
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-* If using an interactive render mode such as WebAssembly or Auto, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command:
- * dotnet workload install wasm-tools
-
-N> The above code will only install the latest available workload on the machine, such as .NET 10. If you need to install a specific .NET version like .NET 9 or .NET 8, please use a command such as `dotnet workload install wasm-tools-net8`.
+N> If using an interactive render mode such as WebAssembly or Auto, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command:
+* dotnet workload install wasm-tools
+* The above code will only install the latest available workload on the machine, such as .NET 10. If you need to install a specific .NET version like .NET 9 or .NET 8, please use a command such as `dotnet workload install wasm-tools-net8` and `dotnet workload install wasm-tools-net9`.
## Create a new Blazor Web App in Visual Studio Code
-You can create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+Create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
-Configure the appropriate [interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) when creating a Blazor Web App.
-
-For example, in a Blazor Web App with the `Auto` interactive render mode, use the following commands.
+For example, in a Blazor Web App with the `Auto` interactive render mode, use the following commands in the integrated terminal (Ctrl+`).
{% tabs %}
{% highlight c# tabtitle="Blazor Web App" %}
@@ -73,15 +82,13 @@ cd BlazorWebApp.Client
{% endhighlight %}
{% endtabs %}
-N> For more information on creating a Blazor Web App with various interactive modes and locations, see [Render interactive modes](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes).
+N> Configure the appropriate [interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-10.0#render-modes) and [interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vsc) when creating a Blazor Web App.
-## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app
+## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages
-If using WebAssembly or Auto render modes in the Blazor Web App, install the Syncfusion® Blazor component NuGet packages within the client project.
+To add the Blazor PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), or the integrated terminal in Visual Studio Code (dotnet add package).
-* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
-* Ensure you’re in the project root directory where your `.csproj` file is located.
-* Run the following commands to install the [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet packages and ensure all dependencies are installed.
+Alternatively, run the following command in the Package Manager Console to achieve the same.
{% tabs %}
@@ -95,10 +102,10 @@ dotnet restore
{% endtabs %}
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). See [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) for the list of available packages and component details.
+If using the `WebAssembly` or `Auto` interactive render mode, install the NuGet packages in the client project to add the component to the Web App.
-N> Syncfusion® uses [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) version 3.119.1. Ensure this version is referenced.
-* dotnet add package SkiaSharp.Views.Blazor -v 3.119.1
+N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
+* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor/3.119.1)

@@ -106,14 +113,9 @@ N> Syncfusion® uses [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/
{% endtabcontents %}
-## Register Syncfusion Blazor service
-
-| Interactive Render Mode | Description |
-| -- | -- |
-| WebAssembly or Auto | Open **~/_Imports.razor** from the client project.|
-| Server | Open **~/Components/_Imports.razor**.|
+## Add import namespaces
-* In the **~/_Imports.razor** file, add the following namespaces:
+After the package is installed, open the ~/_Imports.razor file from the client project and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.SfPdfViewer` namespaces.
{% tabs %}
{% highlight razor tabtitle="~/_Imports.razor" %}
@@ -124,14 +126,14 @@ N> Syncfusion® uses [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/
{% endhighlight %}
{% endtabs %}
-* Register the Syncfusion® Blazor service in the **~/Program.cs** file of your Blazor Web App.
+## Register Syncfusion® Blazor service
-If the interactive render mode is set to WebAssembly or Auto, register the Syncfusion® Blazor service in both **~/Program.cs** files of the Blazor Web App.
+Register the Syncfusion® Blazor service in the **~/Program.cs** file of your Blazor Web App.
-If the interactive render mode is set to Server, the project contains a single **~/Program.cs** file. Register the Syncfusion® Blazor Service only in that file.
+N> If the interactive render mode is set to WebAssembly or Auto, register the Syncfusion® Blazor service in both **~/Program.cs** files of the Blazor Web App.
{% tabs %}
-{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) Server" hl_lines="2 9 11 13" %}
+{% highlight c# tabtitle="(~/Program.cs) Server" hl_lines="2 9 11 13" %}
using BlazorWebAppServer.Components;
using Syncfusion.Blazor;
@@ -149,24 +151,11 @@ builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
-if (!app.Environment.IsDevelopment())
-{
- app.UseExceptionHandler("/Error", createScopeForErrors: true);
- app.UseHsts();
-}
-
-app.UseHttpsRedirection();
-app.UseStaticFiles();
-app.UseAntiforgery();
-
-app.MapRazorComponents()
- .AddInteractiveServerRenderMode();
-
-app.Run();
+....
{% endhighlight %}
-{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) WebAssembly" hl_lines="3 9 11" %}
+{% highlight c# tabtitle="(~/Program.cs) WebAssembly" hl_lines="3 9 11" %}
using BlazorWebApp.Client.Pages;
using BlazorWebApp.Components;
@@ -181,29 +170,12 @@ builder.Services.AddMemoryCache();
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
-if (app.Environment.IsDevelopment())
-{
-app.UseWebAssemblyDebugging();
-}
-else
-{
-app.UseExceptionHandler("/Error", createScopeForErrors: true);
- app.UseHsts();
-}
-
-app.UseHttpsRedirection();
-app.UseStaticFiles();
-app.UseAntiforgery();
-
-app.MapRazorComponents()
- .AddInteractiveWebAssemblyRenderMode()
- .AddAdditionalAssemblies(typeof(Counter).Assembly);
-
-app.Run();
+
+....
{% endhighlight %}
-{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) Auto" hl_lines="3 9 11 13" %}
+{% highlight c# tabtitle="(~/Program.cs) Auto" hl_lines="3 9 11 13" %}
using BlazorWebAppAuto.Client.Pages;
using BlazorWebAppAuto.Components;
@@ -220,21 +192,8 @@ builder.Services.AddMemoryCache();
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
-if (app.Environment.IsDevelopment())
-{
-app.UseWebAssemblyDebugging();
-}
-else
-{ app.UseExceptionHandler("/Error", createScopeForErrors: true);
- app.UseHsts();
-}
-app.UseHttpsRedirection();
-app.UseStaticFiles();
-app.UseAntiforgery();
-
-app.MapRazorComponents()
-.AddInteractiveServerRenderMode() .AddInteractiveWebAssemblyRenderMode()
- .AddAdditionalAssemblies(typeof(Counter).Assembly);
+
+....
{% endhighlight %}
{% endtabs %}
@@ -246,7 +205,7 @@ N> [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewe
Add the following stylesheet and script to the head section of **~/Components/App.razor**.
{% tabs %}
-{% highlight html hl_lines="3 7" %}
+{% highlight razor tabtitle="App.razor" hl_lines="3 7" %}
@@ -273,6 +232,8 @@ Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~/Pages/*.razor**
N> If the interactivity location is set to Global and the render mode is set to Auto, WebAssembly, or Server, the render mode is configured in the App.razor file by default.
+ Enable interactivity only via client-side rendering (CSR) by using the WebAssembly or Auto option
+
{% tabs %}
{% highlight razor %}
@@ -282,13 +243,11 @@ N> If the interactivity location is set to Global and the render mode is set to
{% endhighlight %}
{% endtabs %}
-N> If the interactivity location is set to Global, a render mode does not need to be specified per page. The interactivity mode applies to the entire app.
- Enable interactivity only via client-side rendering (CSR) by using the WebAssembly or Auto option
Add the Syncfusion® PDF Viewer component in **~/Pages/Index.razor**.
{% tabs %}
-{% highlight razor %}
+{% highlight razor tabtitle="Home.razor" %}
@page "/"
To use the PDF Viewer with SkiaSharp in a Blazor WebAssembly app, ensure the required .NET workloads are installed by running:
+* dotnet workload install wasm-tools
+* dotnet workload install wasm-tools-net8 (For .NET 8.0) or dotnet workload install wasm-tools-net9 (For .NET 9.0) or dotnet workload install wasm-tools-net10 (For .NET 10.0)
## Create a new Blazor App in Visual Studio
-You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
-
-N> The PDF Viewer supports .NET 8.0 and later.
+You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
## Install NuGet packages
-To add the Blazor PDF Viewer, open the NuGet Package Manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), then install:
+To add the Blazor PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), or the integrated terminal in Visual Studio Code (dotnet add package).
+
+Alternatively, run the following command in the Package Manager Console to achieve the same.
+
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
-* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer)
-* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
-* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)
+dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }}
+dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }}
+dotnet add package SkiaSharp.Views.Blazor -v 3.119.1
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
@@ -47,13 +56,13 @@ N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this vers
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-* To use the PDF Viewer with SkiaSharp in a Blazor WebAssembly app, ensure the required .NET workloads are installed by running:
- * dotnet workload install wasm-tools
- * dotnet workload install wasm-tools-net8 (For .NET 8.0) or dotnet workload install wasm-tools-net9 (For .NET 9.0) or dotnet workload install wasm-tools-net10 (For .NET 10.0)
+N> To use the PDF Viewer with SkiaSharp in a Blazor WebAssembly app, ensure the required .NET workloads are installed by running:
+* dotnet workload install wasm-tools
+* dotnet workload install wasm-tools-net8 (For .NET 8.0) or dotnet workload install wasm-tools-net9 (For .NET 9.0) or dotnet workload install wasm-tools-net10 (For .NET 10.0)
## Create a new Blazor App in Visual Studio Code
-You can create a **Blazor WebAssembly App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+Create a **Blazor WebAssembly App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-10.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
Alternatively, create a WebAssembly application using the following command in the terminal (Ctrl+`).
@@ -68,13 +77,12 @@ cd BlazorApp
{% endtabs %}
-N> The PDF Viewer supports .NET 8.0 and later.
## Install Syncfusion® Blazor NuGet packages in the app
-* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
-* Ensure you’re in the project root directory where your `.csproj` file is located.
-* Run the following commands to install the required NuGet packages and their dependencies.
+To add the Blazor PDF Viewer component, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), or the integrated terminal in Visual Studio Code (dotnet add package).
+
+Alternatively, run the following command in the Package Manager Console to achieve the same.
{% tabs %}
@@ -91,13 +99,11 @@ dotnet restore
N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). See [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) for the list of available packages and component details.
-
{% endtabcontent %}
{% endtabcontents %}
-## Register Syncfusion® Blazor Service
+## Add import namespaces
* In the **~/_Imports.razor** file, add the following namespaces:
@@ -110,10 +116,12 @@ N> Syncfusion® Blazor components are available on [nuget.org](https://www.nu
{% endhighlight %}
{% endtabs %}
-* Register the Syncfusion® Blazor service in the **~/Program.cs** file.
+## Register Syncfusion® Blazor Service
+
+* Register the Syncfusion® Blazor service in the **~/Program.cs** file of your Blazor WebAssembly App.
{% tabs %}
-{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="3 9 13" %}
+{% highlight C# tabtitle="(~/Program.cs)" hl_lines="3 9 13" %}
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
@@ -138,7 +146,7 @@ await builder.Build().RunAsync();
Add the following stylesheet and script to the head section of **wwwroot/index.html**.
{% tabs %}
-{% highlight html hl_lines="3 7" %}
+{% highlight razor tabtitle="index.html" hl_lines="3 7" %}
@@ -157,7 +165,7 @@ Add the following stylesheet and script to the head section of **wwwroot/index.h
Add the Syncfusion® PDF Viewer (Next-Gen) component to **~/Pages/Index.razor**.
{% tabs %}
-{% highlight razor %}
+{% highlight razor tabtitle="Home.razor" %}
@page "/"
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started-with-server-backed.md
index 304874b9e7..76a98fc7ec 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started-with-server-backed.md
@@ -10,14 +10,21 @@ domainurl: ##DomainURL##
# Getting started with JavaScript PDF Viewer (server-backed)
-This guide explains how to create the PDF Viewer component and configure its features in JavaScript (global script) using CDN-hosted resources in server-backed mode.
+This guide explains how to create the PDF Viewer component and configure its features in JavaScript (global script) using CDN-hosted resources in **server-backed mode**.
> Ensure that the same version is used for all script and style references to avoid compatibility issues.
-## Set up the application
+## Setup the development environment
-1. Create an app folder `my_app` for the Essential JS 2 JavaScript components.
-2. The Essential JS 2 component's global scripts and styles are already hosted in the following CDN link formats.
+This example uses a simple HTML-based setup with CDN links for Syncfusion components.
+
+### Create application folder
+
+Create an app folder `my-app` for the Essential JS 2 JavaScript components.
+
+### Add style and script references
+
+The Essential JS 2 component's global scripts and styles are hosted at the following CDN link formats.
**Syntax:**
> Script: `https://cdn.syncfusion.com/ej2/{Version}/dist/{PACKAGE_NAME}.min.js`
@@ -25,61 +32,114 @@ This guide explains how to create the PDF Viewer component and configure its fea
> Styles: `https://cdn.syncfusion.com/ej2/{Version}/{PACKAGE_NAME}/styles/material.css`
**Example:**
-> Script: [`https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js`](https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js)
+> Script: [`https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2.min.js`](https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2.min.js)
>
-> Styles: [`https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css`](https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css)
+> Styles: [`https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/ej2-base/styles/material.css`](https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/ej2-base/styles/material.css)
-3. Create an HTML page (`index.html`) in the `my_app` location, add the CDN link references, add the `div` element, and initialize the Essential JS 2 PDF Viewer component by using the following code.
+Create an HTML page (index.html) in `my-app` location and add the CDN link references.
+
+{% tabs %}
+{% highlight html tabtitle="index.html" hl_lines="8 9 10 11 12 13 14 15 16 17 19" %}
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding the PDF Viewer component
+
+Add the `Div` element and initiate the **PDF Viewer** component in the index.html by using the following code.
{% tabs %}
{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/javascript-es5/es5-getting-started-cs1/index.html %}
+
+
+
+
+
+
+
+
+
+
{% endhighlight %}
{% endtabs %}
-N> The PDF Viewer supports dynamically changing the [serviceURL](https://ej2.syncfusion.com/documentation/api/pdfviewer#serviceurl). After changing `serviceUrl` at runtime, call `pdfViewer.dataBind()` to apply the new value. This behavior applies to versions after 23.1.36.
-document.getElementById('load').addEventListener('click', function () {
- pdfViewer.serviceUrl = "https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer";
- pdfViewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- pdfViewer.dataBind();
- pdfViewer.load(pdfViewer.documentPath, null);
-});
+To configure PDF Viewer with local resources for script and style references, and the `documentPath` property, refer to the instructions [here](./how-to/use-local-script-and-style-references).
-N> The demo Web API hosted at https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer is provided for evaluation only. For production, host a web service with appropriate server configuration. See the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server) for reference. Standalone mode is recommended for client-side rendering.
+For creating a new PDF Viewer serviceUrl, follow the steps provided in the [link](./how-to/create-pdfviewer-service) or to locally host an already available web service, follow these [instructions](#run-a-locally-hosted-pdf-viewer-web-service).
+
+## Run the application
+
+Run the `index.html` in a web browser using a local web server. The PDF document will be rendered in the browser.
+
+```bash
+npx serve .
+```
{% previewsample "/document-processing/code-snippet/pdfviewer/javascript-es5/es5-getting-started-cs1" %}
-## Run the application
+## Deployment notes
-Open the `index.html` file in a web browser to render the Essential JS 2 PDF Viewer component.
+- The PDF Viewer supports dynamically changing the [serviceURL](https://ej2.syncfusion.com/documentation/api/pdfviewer#serviceurl). After changing `serviceUrl` at runtime, call `pdfViewer.dataBind()` to apply the new value. This behavior applies to versions after 23.1.36.
-> For PDF Viewer serviceUrl creation, follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es5/how-to/create-pdfviewer-service).
+ ```js
+ document.getElementById('load').addEventListener('click', function () {
+ pdfViewer.serviceUrl = "https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer";
+ pdfViewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+ pdfViewer.dataBind();
+ pdfViewer.load(pdfViewer.documentPath, null);
+ });
+ ```
-## Module injection
+- The demo Web API hosted at https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer is provided for evaluation only. For production, host a web service with appropriate server configuration. See the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server) for reference. Standalone mode is recommended for client-side rendering.
-To enable additional features, inject the required modules. The following modules extend the PDF Viewer's functionality:
+- The server-backed PDF Viewer does not require `pdfium.js` and `pdfium.wasm` files. Those files are used by the standalone viewer for client-side rendering; server-backed setups render PDFs on the server and therefore do not need to include them in deployment.
-* `LinkAnnotation`: Enables hyperlink navigation.
-* `BookmarkView`: Displays and navigates document bookmarks.
-* `Magnification`: Provides zoom in/out operations.
-* `Navigation`: Enables page navigation.
-* `TextSelection`: Enables text selection.
-* `ThumbnailView`: Displays page thumbnails for navigation.
-* `Toolbar`: Enables the built-in toolbar UI.
-* `Print`: Enables printing.
-* `Annotation`: Enables annotation features.
-* `TextSearch`: Enables text search.
-* `FormFields`: Enables form field support.
-* `FormDesigner`: Enables designing and editing of form fields.
+- For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1).
-## Run the PDF Viewer web service
+- For AWS environments, utilize the following packages:
+
+ | **Amazon Web Services (AWS)** |**NuGet package name** |
+ | --- | --- |
+ | AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1)|
+ | AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.119.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.119.1)|
+
+## Run a locally hosted PDF Viewer web service
1. Download the sample from the [Web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices).
2. Navigate to the `ASP.NET Core` folder and open it in the command prompt.
3. Navigate to the appropriate subfolder based on your .NET version:
- - .NET 6.0 → `PdfViewerWebService_6.0`
- - .NET 8.0 → `PdfViewerWebService_8.0`
+ - .NET 6.0 → [`PdfViewerWebService_6.0`](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_6.0)
+ - .NET 8.0 → [`PdfViewerWebService_8.0`](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_8.0)
4. Use the following command to restore the required packages.
@@ -95,20 +155,14 @@ To enable additional features, inject the required modules. The following module
6. The PDF Viewer server instance runs at `https://localhost:7255`. Navigate to `https://localhost:7255/pdfviewer`, which returns the default GET response method. Bind this link to the `serviceUrl` property of the PDF Viewer as shown below.
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://localhost:7255/pdfviewer'
-});
-```
-
-N> The server-backed PDF Viewer does not require `pdfium.js` and `pdfium.wasm` files. Those files are used by the standalone viewer for client-side rendering; server-backed setups render PDFs on the server and therefore do not need to include them in deployment.
-
-> Refer to the [JavaScript PDF Viewer feature tour](https://www.syncfusion.com/pdf-viewer-sdk) for an overview of capabilities. Explore the [JavaScript PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/javascript-es5/#/tailwind3/pdfviewer/default.html) to see core features in action.
+ ```javascript
+ var pdfviewer = new ej.pdfviewer.PdfViewer({
+ documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
+ serviceUrl: 'https://localhost:7255/pdfviewer'
+ });
+ ```
-N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). Additionally, for AWS environments, utilize the following packages:
+## See also
-| **Amazon Web Services (AWS)** |**NuGet package name** |
-| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
+- [Getting started with Standalone JavaScript PDF Viewer](./getting-started)
+- [Feature modules](./feature-module)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started.md b/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started.md
index 5a8f37aa88..6ffe687c3e 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es5/getting-started.md
@@ -8,15 +8,23 @@ documentation: ug
domainurl: ##DomainURL##
---
-# Getting started in JavaScript standalone PDF Viewer control
+# Getting started with Standalone JavaScript PDF Viewer
-Essential JS 2 for JavaScript provides an ES5-compatible global script build that works in modern browsers without a build step.
+This guide explains how to create and run a **JavaScript (ES5) PDF Viewer** application using Syncfusion Essential JS 2 in **standalone mode**.
-## Component initialization with CDN links for script and style reference
+> **Note:** Standalone mode renders PDF files directly in the browser without requiring a server-side web service. Essential JS 2 for JavaScript provides an ES5-compatible global script build that works in modern browsers without a build step.
-**Step 1:** Create an app folder `my-app` for the Essential JS 2 JavaScript components.
+## Setup the development environment
-**Step 2:** The Essential JS 2 component's global scripts and styles are hosted at the following CDN link formats.
+This example uses a simple HTML-based setup with CDN links for Syncfusion components.
+
+### Create application folder
+
+Create an app folder `my-app` for the Essential JS 2 JavaScript components.
+
+### Add style and script references
+
+The Essential JS 2 component's global scripts and styles are hosted at the following CDN link formats.
**Syntax:**
> Script: `https://cdn.syncfusion.com/ej2/{Version}/dist/{PACKAGE_NAME}.min.js`
@@ -24,51 +32,79 @@ Essential JS 2 for JavaScript provides an ES5-compatible global script build tha
> Styles: `https://cdn.syncfusion.com/ej2/{Version}/{PACKAGE_NAME}/styles/material.css`
**Example:**
-> Script: [`https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js`](https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js)
+> Script: [`https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2.min.js`](https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2.min.js)
>
-> Styles: [`https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css`](https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css)
-
+> Styles: [`https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/ej2-base/styles/material.css`](https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/ej2-base/styles/material.css)
-**Step 3:** Create a HTML page (index.html) in `my-app` location and add the CDN link references. Now, add the `Div` element and initiate the `Essential JS 2 PDF Viewer` component in the index.html by using following code.
+Create an HTML page (index.html) in `my-app` location and add the CDN link references.
{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/javascript-es5/es5-getting-started-cs2/index.html %}
+{% highlight html tabtitle="index.html" hl_lines="8 9 10 11 12 13 14 15 16 17 19" %}
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{% endhighlight %}
{% endtabs %}
-{% previewsample "/document-processing/code-snippet/pdfviewer/javascript-es5/es5-getting-started-cs2" %}
-
-
-### Steps to Load PDF Viewer with Local Resources
+## Adding the PDF Viewer component
-To use local resources with your PDF Viewer, follow these steps:
-
-**Step 1:** Ensure that your application includes the `ej2-pdfviewer-lib` folder. This folder must contain the `pdfium.js`, `pdfium.wasm` files, and the PDF file that you intend to display. These should reside in the same location as the `ej2.min.js` script and its related styles.
-
-**Step 2:** Assign local file paths to the `documentPath` and `resourceUrl` properties within the PDF Viewer setup. The `documentPath` should refer to your PDF file, while the `resourceUrl` should point to the directory containing the supporting resources.
-
-**Step 3:** Insert the necessary script and style references within the `` section of your HTML file. Make sure these point to your local copies of the files instead of CDN links.
-
-By following these steps, you will configure your PDF Viewer to load the required resources locally. See the code snippet below for reference.
+Add the `Div` element and initiate the **PDF Viewer** component in the index.html by using the following code.
{% tabs %}
{% highlight html tabtitle="index.html" %}
-
+
-
{% endhighlight %}
{% endtabs %}
-View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
+To configure PDF Viewer with local resources for script and style references, and the `documentPath` and `resourceUrl` properties, refer to the [instructions](./how-to/use-local-script-and-style-references) here.
+
+## Run the application
+
+Run the `index.html` in a web browser using a local web server. The PDF document will be rendered in the browser.
+
+```bash
+npx serve .
+```
+
+{% previewsample "/document-processing/code-snippet/pdfviewer/javascript-es5/es5-getting-started-cs2" %}
-**Step 4:** Now, run the `index.html` in web browser using a local web server, it will render the `Essential JS 2 PDF Viewer` component. You can use the following command to start the server.
+## See also
- ```
- npx serve .
- ```
+- [Getting started with Server-Backed JavaScript PDF Viewer](./getting-started)
+- [Feature modules](./feature-module)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/use-local-script-and-style-references.md b/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/use-local-script-and-style-references.md
index fc8abd7bbb..c73b4983d9 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/use-local-script-and-style-references.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/use-local-script-and-style-references.md
@@ -1,6 +1,6 @@
---
layout: post
-title: Use local script and style references in JavaScript PDF Viewer control | Syncfusion
+title: Use local resources in JavaScript PDF Viewer | Syncfusion
description: Learn how to configure local script and style references for the Syncfusion JavaScript PDF Viewer control and reference them within your application.
platform: document-processing
control: PDF Viewer
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Use local script and style references in JavaScript PDF Viewer
-**Step 1:** Create an application folder named `myapp` for Essential JS 2 JavaScript components.
+**Step 1:** Create an application folder named `my-app` for Essential JS 2 JavaScript components.
**Step 2:** Download the global scripts and styles from the [Essential Studio JavaScript (Essential JS 2) build](https://www.syncfusion.com/downloads/essential-js2/) installed on your machine.
@@ -32,9 +32,21 @@ cd quickstart
npm install
```
-**Step 3:** Create a folder named `myapp/resources` and copy the EJ2 scripts and styles from the installed location into the `myapp/resources` directory.
+**Step 3:** Download the `pdfium.js` and `pdfium.wasm` files from the following links:
-**Step 4:** Add the `div` element and initialize the Essential JS 2 PDF Viewer component in `index.html` with the local script and style references.
+**Syntax:**
+> `pdfium.js`: `https://cdn.syncfusion.com/ej2/{Version}/dist/ej2-pdfviewer-lib/pdfium.js`
+>
+> `pdfium.wasm`: `https://cdn.syncfusion.com/ej2/{Version}/dist/ej2-pdfviewer-lib/pdfium.wasm`
+
+**Example:**
+> `pdfium.js`: [`https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2-pdfviewer-lib/pdfium.js`](https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2-pdfviewer-lib/pdfium.js)
+>
+> `pdfium.wasm`: [`https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2-pdfviewer-lib/pdfium.wasm`](https://cdn.syncfusion.com/ej2/{{ site.releaseversion }}/dist/ej2-pdfviewer-lib/pdfium.wasm)
+
+**Step 4:** Create a folder named `my-app/resources` and copy the EJ2 scripts and styles from the installed location into the `my-app/resources` directory. Include the `ej2-pdfviewer-lib` folder and PDF documents in the same location. The `ej2-pdfviewer-lib` folder should contain `pdfium.js` and `pdfium.wasm` files.
+
+**Step 5:** Add the `div` element and initialize the Essential JS 2 PDF Viewer component in `index.html` with the local script and style references. Assign local file paths to the `documentPath` and `resourceUrl` properties within the PDF Viewer setup. The `documentPath` should refer to your PDF file, while the `resourceUrl` should point to the directory containing the supporting resources.
```html
@@ -56,8 +68,8 @@ npm install
-
-
-
-
Loading....
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/code-snippet/pdfviewer/javascript-es6/getting-started-cs2" %}
+```
+The PDF document will be rendered in the browser.
-## Module injection
-
-To enable additional features, inject the required modules using `PdfViewer.Inject`. The following modules extend the PDF Viewer:
+---
-- `LinkAnnotation`: Hyperlink navigation
-- `BookmarkView`: Bookmark display and navigation
-- `Magnification`: Zoom in/out
-- `Navigation`: Page navigation
-- `TextSelection`: Text selection
-- `ThumbnailView`: Page thumbnails
-- `Toolbar`: Built-in toolbar UI
-- `Print`: Printing support
-- `Annotation`: Annotation features
-- `TextSearch`: Text search
-- `FormFields`: Form field support
-- `FormDesigner`: Form field design and editing
+{% previewsample "/document-processing/code-snippet/pdfviewer/javascript-es6/getting-started-cs2" %}
-For an overview of features, see the [JavaScript PDF Viewer feature tour](https://www.syncfusion.com/pdf-viewer-sdk). To explore core features, view the [JavaScript PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/javascript/#/tailwind3/pdfviewer/default.html).
+---
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/how-to/load-pdf-viewer-with-local-resources.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/how-to/load-pdf-viewer-with-local-resources.md
new file mode 100644
index 0000000000..c6494447bb
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/how-to/load-pdf-viewer-with-local-resources.md
@@ -0,0 +1,90 @@
+---
+layout: post
+title: Load PDF Viewer with Local Resources in TypeScript | Syncfusion
+description: Learn how to configure the Syncfusion TypeScript PDF Viewer to load PDF documents and PDFium resources locally instead of from CDN.
+control: PDF Viewer
+platform: document-processing
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Load PDF Viewer with Local Resources in TypeScript
+
+This guide shows how to configure the **Syncfusion TypeScript (JavaScript/ES6) PDF Viewer** to load PDF documents and required PDFium resources from your local application instead of using a CDN.
+
+## Prerequisites
+
+Follow the [getting started guide](../getting-started) to create a basic **TypeScript PDF Viewer (Standalone)** application.
+
+> **Note:** Local resource loading is supported only in **standalone mode**. Do not use this approach with server-backed PDF Viewer.
+
+## Configuration Steps
+
+### Step 1: Copy the Resource Files
+
+Copy the `ej2-pdfviewer-lib` folder to your application output directory (commonly `dist/`) using the following commands:
+
+{% tabs %}
+{% highlight bash tabtitle="Windows" %}
+
+xcopy /E /I node_modules\@syncfusion\ej2-pdfviewer\dist\ej2-pdfviewer-lib public\assets\ej2-pdfviewer-lib
+
+{% endhighlight %}
+{% highlight bash tabtitle="Mac/Linux" %}
+
+cp -R ./node_modules/@syncfusion/ej2-pdfviewer/dist/ej2-pdfviewer-lib public/assets/ej2-pdfviewer-lib
+
+{% endhighlight %}
+{% endtabs %}
+
+### Step 2: Add Your PDF Document
+
+Place your PDF file inside the same output directory.
+
+**Your folder structure:**
+
+```
+dist/
+ ├── ej2-pdfviewer-lib/
+ │ ├── pdfium.js
+ │ └── pdfium.wasm
+ └── pdfsuccinctly.pdf
+```
+
+### Step 3: Update the PDF Viewer Code
+
+Configure the PDF Viewer to use local paths.
+
+```ts
+import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner } from '@syncfusion/ej2-pdfviewer';
+
+ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
+
+const pdfviewer: PdfViewer = new PdfViewer({
+ // Path to your locally hosted PDF document
+ documentPath: window.location.origin + '/pdfsuccinctly.pdf',
+
+ // Path to the locally hosted PDFium resource files
+ resourceUrl: window.location.origin + '/ej2-pdfviewer-lib'
+});
+
+pdfviewer.appendTo('#PdfViewer');
+```
+
+Ensure your `index.html` contains a container element:
+
+```html
+
+```
+
+### Step 4: Run the Application
+
+Build and run your application:
+
+```bash
+npm start
+```
+
+The PDF Viewer will now load the document and resources from **local files**.
+
+[View sample on GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/module-injection.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/module-injection.md
new file mode 100644
index 0000000000..550ada53f5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/module-injection.md
@@ -0,0 +1,98 @@
+---
+layout: post
+title: Module Injection for TypeScript PDF Viewer | Syncfusion
+description: Syncfusion Typescript PDF Viewer to enable optional features like toolbar, navigation, annotations, search.
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Module Injection in TypeScript PDF Viewer
+
+To customize the **TypeScript PDF Viewer** with specific features, you must import and inject the required modules. The PDF Viewer provides the following modules to enable its functionalities.
+
+## Available modules
+
+- `LinkAnnotation`: Hyperlink navigation
+- `BookmarkView`: Bookmark display and navigation
+- `Magnification`: Zoom in/out
+- `Navigation`: Page navigation
+- `TextSelection`: Text selection
+- `ThumbnailView`: Page thumbnails
+- `Toolbar`: Built-in toolbar UI
+- `Print`: Printing support
+- `Annotation`: Annotation features
+- `TextSearch`: Text search
+- `FormFields`: Form field support
+- `FormDesigner`: Form field design and editing
+
+---
+
+## Module injection
+
+The required modules should be injected into the PDF Viewer using the **`PdfViewer.Inject`** method, as shown below. Only the injected module functionalities will be loaded and available in the PDF Viewer.
+
+**src/app.ts**
+
+{% tabs %}
+{% highlight ts tabtitle="app.ts" %}
+import {
+ PdfViewer,
+ Toolbar,
+ Navigation,
+ Magnification,
+ TextSelection,
+ TextSearch,
+ Annotation,
+ FormFields,
+ FormDesigner
+} from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject(
+ Toolbar,
+ Navigation,
+ Magnification,
+ TextSelection,
+ TextSearch,
+ Annotation,
+ FormFields,
+ FormDesigner
+);
+
+const pdfviewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib'
+});
+
+pdfviewer.appendTo('#PdfViewer');
+{% endhighlight %}
+{% endtabs %}
+
+---
+
+## Minimal module injection example
+
+Inject only the modules required for your application to reduce bundle size and improve performance.
+
+{% tabs %}
+{% highlight ts tabtitle="app.ts" %}
+import { PdfViewer, Navigation } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject(Navigation);
+
+const pdfviewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib'
+});
+
+pdfviewer.appendTo('#PdfViewer');
+{% endhighlight %}
+{% endtabs %}
+
+---
+
+## Important notes
+
+- Inject **only the required modules** to optimize performance.
+- Module injection applies to **both standalone and server-backed modes**.
+- If a feature is used without injecting its corresponding module, a runtime error may occur and the PDF Viewer might fail to render properly.
diff --git a/Document-Processing/PDF/PDF-Viewer/react/depoyment-integration/nextjs-getting-started.md b/Document-Processing/PDF/PDF-Viewer/react/depoyment-integration/nextjs-getting-started.md
index ce069bee8f..1a4401dc8d 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/depoyment-integration/nextjs-getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/depoyment-integration/nextjs-getting-started.md
@@ -178,6 +178,22 @@ yarn run dev
{% endhighlight %}
{% endtabs %}
+## Adding Next.js Configuration
+
+When deploying the Syncfusion PDF Viewer component in a Next.js application, you may need to add the following configuration to ensure smooth deployment:
+
+Create a next.config.js file in the root of your project, and add the following code to the file:
+
+```
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ reactStrictMode: false, // Disable React Strict Mode for compatibility
+ swcMinify: false, // Disable SWC minification for better compatibility
+};
+
+module.exports = nextConfig;
+```
+
To learn more about the PDF Viewer component, see the [documentation](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started#module-injection).
N> [View the Next.js PDF Viewer sample in the GitHub repository](https://github.com/SyncfusionExamples/syncfusion-react-pdfviewer-component-in-nextjs)
diff --git a/Document-Processing/PDF/PDF-Viewer/react/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/react/getting-started-with-server-backed.md
index ed902ad918..61ecff12f5 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/getting-started-with-server-backed.md
@@ -18,7 +18,7 @@ To get started with Syncfusion® React UI co
* React supported version >= `15.5.4+`.
* Required node version >= `14.0.0+`(NPM Package Manager).
-## Setup for Local Development
+## Create a React app
To set up a React application, use Vite (for example, `npm create vite@latest`), which provides a fast development environment, smaller bundle sizes, and optimized production builds compared to traditional tools such as `create-react-app`. For detailed steps, refer to the Vite [installation instructions](https://vitejs.dev/guide/).
@@ -26,59 +26,36 @@ N> To create a React application using `create-react-app`, refer to this [docume
To create a new React application, run the following command.
-```bash
-npm create vite@latest my-app
-```
-To set-up a React application in TypeScript environment, run the following command.
+{% tabs %}
+{% highlight bash tabtitle="TypeScript" %}
-```bash
npm create vite@latest my-app -- --template react-ts
cd my-app
npm run dev
-```
-To set-up a React application in JavaScript environment, run the following command.
-```bash
+{% endhighlight %}
+{% highlight bash tabtitle="JavaScript" %}
+
npm create vite@latest my-app -- --template react
cd my-app
npm run dev
-```
-## Adding Syncfusion® packages
+{% endhighlight %}
+{% endtabs %}
+
+## Install the Syncfusion® PDF Viewer packages
All the available Essential® JS 2 packages are published in [`npmjs.com`](https://www.npmjs.com/~syncfusionorg) public registry.
-To install PDF Viewer component, use the following command
+
+To install PDF Viewer component, use the following command:
```
npm install @syncfusion/ej2-react-pdfviewer --save
```
-N> The following changes apply to React version 18 and above.
-
## Adding PDF Viewer component and the CSS reference
-* Add an HTML div element to act as the PDF Viewer element `index.html` using the following code.
-
-```
-
-
-
- Syncfusion React PDF Viewer
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-```
-
-* Add the React PDF Viewer component’s CSS reference as given below in `src/index.css` file.
+Add the React PDF Viewer component’s CSS reference as given below in `src/index.css` file.
```css
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@@ -91,17 +68,15 @@ N> The following changes apply to React version 18 and above.
@import "../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css";
```
-* Add the React PDF Viewer as below in `src/index.js` file to render the PDF Viewer component.
+Add the following import statements for the PDF Viewer along with the default imports in the file (src/index.js when using JavaScript/JSX, or src/app.tsx when using TypeScript/TSX), and include the PDF Viewer initialization code inside the function to render the PDF Viewer component.
{% tabs %}
{% highlight js tabtitle="JSX" %}
{% raw %}
-import * as ReactDOM from 'react-dom';
-import * as React from 'react';
-import './index.css';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
- ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation,
+ BookmarkView,ThumbnailView, Print, TextSelection, Annotation, TextSearch,
+ FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
function App() {
return (
@@ -109,46 +84,46 @@ function App() {
{/* Render the PDF Viewer */}
-
-
+ // Specifies the modules required for the PDF Viewer
+
-
+ // Specifies the modules required for the PDF Viewer
+
);
}
-const rootElement = document.getElementById('sample')!;
-const root = ReactDOM.createRoot(rootElement);
-root.render();
{% endraw %}
{% endhighlight %}
@@ -156,18 +131,15 @@ root.render();
N> The Web API hosted link https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer utilized in the PDF viewer's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server) for hosting your own web service and use for the serviceUrl property. **We strongly recommend using the standalone mode.**
-## Run the application
+[How to Create and Run a Custom PDF Viewer Web Service](./how-to/create-and-run-custom-pdf-viewer-web-service)
-Use the following command to run the application in browser with the port number `localhost:8080`.
-```
-npm start
-```
+## Run the application
-N> When running the sample, if you encounter the **ERR_OSSL_EVP_UNSUPPORTED error** error, you need to run the following command in your terminal to resolve this issue. This error is related to OpenSSL, which is a cryptographic library used by Node.js for secure communication and encryption tasks. This specific error typically occurs when Node.js is trying to use cryptographic algorithms or routines that are not supported by the current version of OpenSSL being used.
+Use the following command to run the application in browser.
```
-$env:NODE_OPTIONS = "--openssl-legacy-provider"
+npm run dev
```
Output will be appears as follows.
@@ -186,55 +158,19 @@ Output will be appears as follows.
{% previewsample "/document-processing/code-snippet/pdfviewer/react/base-cs1" %}
-> For PDF Viewer serviceUrl creation, follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es6/how-to/create-pdfviewer-service)
-
-## How to run the PDF Viewer web service
-
-1.Download the sample from the [Web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) link.
-
-2.Navigate to the `ASP.NET Core` folder and open it in the command prompt.
-
-3.Navigate to the appropriate subfolder based on your .NET version:
-
- - .NET 6.0 → `PdfViewerWebService_6.0`
- - .NET 8.0 → `PdfViewerWebService_8.0`
-
-4.Use the below command to restore the required packages.
-
-```
-dotnet restore
-```
-
-5.Use the below command to run the web service.
-
-```
-dotnet run
-```
-
-6.You can see that the PDF Viewer server instance runs in the local host with the port number `localhost:5001` and navigate to the PDF Viewer Web control `localhost:5001/pdfviewer` which returns the default get response method. We can bind the link to the `serviceUrl` property of PDF Viewer as below.
-
-{% raw %}
-```js
-
-
-
-```
-{% endraw %}
-
N> When configuring the server-backed PDF viewer, it's Essential® to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/Getting%20Started).
-> You can refer to our [React PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour page for its groundbreaking feature representations. You can also explore our [React PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/react/#/tailwind3/pdfviewer/default) to understand how to explains core features of PDF Viewer.
-
-N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). Additionally, for AWS environments, utilize the following packages:
+N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux v3.119.1](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1). Additionally, for AWS environments, utilize the following packages:
| **Amazon Web Services (AWS)** |**NuGet package name** |
| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
+| AWS Lambda|[SkiaSharp.NativeAssets.Linux v3.119.1](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.1)|
+| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.119.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.119.1)|
+
+**See also**
+
+- [Annotations in PDF Viewer](./annotation/overview)
+- [Form Designer in PDF Viewer](./forms/overview#form-designer)
+- [Organize PDF pages](./organize-pages/overview)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/getting-started.md b/Document-Processing/PDF/PDF-Viewer/react/getting-started.md
index 6a570dc4e0..4620b79f1c 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/getting-started.md
@@ -18,7 +18,7 @@ To get started with Syncfusion® React UI co
* React supported version >= `15.5.4+`.
* Required node version >= `14.0.0+`(NPM Package Manager).
-## Setup for Local Development
+## Create a React app
To set up a React application, use Vite (for example, `npm create vite@latest`), which provides a fast development environment, smaller bundle sizes, and optimized production builds compared to tools such as `create-react-app`. For detailed steps, refer to the Vite [installation instructions](https://vitejs.dev/guide/).
@@ -26,71 +26,35 @@ N> To create a React application using `create-react-app`, refer to this [docume
To create a new React application, run the following command.
-```bash
-npm create vite@latest my-app
-```
-To set-up a React application in TypeScript environment, run the following command.
+{% tabs %}
+{% highlight bash tabtitle="JavaScript" %}
-```bash
-npm create vite@latest my-app -- --template react-ts
+npm create vite@latest my-app -- --template react
cd my-app
npm run dev
-```
-To set-up a React application in JavaScript environment, run the following command.
-```bash
-npm create vite@latest my-app -- --template react
+{% endhighlight %}
+{% highlight bash tabtitle="TypeScript" %}
+
+npm create vite@latest my-app -- --template react-ts
cd my-app
npm run dev
-```
+{% endhighlight %}
+{% endtabs %}
-## Adding Syncfusion® packages
-All the available Essential® JS 2 packages are published in [`npmjs.com`](https://www.npmjs.com/~syncfusionorg) public registry.
+## Install the Syncfusion® PDF Viewer packages
-* To install PDF Viewer component, use the following command
+All the available Essential® JS 2 packages are published in [`npmjs.com`](https://www.npmjs.com/~syncfusionorg) public registry.
```
npm install @syncfusion/ej2-react-pdfviewer --save
```
-* Copy the contents of the ej2-pdfviewer-lib folder from ./node_modules/@syncfusion/ej2-pdfviewer/dist to the public directory using the command:
-
-```bash
-cp -R ./node_modules/@syncfusion/ej2-pdfviewer/dist/ej2-pdfviewer-lib public/ej2-pdfviewer-lib
-```
-
-* Confirm that there is an 'ej2-pdfviewer-lib' directory within your public directory.
-
-* Validate that your server has been configured to utilize the Content-Type: application/wasm MIME type. Additional information can be found in the [Troubleshooting](./troubleshooting/troubleshooting) section.
-
-N> The following changes apply to React version 18 and above.
-
## Adding PDF Viewer component and the CSS reference
-* Add an HTML div element to act as the PDF Viewer element `index.html` using the following code.
-
-```
-
-
-
- Syncfusion React PDF Viewer
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-```
-
-* Add the React PDF Viewer component’s CSS reference as given below in `src/index.css` file.
+Add the React PDF Viewer component’s CSS reference as given below in `src/index.css` file.
```css
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@@ -103,18 +67,16 @@ N> The following changes apply to React version 18 and above.
@import "../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css";
```
-* Add the React PDF Viewer as shown below in `src/index.js` when using JavaScript (JSX). If you're using TypeScript (TSX), add it in `src/app.tsx` to render the PDF Viewer component.
+Add the following import statements for the PDF Viewer along with the default imports in the file (src/index.js when using JavaScript/JSX, or src/app.tsx when using TypeScript/TSX), and include the PDF Viewer initialization code inside the function to render the PDF Viewer component.
{% tabs %}
{% highlight js tabtitle="JSX" %}
{% raw %}
-import * as ReactDOM from 'react-dom/client';
-import * as React from 'react';
-import './index.css';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
- ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation,
+ BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch,
+ FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
function App() {
return (
@@ -122,7 +84,10 @@ function App() {
{/* Render the PDF Viewer */}
@@ -133,67 +98,39 @@ function App() {
+ // Specifies the modules required for the PDF Viewer
);
}
-const rootElement = document.getElementById('sample')!;
-const root = ReactDOM.createRoot(rootElement);
-root.render();
{% endraw %}
{% endhighlight %}
{% endtabs %}
-### Steps to Load PDF Viewer with Local Resources
-
-To configure the PDF Viewer to use local files for `documentPath` and `resourceUrl` instead of files hosted on a CDN, follow these steps:
-
-**Step 1:** Ensure that your application includes the `ej2-pdfviewer-lib` folder. This folder must contain the `pdfium.js`, `pdfium.wasm` files, and the PDF file that you intend to display. These should be located in the `assets` directory within your project's `public` folder.
-
-**Step 2:** Assign local file paths to the `documentPath` and `resourceUrl` properties within the PDF Viewer setup. The `documentPath` should refer to your PDF file, while the `resourceUrl` should point to the directory containing the supporting resources.
-
-By following these steps, you will configure your PDF Viewer to load the required resources locally. See the code snippet below for reference.
-
-{% tabs %}
-{% highlight js tabtitle="JSX" %}
-{% raw %}
-
-
-
-
-{% endraw %}
-{% endhighlight %}
-{% endtabs %}
-
-View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
+N> To load PDF documents and resources from your local application instead of a CDN, refer to [Load PDF Viewer with Local Resources](how-to/load-pdf-viewer-with-local-resources).
## Run the application
@@ -203,28 +140,6 @@ Now run the `npm run dev` command in the console to start the development server
npm run dev
```
-## Adding Next.js Configuration
-
-When deploying the Syncfusion PDF Viewer component in a Next.js application, you may need to add the following configuration to ensure smooth deployment:
-
-Create a next.config.js file in the root of your project, and add the following code to the file:
-
-```
-/** @type {import('next').NextConfig} */
-const nextConfig = {
- reactStrictMode: false, // Disable React Strict Mode for compatibility
- swcMinify: false, // Disable SWC minification for better compatibility
-};
-
-module.exports = nextConfig;
-```
-
-N> When running the sample, if you encounter the **ERR_OSSL_EVP_UNSUPPORTED error** error, you need to run the following command in your terminal to resolve this issue. This error is related to OpenSSL, which is a cryptographic library used by Node.js for secure communication and encryption tasks. This specific error typically occurs when Node.js is trying to use cryptographic algorithms or routines that are not supported by the current version of OpenSSL being used.
-
-```
-$env:NODE_OPTIONS = "--openssl-legacy-provider"
-```
-
Output appears as follows.
{% tabs %}
@@ -232,19 +147,24 @@ Output appears as follows.
{% raw %}
import * as ReactDOM from 'react-dom';
import * as React from 'react';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
- ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation,
+ BookmarkView,ThumbnailView, Print, TextSelection, Annotation, TextSearch,
+ FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
export function App() {
return (
- {/* Inject the required services */}
-
+ // Specifies the modules required for the PDF Viewer
+
);
@@ -257,8 +177,9 @@ root.render();
{% raw %}
import * as ReactDOM from 'react-dom';
import * as React from 'react';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
- ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation,
+ BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch,
+ FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
export function App() {
return (
@@ -267,9 +188,9 @@ return (
documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
- {/* Inject the required services */}
-
+ // Specifies the modules required for the PDF Viewer
+
);
@@ -306,4 +227,8 @@ root.render();
{% previewsample "/document-processing/code-snippet/pdfviewer/react/base-cs1-standalone" %}
-> You can refer to our [React PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour page for its groundbreaking feature representations. You can also explore our [React PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/react/#/tailwind3/pdfviewer/default) to understand how to explains core features of PDF Viewer.
+**See also**
+
+- [PDF Viewer Annotations](./annotation/overview)
+- [PDF Viewer Form Designer](./forms/overview#form-designer)
+- [Organize PDF pages](./organize-pages/overview)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/create-and-run-custom-pdf-viewer-web-service.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/create-and-run-custom-pdf-viewer-web-service.md
new file mode 100644
index 0000000000..84daf3d199
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/create-and-run-custom-pdf-viewer-web-service.md
@@ -0,0 +1,127 @@
+---
+layout: post
+title: Create and Run a Custom PDF Viewer Web Service | Syncfusion
+description: Learn how to set up and run a custom PDF Viewer web service for the Syncfusion React PDF Viewer component.
+control: PDF Viewer
+platform: document-processing
+documentation: ug
+---
+
+# Create and Run a Custom PDF Viewer Web Service
+
+This guide explains how to set up and run your own PDF Viewer web service for use with the server-backed React PDF Viewer component.
+
+## Prerequisites
+
+- .NET SDK 6.0 or 8.0 installed on your machine
+- Basic knowledge of ASP.NET Core
+
+## Steps to Set Up the Web Service
+
+### Step 1: Download the Web Service Sample
+
+Download the sample from the [Web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) repository.
+
+### Step 2: Navigate to the ASP.NET Core Folder
+
+Open the downloaded sample and navigate to the `ASP.NET Core` folder using your command prompt or terminal.
+
+### Step 3: Select Your .NET Version
+
+Navigate to the appropriate subfolder based on your .NET version:
+
+- For .NET 6.0 → `PdfViewerWebService_6.0`
+- For .NET 8.0 → `PdfViewerWebService_8.0`
+
+### Step 4: Restore Required Packages
+
+Run the following command to restore the required NuGet packages:
+
+```bash
+dotnet restore
+```
+
+### Step 5: Run the Web Service
+
+Start the web service using the following command:
+
+```bash
+dotnet run
+```
+
+### Step 6: Verify the Service is Running
+
+The PDF Viewer server instance will run on `localhost:5001`. You can verify it by navigating to `http://localhost:5001/pdfviewer` in your browser, which returns the default GET response.
+
+## Configure Your React Application
+
+Once your web service is running, configure your React PDF Viewer component to use the local service URL:
+
+{% tabs %}
+{% highlight js tabtitle="JSX" %}
+{% raw %}
+
+import * as ReactDOM from 'react-dom/client';
+import * as React from 'react';
+import './index.css';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
+ ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ return (
);
+}
+const rootElement = document.getElementById('sample')!;
+const root = ReactDOM.createRoot(rootElement);
+root.render();
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+## Additional Resources
+
+- [GitHub Web Service Examples](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices)
+- [Docker Image for PDF Viewer Server](https://hub.docker.com/r/syncfusion/pdfviewer-server)
+
+N> For production deployment, ensure you configure proper security, CORS policies, and hosting settings for your web service.
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/load-pdf-viewer-with-local-resources.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/load-pdf-viewer-with-local-resources.md
new file mode 100644
index 0000000000..63e0d3b1c1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/load-pdf-viewer-with-local-resources.md
@@ -0,0 +1,124 @@
+---
+layout: post
+title: Load PDF Viewer with Local Resources in React | Syncfusion
+description: Learn how to configure the Syncfusion React PDF Viewer to load PDF documents and resources locally instead of from CDN.
+control: PDF Viewer
+platform: document-processing
+documentation: ug
+---
+
+# Load PDF Viewer with Local Resources in React
+
+This guide shows how to configure the PDF Viewer to load resources from your local application instead of a CDN.
+
+## Prerequisites
+
+Follow the [getting started guide](../getting-started) to create a basic React PDF Viewer application.
+
+## Configuration Steps
+
+### Step 1: Copy the Resource Files
+
+Copy the `ej2-pdfviewer-lib` folder to `public/assets/` using the following command:
+
+{% tabs %}
+{% highlight bash tabtitle="Windows" %}
+
+xcopy /E /I node_modules\@syncfusion\ej2-pdfviewer\dist\ej2-pdfviewer-lib public\assets\ej2-pdfviewer-lib
+
+{% endhighlight %}
+{% highlight bash tabtitle="Mac/Linux" %}
+
+cp -R ./node_modules/@syncfusion/ej2-pdfviewer/dist/ej2-pdfviewer-lib public/assets/ej2-pdfviewer-lib
+
+{% endhighlight %}
+{% endtabs %}
+
+### Step 2: Add Your PDF Document
+
+Place your PDF file in the `public/assets/` folder.
+
+**Your folder structure:**
+
+```
+public/
+ └── assets/
+ ├── ej2-pdfviewer-lib/
+ │ ├── pdfium.js
+ │ └── pdfium.wasm
+ └── pdfsuccinctly.pdf
+```
+
+### Step 3: Update PDF Viewer Component
+
+Configure the PDF Viewer to use local paths:
+
+{% tabs %}
+{% highlight js tabtitle="JSX" %}
+{% raw %}
+
+import * as ReactDOM from 'react-dom/client';
+import * as React from 'react';
+import './index.css';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation,
+ BookmarkView,ThumbnailView, Print, TextSelection, Annotation, TextSearch,
+ FormFields, FormDesigner, Inject} from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ return (
);
+}
+const rootElement = document.getElementById('sample')!;
+const root = ReactDOM.createRoot(rootElement);
+root.render();
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+[View Sample on GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/troubleshooting/openssl-error.md b/Document-Processing/PDF/PDF-Viewer/react/troubleshooting/openssl-error.md
new file mode 100644
index 0000000000..832379efcf
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/troubleshooting/openssl-error.md
@@ -0,0 +1,55 @@
+---
+layout: post
+title: Fix ERR_OSSL_EVP_UNSUPPORTED Error in Syncfusion React PDF Viewer
+description: Resolve the ERR_OSSL_EVP_UNSUPPORTED error when running React PDF Viewer by setting the Node.js OpenSSL legacy provider option.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Troubleshoot ERR_OSSL_EVP_UNSUPPORTED Error
+
+When running your React application with the PDF Viewer, you may encounter the **ERR_OSSL_EVP_UNSUPPORTED** error. This error is related to OpenSSL, which is a cryptographic library used by Node.js for secure communication and encryption tasks. This specific error typically occurs when Node.js is trying to use cryptographic algorithms or routines that are not supported by the current version of OpenSSL being used.
+
+## Solution
+
+To resolve this issue, run the following command in your terminal before starting your application:
+
+{% tabs %}
+{% highlight bash tabtitle="Windows (PowerShell)" %}
+
+$env:NODE_OPTIONS = "--openssl-legacy-provider"
+
+{% endhighlight %}
+{% highlight bash tabtitle="Windows (CMD)" %}
+
+set NODE_OPTIONS=--openssl-legacy-provider
+
+{% endhighlight %}
+{% highlight bash tabtitle="Mac/Linux" %}
+
+export NODE_OPTIONS=--openssl-legacy-provider
+
+{% endhighlight %}
+{% endtabs %}
+
+After setting the environment variable, start your application:
+
+```bash
+npm run dev
+```
+
+## Permanent Solution
+
+To avoid running this command every time, you can add it to your `package.json` scripts:
+
+```json
+{
+ "scripts": {
+ "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vite",
+ "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vite build"
+ }
+}
+```
+
+N> For Mac/Linux, use `export NODE_OPTIONS=--openssl-legacy-provider &&` instead of `SET NODE_OPTIONS=--openssl-legacy-provider &&` in the scripts.
diff --git a/Document-Processing/PDF/PDF-Viewer/vue/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/vue/getting-started-with-server-backed.md
index d752702a87..1f80aca792 100644
--- a/Document-Processing/PDF/PDF-Viewer/vue/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/vue/getting-started-with-server-backed.md
@@ -1,7 +1,7 @@
---
layout: post
-title: Getting started with server-backed Vue PDF Viewer component | Syncfusion
-description: Learn how to create a server-backed Vue PDF Viewer component in a Vue 2 application using Syncfusion Essential JS 2 and more details.
+title: Getting started with Vue PDF Viewer component | Syncfusion
+description: Checkout and learn about Getting started with Server-backed Vue PDF Viewer component of Syncfusion Essential JS 2 and more details.
control: PDF Viewer
platform: document-processing
documentation: ug
@@ -10,54 +10,57 @@ domainurl: ##DomainURL##
# Getting started with server-backed Vue PDF Viewer
-This section explains how to create the **PDF Viewer** component and configure its available functionalities in a Vue 2 application using [Vue-CLI](https://cli.vuejs.org/) with a server-backed architecture. Ensure that your machine meets the [system requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements).
+This section explains how to create the **PDF Viewer** component and configure its functionalities in a Vue 2 application using Vue CLI with a server-backed architecture. In this mode, PDF rendering and processing are handled by a web service.
-> This application uses the Vue CLI tooling and requires Node `v14.15.0` or later. For more information about the CLI, refer to the [Vue-CLI documentation](https://cli.vuejs.org/).
+## Prerequisites
-> **Important**: The server-backed PDF Viewer requires a backend web service to process and render PDFs. Unlike the standalone mode, which renders PDFs locally in the browser, the server-backed architecture offloads processing to a server, enabling better performance for large documents and advanced features.
+Before getting started, ensure the following are installed:
-## Set up development environment
+- [System requirements for Syncfusion Vue components](https://ej2.syncfusion.com/vue/documentation/system-requirements)
+- Node.js v14.15.0 or later
+- Vue CLI
-Open the command prompt in the required directory and run the following command to install Vue CLI and create a new Vue 2 project using the [Vue create](https://cli.vuejs.org/#getting-started) command:
+## Create a Vue 2 app
-```bash
+Create a Vue 2 application using Vue CLI.
+
+{% tabs %}
+{% highlight bash tabtitle="npm" %}
npm install -g @vue/cli
vue create quickstart
cd quickstart
-```
-
-or
+{% endhighlight %}
-```bash
+{% highlight bash tabtitle="yarn" %}
yarn global add @vue/cli
vue create quickstart
cd quickstart
-```
-
-When creating a new project, choose the option `Default ([Vue 2] babel, es-lint)` from the menu.
+{% endhighlight %}
+{% endtabs %}
-
+When prompted, select **Default ([Vue 2] babel, eslint)**.
-After the `quick start` project is created with the default settings, proceed to add Syncfusion® components to the application.
+> For Vue 3 application setup, see [Create a Vue 3 app](./getting-started-application).
-## Add Syncfusion® Vue packages
+## Install the Syncfusion PDF Viewer packages
-Syncfusion® packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To add the PDF Viewer to the project, install the `@syncfusion/ej2-vue-pdfviewer` package using one of the following commands:
+Install the Syncfusion PDF Viewer package from npm.
-```bash
+{% tabs %}
+{% highlight bash tabtitle="npm" %}
npm install @syncfusion/ej2-vue-pdfviewer --save
-```
-or
+{% endhighlight %}
-```bash
+{% highlight bash tabtitle="yarn" %}
yarn add @syncfusion/ej2-vue-pdfviewer
-```
+{% endhighlight %}
+{% endtabs %}
## Import Syncfusion® CSS styles
-You can import themes for the Syncfusion® Vue components in several ways, such as referencing CSS or SASS styles from npm packages, CDN, [CRG](https://ej2.syncfusion.com/javascript/documentation/common/custom-resource-generator), or [Theme Studio](https://ej2.syncfusion.com/vue/documentation/appearance/theme-studio). Refer to the [themes documentation](https://ej2.syncfusion.com/vue/documentation/appearance/theme) for more details about built-in themes and the available approaches.
+You can import themes for the Syncfusion® Vue component in various ways, such as using CSS or SASS styles from npm packages, CDN, [CRG](https://ej2.syncfusion.com/javascript/documentation/common/custom-resource-generator), or [Theme Studio](https://ej2.syncfusion.com/vue/documentation/appearance/theme-studio). Refer to [themes documentation](https://ej2.syncfusion.com/vue/documentation/appearance/theme) for more details about built-in themes and available approaches.
-In this example, the `Material` theme styles required for the PDF Viewer component and its dependencies are imported into the `
-
-{% endhighlight %}
-{% endtabs %}
+N> To load PDF documents and resources from your local application instead of a CDN, refer to [Load PDF Viewer with Local Resources](./how-to/load-pdf-viewer-with-local-resources-vue)
## Run the project
-To run the project, use the following command:
-
-```bash
-npm run serve
-```
-
-or
-
-```bash
-yarn run serve
-```
-
-Here is the summarized code for the steps above in the **src/App.vue** file:
-
-The output will be displayed as follows:
+Run the following command to start the application.
{% tabs %}
-{% highlight html tabtitle="~/src/App.vue" %}
-
-
-
-
-
-
-
-
+{% highlight bash tabtitle="yarn" %}
+yarn serve
{% endhighlight %}
{% endtabs %}
@@ -296,4 +180,8 @@ export default {
[View sample in GitHub](https://github.com/SyncfusionExamples/vue-pdf-viewer-examples/tree/master/Getting%20Started%20-%20Standalone)
-> Explore the [Vue PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour page for comprehensive feature demonstrations. You can also review the [Vue PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/vue/#/tailwind3/pdfviewer/default.html) to understand the core features of the PDF Viewer.
\ No newline at end of file
+## See also
+
+- [PDF Viewer Annotations](./annotation/text-markup-annotation)
+- [PDF Viewer Form Designer](./forms/overview#form-designer)
+- [Organize PDF pages](./organize-pages/overview)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/vue/how-to/create-and-run-custom-pdf-viewer-web-service.md b/Document-Processing/PDF/PDF-Viewer/vue/how-to/create-and-run-custom-pdf-viewer-web-service.md
new file mode 100644
index 0000000000..461d4fe1b9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/vue/how-to/create-and-run-custom-pdf-viewer-web-service.md
@@ -0,0 +1,87 @@
+---
+layout: post
+title: Create and Run a Custom PDF Viewer Web Service (Vue) | Syncfusion
+description: Learn how to create and run a custom PDF Viewer web service for the Syncfusion Vue PDF Viewer component.
+control: PDF Viewer
+platform: document-processing
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Create and Run a Custom PDF Viewer Web Service (Vue)
+
+This guide explains how to create and run your own **PDF Viewer web service** and connect it to the **server-backed Vue PDF Viewer** component. Hosting your own web service is recommended for production environments.
+
+## Prerequisites
+
+- .NET SDK 6.0 or 8.0
+- Basic knowledge of ASP.NET Core
+- Server-backed Vue PDF Viewer application
+
+## Steps to run the PDF Viewer web service
+
+### Step 1: Download the web service sample
+
+Download the sample from the GitHub repository:
+
+[GitHub Web Service Sample](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices)
+
+### Step 2: Open the ASP.NET Core project
+
+Extract the downloaded sample and navigate to the **ASP.NET Core** folder using a command prompt or terminal.
+
+### Step 3: Choose the .NET version
+
+Navigate to the appropriate folder based on your installed .NET version:
+
+- .NET 6.0 → [PdfViewerWebService_6.0](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_6.0)
+- .NET 8.0 → [PdfViewerWebService_8.0](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_8.0)
+
+### Step 4: Restore required packages
+
+Run the following command to restore the NuGet packages:
+
+```bash
+dotnet restore
+```
+
+### Step 5: Run the Web Service
+
+Start the web service using the following command:
+
+```bash
+dotnet run
+```
+
+### Step 6: Verify the Service is Running
+
+The PDF Viewer server instance will run on `localhost:5001`. You can verify it by navigating to `http://localhost:5001/pdfviewer` in your browser, which returns the default GET response.
+
+## Configure Your Vue Application
+
+Once your web service is running, configure your Vue PDF Viewer component to use the local service URL:
+
+ ```js
+ export default {
+ name: 'app',
+ data () {
+ return {
+
+ serviceUrl:"https://localhost:5001/pdfviewer",
+
+ documentPath:"PDF_Succinctly.pdf"
+ };
+ }}
+ ```
+
+## Additional Resources
+
+- [GitHub Web Service Examples](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices)
+- [Docker Image for PDF Viewer Server](https://hub.docker.com/r/syncfusion/pdfviewer-server)
+
+N> For production deployment, ensure you configure proper security, CORS policies, and hosting settings for your web service.
diff --git a/Document-Processing/PDF/PDF-Viewer/vue/how-to/load-pdf-viewer-with-local-resources-vue.md b/Document-Processing/PDF/PDF-Viewer/vue/how-to/load-pdf-viewer-with-local-resources-vue.md
new file mode 100644
index 0000000000..2f918ce05c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/vue/how-to/load-pdf-viewer-with-local-resources-vue.md
@@ -0,0 +1,133 @@
+---
+layout: post
+title: Load PDF Viewer with Local Resources in Vue | Syncfusion
+description: Learn how to configure the Syncfusion Vue PDF Viewer to load PDF documents and resources locally instead of using CDN resources.
+control: PDF Viewer
+platform: document-processing
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Load PDF Viewer with Local Resources in Vue
+
+This guide shows how to configure the PDF Viewer to load resources from your local application instead of a CDN.
+
+## Prerequisites
+
+- Complete the [getting started guide](../getting-started) for the Vue PDF Viewer.
+- Node.js and Vue CLI installed.
+
+## Configuration steps
+
+### Step 1: Copy resource files
+
+Ensure that your application includes the `ej2-pdfviewer-lib` folder, which contains the `pdfium.js` and `pdfium.wasm` files required for PDF rendering.
+
+Copy the folder into the `public/asset` directory of your application.
+
+### Step 2: Add your PDF document
+
+Place the PDF file you want to display inside the same `public/asset` directory.
+
+**Example folder structure:**
+
+```
+public/
+└── asset/
+ ├── ej2-pdfviewer-lib/
+ │ ├── pdfium.js
+ │ └── pdfium.wasm
+ └── pdfsuccinctly.pdf
+```
+
+### Step 3: Update the documentPath and resourcesUrl
+
+Configure the PDF Viewer to use local paths as shown below.
+
+{% tabs %}
+{% highlight html tabtitle="~/src/App.vue" %}
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Complete example
+
+The following code summarizes the complete setup for loading the PDF Viewer with local resources.
+
+{% tabs %}
+{% highlight html tabtitle="~/src/App.vue" %}
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## GitHub reference
+
+View the complete sample on GitHub:
+
+- [Load the PDF Viewer with local resources (Vue)](https://github.com/SyncfusionExamples/vue-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally/quickstart)
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/Form-Filling-in-PDF.md b/Document-Processing/PDF/PDF-Viewer/wpf/Form-Filling-in-PDF.md
deleted file mode 100644
index f6686088a8..0000000000
--- a/Document-Processing/PDF/PDF-Viewer/wpf/Form-Filling-in-PDF.md
+++ /dev/null
@@ -1,278 +0,0 @@
----
-layout: post
-title: Form Filling in PDF Files in WPF Pdf Viewer | Syncfusion®
-description: Learn about Form Filling in PDF Files support in Syncfusion®; WPF Pdf Viewer control, its elements and more.
-platform: document-processing
-control: PDF Viewer
-documentation: ug
----
-
-# Form Filling in PDF Files in WPF Pdf Viewer
-
-PDF Viewer provides the ability to Fill, Edit, Flatten, and Save the `AcroForm` fields in PDF files.
-
-
-
-## Supported form fields
-
-You can load and fill the following form fields in a PDF document using the PDF Viewer.
-
-1. Text box.
-2. Password box.
-3. Checkbox.
-4. Radio button.
-5. Combo box.
-6. List box.
-7. Signature box.
-
-## Retrieve the form field details
-
-You can retrieve the details of a form field through the [FormFieldClicked](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_FormFieldClicked) event of [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html) by simply clicking on the field. The [FormField](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.FormFieldClickedEventArgs.html#Syncfusion_Windows_PdfViewer_FormFieldClickedEventArgs_FormField) property of the [FormFieldClickedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.FormFieldClickedEventArgs.html) needs to be typecast to the respective control.The following code snippet explains how to retrieve details for all [supported form fields](https://help.syncfusion.com/wpf/pdf-viewer/form-filling-in-pdf#supported-form-fields) using the FormFieldClicked event.
-
-{% tabs %}
-{% highlight c# %}
-
-//Wire the `FormFieldClicked` event.
-pdfViewer.FormFieldClicked += PdfViewer_FormFieldClicked;
-
-private void PdfViewer_FormFieldClicked(object sender, FormFieldClickedEventArgs args)
-{
- if (args.FormField is TextBox)
- {
- //Typecast the `FormField` property to `System.Windows.Controls.TextBox`
- TextBox text = args.FormField as TextBox;
- //{Insert your code here}
- }
- else if (args.FormField is PasswordBox)
- {
- //Typecast the `FormField` property to `System.Windows.Controls.PasswordBox`
- PasswordBox PasstextBox = args.FormField as PasswordBox;
- //{Insert your code here}
- }
- else if (args.FormField is ListBox)
- {
- //Typecast the `FormField` property to `System.Windows.Controls.ListBox`
- ListBox listBox = args.FormField as ListBox;
- //{Insert your code here}
- }
- else if (args.FormField is ComboBox)
- {
- //Typecast the `FormField` property to `System.Windows.Controls.ComboBox`
- ComboBox comboBox = args.FormField as ComboBox;
- //{Insert your code here}
- }
- else if (args.FormField is CheckBox)
- {
- //Typecast the `FormField` property to `System.Windows.Controls.CheckBox`
- CheckBox checkBox = args.FormField as CheckBox;
- //{Insert your code here}
- }
- else if (args.FormField is RadioButton)
- {
- //Typecast the `FormField` property to `System.Windows.Controls.RadioButton`
- RadioButton radiobtn = args.FormField as RadioButton;
- //{Insert your code here}
- }
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-N> The sample project of PDF form filling using the Syncfusion®; PDF Viewer is available in the [GitHub](https://github.com/syncfusion/wpf-demos/tree/master/pdfviewer).
-
-## Import and Export Form Data
-
-In WPF, the PDF viewer allows the users to import and export form data to and from the PDF documents.
-
-### Import Form Data
-
-Follow the below steps to import date to PDF document with `AcroForm`.
-
-1. Click the form data tool button in the left pane, the form data toolbar will appear as a secondary toolbar in the [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html).
-2. Select **Import** option in form data toolbar to import the PDF form data.
-
-
-
-The following code shows how to import form data in code behind.
-
-{% tabs %}
-{% highlight c# %}
-
-private void button1_Click(object sender, RoutedEventArgs e)
-{
- //Import PDF form data
- pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf);
-}
-
-{% endhighlight %}
-{% highlight VB %}
-
-Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
- 'Import PDF form data
- pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf)
-End Sub
-
-{% endhighlight %}
-{% endtabs %}
-
-### Export Form Data
-
-Follow the below steps to export data from PDF document
-
-1. Select **Export** option in the form data toolbar, to save the completed PDF form data as a file in another file format.
-2. In Export Form Data As dialog box, you can select the desired format to save the form data (FDF, XFDF, XML, and JSON).
-
-N> If the PDF document is loaded as a stream, the [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html) will request for the form name when exporting.
-
-The following code shows how to export form data in code behind.
-
-{% tabs %}
-{% highlight c# %}
-
-private void button1_Click(object sender, RoutedEventArgs e)
-{
- //Export PDF form data
- pdfviewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf");
-}
-
-{% endhighlight %}
-{% highlight VB %}
-
-Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
- 'Export PDF form data
- pdfviewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf")
-End Sub
-
-{% endhighlight %}
-{% endtabs %}
-
-## Add Form Fields at Runtime
-
-The PDF Viewer allows users to programmatically add form fields without user interaction at runtime.
-
-The following code sample explains how to add the form field textbox at runtime. Similarly, you can implement this for all other form fields.
-
-{% tabs %}
-{% highlight C# %}
-
-private void AddTextbox_Click(object sender, RoutedEventArgs e)
-{
- if (pdfViewer.LoadedDocument.Form != null)
- {
- PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
- //Create a textbox field and add the properties.
- PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
- textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
- //Add the form field to the document.
- pdfViewer.LoadedDocument.Form.Fields.Add(textBoxField);
- }
-}
-
-{% endhighlight %}
-{% highlight VB %}
-
-Private Sub AddTextbox_Click(sender As Object, e As RoutedEventArgs)
- If pdfViewer.LoadedDocument.Form IsNot Nothing Then
- Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
- `Create a textbox field and add the properties.
- Dim textBoxField As PdfTextBoxField = New PdfTextBoxField(page, "FirstName")
- textBoxField.Bounds = New RectangleF(0, 0, 100, 20)
- `Add the form field to the document.
- pdfViewer.LoadedDocument.Form.Fields.Add(textBoxField)
- End If
-End Sub
-
-{% endhighlight %}
-{% endtabs %}
-
-## Remove Form Fields at Runtime
-
-The PDF Viewer allows users to programmatically remove form fields without user interaction at runtime.
-
-The following code sample explains how to remove the form field during runtime.
-
-{% tabs %}
-{% highlight C# %}
-
-private void RemoveAt_Click(object sender, RoutedEventArgs e)
-{
- if (pdfViewer.LoadedDocument.Form.Fields.Count > 0)
- //Remove the field at index 0.
- pdfViewer.LoadedDocument.Form.Fields.RemoveAt(0);
-}
-
-{% endhighlight %}
-{% highlight VB %}
-
-Private Sub RemoveAt_Click(sender As Object, e As RoutedEventArgs)
- If pdfViewer.LoadedDocument.Form.Fields.Count > 0 Then
- `Remove the field at index 0.
- pdfViewer.LoadedDocument.Form.Fields.RemoveAt(0)
- End If
-End Sub
-
-{% endhighlight %}
-{% endtabs %}
-
-## Modify the Existing Form Field at Runtime
-
-The PDF Viewer allows users to programmatically modify existing form fields without user interaction at runtime.
-
-The following code sample explains how to modify properties of the form field textbox during runtime. Similarly, you can implement this for all other form fields.
-
-{% tabs %}
-{% highlight C# %}
-
-private void ModifyTextbox_Click(object sender, RoutedEventArgs e)
-{
- if (pdfViewer.LoadedDocument.Form != null)
- {
- if (pdfViewer.LoadedDocument.Form.Fields[0] is PdfLoadedTextBoxField)
- {
- (pdfViewer.LoadedDocument.Form.Fields[0] as PdfLoadedTextBoxField).Text = "Syncfusion";
- }
- }
-}
-
-{% endhighlight %}
-{% highlight VB %}
-
-Private Sub ModifyTextbox_Click(sender As Object, e As RoutedEventArgs)
-If pdfViewer.LoadedDocument.Form IsNot Nothing Then
- If TypeOf pdfViewer.LoadedDocument.Form.Fields(0) Is PdfLoadedTextBoxField Then
- Dim textBoxField As PdfLoadedTextBoxField = TryCast(pdfViewer.LoadedDocument.Form.Fields(0), PdfLoadedTextBoxField)
- textBoxField.Text = "Syncfusion"
- End If
-End If
-End Sub
-
-{% endhighlight %}
-{% endtabs %}
-
-## Signature Form Field
-
-PDF viewer WPF allows the user to add the signature in the PDF document and provides options to remove the included signature in the signature field of the PDF document.
-
-### Add a signature from signature field
-
-Clicking the signature box will open the signature pad, requesting the user to draw the signature. clicking on the apply button will add the drawn signature to the signature field.
-
-
-
-### Deleting a signature from signature field
-
-Selecting the delete option from the context menu, which is displayed when right-clicking on the selected signature, would delete the respective signature from the signature field.
-
-
-
-## Keyboard Shortcuts:
-
-The below keyboard shortcuts are used to navigate through the form fields present in the PDF document.
-
-* Tab key – Navigates to the next form field present in the PDF document.
-* Shift + Tab – Navigates to the previous form field present in the PDF document.
-* Ctrl + Z - Performs form field value undo functionality for recently performed operations.
-* Ctrl + Y - Performs form field value redo functionality for recently performed operations.
-
-
-N> You can refer to our [WPF PDF Viewer](https://www.syncfusion.com/wpf-controls/pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [WPF PDF Viewer example](https://github.com/syncfusion/wpf-demos) to know how to render and configure the pdfviewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-signature-form-field-add.png b/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-signature-form-field-add.png
deleted file mode 100644
index 0ee532e45c..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-signature-form-field-add.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-signature-form-field-delete.png b/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-signature-form-field-delete.png
deleted file mode 100644
index bd6e839118..0000000000
Binary files a/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-signature-form-field-delete.png and /dev/null differ
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/FormFillingUI.gif b/Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/FormFillingUI.gif
new file mode 100644
index 0000000000..fed90b4649
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/FormFillingUI.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-form-filling.png b/Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/wpf-pdf-viewer-form-filling.png
similarity index 100%
rename from Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-form-filling.png
rename to Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/wpf-pdf-viewer-form-filling.png
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-import-form-data.png b/Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/wpf-pdf-viewer-import-form-data.png
similarity index 100%
rename from Document-Processing/PDF/PDF-Viewer/wpf/form-filling-images/wpf-pdf-viewer-import-form-data.png
rename to Document-Processing/PDF/PDF-Viewer/wpf/forms/Images/wpf-pdf-viewer-import-form-data.png
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/Keyboard-shortcuts.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/Keyboard-shortcuts.md
new file mode 100644
index 0000000000..6c07458406
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/Keyboard-shortcuts.md
@@ -0,0 +1,17 @@
+---
+layout: post
+title: Keyboard shortcuts for Form Fields in WPF PDF Viewer | Syncfusion
+description: Learn essential keyboard shortcuts for navigating and filling PDF form fields in the WPF PDF Viewer to improve speed, accuracy, and workflow efficiency.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+# Keyboard Shortcuts in WPF PDF Viewer
+
+The below keyboard shortcuts are used to navigate through the form fields present in the PDF document.
+
+* Tab key – Navigates to the next form field present in the PDF document.
+* Shift + Tab – Navigates to the previous form field present in the PDF document.
+* Ctrl + Z - Performs form field value undo functionality for recently performed operations.
+* Ctrl + Y - Performs form field value redo functionality for recently performed operations.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-field-events.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-field-events.md
new file mode 100644
index 0000000000..3f79b548c3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-field-events.md
@@ -0,0 +1,87 @@
+---
+layout: post
+title: Form Field Events in WPF Pdfviewer control | Syncfusion
+description: Learn about the different form field events supported in the Syncfusion WPF PDF Viewer and how they help manage user interactions and enhance form workflows.
+control: Form Field Events
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# PDF Viewer Form Field Events
+
+The Syncfusion [WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) supports form field click events, allowing applications to detect when a user clicks on a form field. These events can be used to trigger application‑specific actions or handle basic interactions when a form field is selected.
+
+## Retrieve the form field details
+[WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) allows form field details to be retrieved through the [FormFieldClicked](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_FormFieldClicked) event of [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html) when a form field is clicked in the PDF document. The [FormField](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.FormFieldClickedEventArgs.html#Syncfusion_Windows_PdfViewer_FormFieldClickedEventArgs_FormField) property available in [FormFieldClickedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.FormFieldClickedEventArgs.html) must be typecast to the appropriate form field type to access specific details.
+
+The following code snippet demonstrates how to retrieve details for all supported form fields using the FormFieldClicked event.
+
+
+{% tabs %}
+{% highlight c# %}
+
+//Wire the `FormFieldClicked` event.
+pdfViewer.FormFieldClicked += PdfViewer_FormFieldClicked;
+
+private void PdfViewer_FormFieldClicked(object sender, FormFieldClickedEventArgs args)
+{
+ if (args.FormField is TextBox)
+ {
+ //Typecast the `FormField` property to `System.Windows.Controls.TextBox`
+ TextBox text = args.FormField as TextBox;
+ //{Insert your code here}
+ }
+ else if (args.FormField is PasswordBox)
+ {
+ //Typecast the `FormField` property to `System.Windows.Controls.PasswordBox`
+ PasswordBox PasstextBox = args.FormField as PasswordBox;
+ //{Insert your code here}
+ }
+ else if (args.FormField is ListBox)
+ {
+ //Typecast the `FormField` property to `System.Windows.Controls.ListBox`
+ ListBox listBox = args.FormField as ListBox;
+ //{Insert your code here}
+ }
+ else if (args.FormField is ComboBox)
+ {
+ //Typecast the `FormField` property to `System.Windows.Controls.ComboBox`
+ ComboBox comboBox = args.FormField as ComboBox;
+ //{Insert your code here}
+ }
+ else if (args.FormField is CheckBox)
+ {
+ //Typecast the `FormField` property to `System.Windows.Controls.CheckBox`
+ CheckBox checkBox = args.FormField as CheckBox;
+ //{Insert your code here}
+ }
+ else if (args.FormField is RadioButton)
+ {
+ //Typecast the `FormField` property to `System.Windows.Controls.RadioButton`
+ RadioButton radiobtn = args.FormField as RadioButton;
+ //{Insert your code here}
+ }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+
+**Common Use Cases**
+
+Form field events can be used to:
+- Track user interaction with form fields
+- Update UI elements dynamically
+- Trigger workflow actions based on field changes
+- Enforce business rules during form editing
+
+## See also
+
+- [Overview](./overview)
+- [Import form fields](./import-export-form-fields/import-form-fields)
+- [Export form fields](./import-export-form-fields/export-form-fields)
+- [Add form fields](./manage-form-fields/add-form-fields)
+- [Modify form fields](./manage-form-fields/modify-form-fields)
+- [Remove form fields](./manage-form-fields/remove-form-fields)
+- [Form fields API](./form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-fields-api.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-fields-api.md
new file mode 100644
index 0000000000..4d71c8df44
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-fields-api.md
@@ -0,0 +1,170 @@
+---
+layout: post
+title: Form Fields API in WPF PDF Viewer | Syncfusion
+description: Learn how to use the Form Fields API in the Syncfusion WPF PDF Viewer to access, modify, and manage form fields effectively in your PDF applications.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Form Fields API in WPF PDF Viewer
+
+The PDF Viewer provides comprehensive APIs to Add, edit, Remove, import,Export and manage form fields programmatically. The following APIs are available:
+
+| API | Description |
+|---|---|
+| [ImportFormData](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_ImportFormData_System_String_Syncfusion_Pdf_Parsing_DataFormat_) | Import form field data as in different format (Fdf,xfdf,Json,xml).|
+| [ExportFormData](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_ExportFormData_System_String_Syncfusion_Pdf_Parsing_DataFormat_System_String_) | Export form field data as in different format (Fdf,xfdf,Json,xml)as a downloadable file.|
+| LoadedDocument.Form.Fields | By accessing the LoadedDocument form fileds we can perform add, remove and modify the form fileds in code behind.|
+
+## ImportFormData
+The following example imports form field data as FDF.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Import PDF form data
+ pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Import PDF form data
+ pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf)
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## ExportFormData
+The following example exports form field data as FDF.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Export PDF form data
+ pdfviewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf");
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Export PDF form data
+ pdfviewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf")
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## LoadedDocument Form field
+The below code snippet illustrates how to add a textbox field to a LoadedDocument
+{% tabs %}
+{% highlight C# %}
+
+private void AddTextbox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ //Create a textbox field and add the properties.
+ PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
+ textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
+ //Add the form field to the document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(textBoxField);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddTextbox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ `Create a textbox field and add the properties.
+ Dim textBoxField As PdfTextBoxField = New PdfTextBoxField(page, "FirstName")
+ textBoxField.Bounds = New RectangleF(0, 0, 100, 20)
+ `Add the form field to the document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(textBoxField)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+The below code snippet illustrates how to modify a textbox field to a LoadedDocument
+
+{% tabs %}
+{% highlight C# %}
+
+private void Update_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ if (pdfViewer.LoadedDocument.Form.Fields[0] is PdfLoadedTextBoxField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[0] as PdfLoadedTextBoxField).Text = "Syncfusion";
+ }
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub Update_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then
+ Return
+ End If
+
+ Dim form = pdfViewer.LoadedDocument.Form
+
+ ' TextBox (Field 0)
+ Dim textBox = TryCast(form.Fields(0), PdfLoadedTextBoxField)
+ If textBox IsNot Nothing Then
+ textBox.Text = "Syncfusion"
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+The below code snippet illustrates how to Remove a Form field to a LoadedDocument
+{% tabs %}
+{% highlight C# %}
+
+private void RemoveAt_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form.Fields.Count > 0)
+ //Remove the field at index 0.
+ pdfViewer.LoadedDocument.Form.Fields.RemoveAt(0);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub RemoveAt_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form.Fields.Count > 0 Then
+ `Remove the field at index 0.
+ pdfViewer.LoadedDocument.Form.Fields.RemoveAt(0)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## See also
+
+- [Overview](./overview)
+- [Import form fields](./import-export-form-fields/import-form-fields)
+- [Export form fields](./import-export-form-fields/export-form-fields)
+- [Add form fields](./manage-form-fields/add-form-fields)
+- [Modify form fields](./manage-form-fields/modify-form-fields)
+- [Remove form fields](./manage-form-fields/remove-form-fields)
+- [Form fields events](./form-fields-events)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-filling.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-filling.md
new file mode 100644
index 0000000000..abafe7d750
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/form-filling.md
@@ -0,0 +1,142 @@
+---
+layout: post
+title: Form filling in WPF PDF Viewer Control | Syncfusion
+description: Learn how to view, fill, export, and import PDF form fields using the Syncfusion WPF PDF Viewer to simplify form handling and enhance your PDF workflows.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Filling PDF Forms in WPF PDF Viewer
+Filling PDF Forms in WPF PDF Viewer enables efficient entry and updating of form data in existing PDF documents. This functionality is supported through three distinct approaches:
+
+1. [Form Filling Through User Interface](#fill-pdf-forms-through-the-user-interface)
+2. [Filling Form Fields Programmatically](#fill-pdf-forms-programmatically)
+3. [Importing Form Field Data](#fill-pdf-forms-through-export-and-import-data)
+
+## Fill PDF forms through the User Interface
+
+The Syncfusion WPF PDF Viewer enables PDF form fields to be filled directly through the built‑in user interface without requiring any code. Form fields can be selected and populated by entering text or choosing values based on the field type, providing a smooth and interactive form‑filling experience.
+
+
+
+
+## Fill PDF forms programmatically
+
+WPF PDF Viewer allows PDF form fields to be filled or updated programmatically by accessing existing form fields and assigning values through APIs. This approach is useful when form data needs to be populated dynamically based on application logic or automated workflows.
+
+The following example demonstrates how to update PDF form field values programmatically in the WPF PDF Viewer, including TextBox, CheckBox, ComboBox, ListBox and RadioButton form fields using the available APIs:
+
+{% tabs %}
+{% highlight C# %}
+
+private void UpdateTextbox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ if (pdfViewer.LoadedDocument.Form.Fields[0] is PdfLoadedTextBoxField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[0] as PdfLoadedTextBoxField).Text = "Syncfusion";
+ }
+ if(pdfViewer.LoadedDocument.Form.Fields[1] is PdfLoadedCheckBoxField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[1] as PdfLoadedCheckBoxField).Checked = true;
+ }
+ if(pdfViewer.LoadedDocument.Form.Fields[2] is PdfLoadedComboBoxField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[2] as PdfLoadedComboBoxField).SelectedIndex = 1;
+ }
+ if(pdfViewer.LoadedDocument.Form.Fields[3] is PdfLoadedListBoxField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[3] as PdfLoadedListBoxField).SelectedIndex = new int[2] { 1, 2 };
+ }
+ if (pdfViewer.LoadedDocument.Form.Fields[5] is PdfLoadedRadioButtonListField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[5] as PdfLoadedRadioButtonListField).SelectedIndex = 1;
+ }
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub UpdateTextbox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then
+ Return
+ End If
+
+ Dim form = pdfViewer.LoadedDocument.Form
+
+ ' TextBox (Field 0)
+ Dim textBox = TryCast(form.Fields(0), PdfLoadedTextBoxField)
+ If textBox IsNot Nothing Then
+ textBox.Text = "Syncfusion"
+ End If
+
+ ' CheckBox (Field 1)
+ Dim checkBox = TryCast(form.Fields(1), PdfLoadedCheckBoxField)
+ If checkBox IsNot Nothing Then
+ checkBox.Checked = True
+ End If
+
+ ' ComboBox (Field 2)
+ Dim combo = TryCast(form.Fields(2), PdfLoadedComboBoxField)
+ If combo IsNot Nothing Then
+ combo.SelectedIndex = 1
+ End If
+
+ ' ListBox (Field 3)
+ Dim listBox = TryCast(form.Fields(3), PdfLoadedListBoxField)
+ If listBox IsNot Nothing Then
+ listBox.SelectedIndex = New Integer() {1, 2}
+ End If
+
+ ' RadioButtonList (Field 5)
+ Dim radioList = TryCast(form.Fields(5), PdfLoadedRadioButtonListField)
+ If radioList IsNot Nothing Then
+ radioList.SelectedIndex = 1
+ End If
+
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## Fill PDF forms through Export and Import Data
+
+In WPF PDF Viewer, exporting and importing form data simplifies working with PDF forms through both programmatic APIs and the built‑in user interface. Filled form data can be exported programmatically or through UI actions and stored in a database or file storage, preserving all entered values for later use. This capability helps save progress, share data between applications, and restore form states when needed.
+
+The same exported data can be imported back into an existing PDF document using the [ImportFormData](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfDocumentView.html#Syncfusion_Windows_PdfViewer_PdfDocumentView_ImportFormData_System_String_Syncfusion_Pdf_Parsing_DataFormat_) API or supported UI options, allowing form fields to be pre-filled using external data sources without manual entry. During the import process, form data is automatically mapped to the corresponding form fields based on field names. Once imported, the populated values are displayed in the PDF Viewer and remain editable through the user interface if required.
+
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Import PDF form data
+ pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Import PDF form data
+ pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf)
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+For more details, see [Import Form Data](./import-export-form-fields/import-form-fields).
+For more details, see [Export Form Data](./import-export-form-fields/export-form-fields).
+
+
+## See also
+
+- [Overview](./overview)
+- [Add form fields](./manage-form-fields/add-form-fields)
+- [Modify form fields values](./manage-form-fields/modify-form-fields)
+- [Remove form fields](./manage-form-fields/remove-form-fields)
+- [Form fields API](./form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/import-export-form-fields/export-form-fields.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/import-export-form-fields/export-form-fields.md
new file mode 100644
index 0000000000..5712ffe0b4
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/import-export-form-fields/export-form-fields.md
@@ -0,0 +1,134 @@
+---
+layout: post
+title: Export form data in the WPF PDF Viewer component | Syncfusion
+description: Learn how to export PDF form field data (FDF, XFDF, JSON, and XML) using the Syncfusion WPF PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Export PDF Form Data
+
+The WPF PDF Viewer supports exporting form field data in multiple formats, enabling easy storage and seamless integration with other systems. Supported formats:
+
+- [FDF](#export-as-fdf)
+- [XFDF](#export-as-xfdf)
+- [JSON](#export-as-json)
+- [XML](#export-as-xml)
+
+Follow the below steps to export data from PDF document in UI
+1. Click the form data tool button in the left pane, the form data toolbar will appear as a secondary toolbar in the [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html).
+2. Select **Export** option in form data toolbar to export the PDF form data.
+3. In `Export Form Data As` dialog box, you can select the desired format to save the form data (FDF, XFDF, XML, and JSON).
+
+N> If the PDF document is loaded as a stream, the [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html) will request for the form name when exporting.
+
+## How to export Programmatically
+
+[ExportFormData](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_ExportFormData_System_String_Syncfusion_Pdf_Parsing_DataFormat_System_String_) API is used to export the form fields data in code behind.This API allows the values filled in form fields to be extracted and saved in the required format, making it useful for storing form data, sharing it with external systems, or reusing it at a later stage without manual intervention.
+
+### Export as FDF
+The following example exports form field data as FDF.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Export PDF form data
+ pdfviewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf");
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Export PDF form data
+ pdfviewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf")
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### Export as XFDF
+The following example exports form field data as XFDF.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Export PDF form data
+ pdfViewer.ExportFormData("Export.xfdf", Syncfusion.Pdf.Parsing.DataFormat.XFdf, "SourceForm.pdf");
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Export PDF form data
+ pdfViewer.ExportFormData("Export.xfdf", Syncfusion.Pdf.Parsing.DataFormat.XFdf, "SourceForm.pdf")
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### Export as JSON
+The following example exports form field data as JSON.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Export PDF form data
+ pdfViewer.ExportFormData("Export.json", Syncfusion.Pdf.Parsing.DataFormat.Json, "SourceForm.pdf");
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Export PDF form data
+ pdfViewer.ExportFormData("Export.json", Syncfusion.Pdf.Parsing.DataFormat.Json, "SourceForm.pdf")
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### Export as XML
+The following example exports form field data as XML.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Export PDF form data
+ pdfViewer.ExportFormData("Export.xml", Syncfusion.Pdf.Parsing.DataFormat.Xml, "SourceForm.pdf");
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Export PDF form data
+ pdfViewer.ExportFormData("Export.xml", Syncfusion.Pdf.Parsing.DataFormat.Xml, "SourceForm.pdf")
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## Common Use Cases
+- Save user-entered data to your server without altering the original PDF.
+- Export as JSON for REST API integration.
+- Export as FDF/XFDF for compatibility with other PDF tools.
+
+## See also
+
+- [Overview](../overview)
+- [Import form fields](./import-form-fields)
+- [Add form fields](./manage-form-fields/add-form-fields)
+- [Modify form fields](./manage-form-fields/modify-form-fields)
+- [Remove form fields](./manage-form-fields/remove-form-fields)
+- [Form fields API](../form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/import-export-form-fields/import-form-fields.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/import-export-form-fields/import-form-fields.md
new file mode 100644
index 0000000000..3f61c89067
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/import-export-form-fields/import-form-fields.md
@@ -0,0 +1,135 @@
+---
+layout: post
+title: Import form data in the WPF PDF Viewer component | Syncfusion
+description: Learn how to import PDF form field data (FDF, XFDF, JSON, and XML) using the Syncfusion WPF PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Import PDF Form Data
+
+The WPF PDF Viewer supports importing values into interactive form fields of the currently loaded PDF document. Form data can be imported from the following supported formats:
+
+- [FDF](#import-as-fdf)
+- [XFDF](#import-xfdf)
+- [JSON](#import-json)
+- [XML](#import-xml)
+
+Follow the below steps to import data to PDF document with `AcroForm`.
+
+1. Click the form data tool button in the left pane, the form data toolbar will appear as a secondary toolbar in the [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html).
+2. Select **Import** option in form data toolbar to import the PDF form data.
+
+
+
+## How to Import Programmatically
+[ImportFormData](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_ImportFormData_System_String_Syncfusion_Pdf_Parsing_DataFormat_) API is used to import form field data programmatically from the code‑behind into the currently loaded PDF document. This API enables existing PDF form fields to be populated with values from external data sources, making it useful for restoring saved form data, automating form population, and integrating PDF forms with application workflows without manual intervention.
+
+
+### Import FDF
+The following example imports form field data as FDF.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Import PDF form data
+ pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Import PDF form data
+ pdfviewer.ImportFormData("Import.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf)
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### Import XFDF
+The following example imports form field data as XFDF.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Import PDF form data
+ pdfViewer.ImportFormData("Import.xfdf", Syncfusion.Pdf.Parsing.DataFormat.XFdf);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Import PDF form data
+ pdfViewer.ImportFormData("Import.xfdf", Syncfusion.Pdf.Parsing.DataFormat.XFdf)
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### Import JSON
+The following example imports form field data as JSON.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Import PDF form data
+ pdfViewer.ImportFormData("Import.json", Syncfusion.Pdf.Parsing.DataFormat.Json);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Import PDF form data
+ pdfViewer.ImportFormData("Import.json", Syncfusion.Pdf.Parsing.DataFormat.Json)
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## Import XML
+The following example imports form field data as XML.
+
+{% tabs %}
+{% highlight c# %}
+
+private void button1_Click(object sender, RoutedEventArgs e)
+{
+ //Import PDF form data
+ pdfViewer.ImportFormData("Import.xml", Syncfusion.Pdf.Parsing.DataFormat.Xml);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
+ 'Import PDF form data
+ pdfViewer.ImportFormData("Import.xml", Syncfusion.Pdf.Parsing.DataFormat.Xml)
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## Common Use Cases
+
+- Pre-fill application forms from a database using JSON.
+- Migrate data from other PDF tools using FDF/XFDF.
+- Restore user progress saved locally or on the server.
+
+## See also
+
+- [Overview](../overview)
+- [Export form fields](./export-form-fields)
+- [Add form fields](./manage-form-fields/add-form-fields)
+- [Modify form fields](./manage-form-fields/modify-form-fields)
+- [Remove form fields](./manage-form-fields/remove-form-fields)
+- [Form fields API](../form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/add-form-fields.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/add-form-fields.md
new file mode 100644
index 0000000000..9979112da7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/add-form-fields.md
@@ -0,0 +1,292 @@
+---
+layout: post
+title: Add form fields in the WPF PDF Viewer | Syncfusion
+description: Learn how to add various PDF form fields programmatically using the Syncfusion WPF PDF Viewer API to create interactive form fields and build dynamic PDF forms.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+# Add Form Field in WPF PDF Viewer
+
+## Add Form Fields Programmatically
+The [WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) allows developers to add form fields using code. By accessing the loaded PDF document through the viewer’s API, developers can create and insert form fields directly into the document.
+
+### Textbox
+[PdfTextBoxField](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfTextBoxField.html) Instance is used to create a text box field in PDF forms.
+
+The below code snippet illustrates how to add a textbox field to a LoadedDocument
+{% tabs %}
+{% highlight C# %}
+
+private void AddTextbox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ //Create a textbox field and add the properties.
+ PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
+ textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
+ //Add the form field to the document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(textBoxField);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddTextbox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ `Create a textbox field and add the properties.
+ Dim textBoxField As PdfTextBoxField = New PdfTextBoxField(page, "FirstName")
+ textBoxField.Bounds = New RectangleF(0, 0, 100, 20)
+ `Add the form field to the document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(textBoxField)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Password
+[PdfTextBoxField](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfTextBoxField.html) Instance is used to create a text box field in PDF forms. This field allows users to enter text input into the document. It also supports password functionality by setting the Password property to true.
+
+{% tabs %}
+{% highlight C# %}
+
+private void AddPasswordbox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ PdfTextBoxField passwordField = new PdfTextBoxField(page, "UserPassword");
+ passwordField.Bounds = new RectangleF(0, 30, 150, 22);
+ passwordField.Password = true;
+ pdfViewer.LoadedDocument.Form.Fields.Add(passwordField);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddPasswordbox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ Dim passwordField As New PdfTextBoxField(page, "UserPassword")
+ passwordField.Bounds = New RectangleF(0, 30, 150, 22)
+ passwordField.Password = True
+ ' Add the field to the PDF form
+ pdfViewer.LoadedDocument.Form.Fields.Add(passwordField)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### CheckBox
+A check box field in PDF forms can be created using the [PdfCheckBoxField](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfCheckBoxField.html) Instance.
+
+Please refer the below code snippet for adding the check box field in LoadedDocument.
+
+{% tabs %}
+{% highlight C# %}
+
+private void AddCheckbox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ //Create Check Box field.
+ PdfCheckBoxField checkBoxField = new PdfCheckBoxField(page, "CheckBox");
+ //Set check box properties.
+ checkBoxField.ToolTip = "Check Box";
+ checkBoxField.Bounds = new RectangleF(0, 20, 10, 10);
+ //Add the form field to the document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(checkBoxField);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddCheckbox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ 'Create Check Box field.
+ Dim checkBoxField As New PdfCheckBoxField(page, "CheckBox")
+ 'Set check box properties.
+ checkBoxField.ToolTip = "Check Box"
+ checkBoxField.Bounds = New RectangleF(0, 20, 10, 10)
+ 'Add the form field to the document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(checkBoxField)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### RadioButton
+Radio buttons in PDF forms can be created using the [PdfRadioButtonListField](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfRadioButtonListField.html) Instance. Individual radio button items within the group can be created using the [PdfRadioButtonListItem](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfRadioButtonListItem.html) Instance.
+
+Please refer the below code snippet for adding the radio button in LoadedDocument.
+
+{% tabs %}
+{% highlight C# %}
+
+private void AddRadioButton_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ PdfRadioButtonListField employeesRadioList = new PdfRadioButtonListField(page, "employeesRadioList");
+ //Create radio button items.
+ PdfRadioButtonListItem radioButtonItem1 = new PdfRadioButtonListItem("1-9");
+ radioButtonItem1.Bounds = new RectangleF(100, 140, 20, 20);
+ PdfRadioButtonListItem radioButtonItem2 = new PdfRadioButtonListItem("10-49");
+ radioButtonItem2.Bounds = new RectangleF(100, 170, 20, 20);
+ //Add the items to radio button group.
+ employeesRadioList.Items.Add(radioButtonItem1);
+ employeesRadioList.Items.Add(radioButtonItem2);
+ //Add the radio button into form.
+ pdfViewer.LoadedDocument.Form.Fields.Add(employeesRadioList);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddRadioButton_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ 'Create radio button list field.
+ Dim employeesRadioList As New PdfRadioButtonListField(page, "employeesRadioList")
+ 'Create radio button items.
+ Dim radioButtonItem1 As New PdfRadioButtonListItem("1-9")
+ radioButtonItem1.Bounds = New RectangleF(100, 140, 20, 20)
+ Dim radioButtonItem2 As New PdfRadioButtonListItem("10-49")
+ radioButtonItem2.Bounds = New RectangleF(100, 170, 20, 20)
+ 'Add the items to the radio button group.
+ employeesRadioList.Items.Add(radioButtonItem1)
+ employeesRadioList.Items.Add(radioButtonItem2)
+ 'Add the radio button group into the form.
+ pdfViewer.LoadedDocument.Form.Fields.Add(employeesRadioList)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### ListBox
+A list box form field in PDF documents can be created using the [PdfListBoxField](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfListBoxField.html) Instance. Individual listBox item added by using [PdfListFieldItem](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfListFieldItem.html) Instance.
+
+Please refer the below code snippet for adding the list box field in LoadedDocument.
+
+{% tabs %}
+{% highlight C# %}
+
+private void AddListbox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ //Create list box.
+ PdfListBoxField listBoxField = new PdfListBoxField(page, "list1");
+ //Set the properties.
+ listBoxField.Bounds = new RectangleF(100, 60, 100, 50);
+ //Add the items to the list box.
+ listBoxField.Items.Add(new PdfListFieldItem("English", "English"));
+ listBoxField.Items.Add(new PdfListFieldItem("French", "French"));
+ listBoxField.Items.Add(new PdfListFieldItem("German", "German"));
+ //Select the item.
+ listBoxField.SelectedIndex = 0;
+ //Set the multi select option.
+ listBoxField.MultiSelect = true;
+ //Add the list box into PDF document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(listBoxField);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddListbox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ 'Create list box.
+ Dim listBoxField As New PdfListBoxField(page, "list1")
+ 'Set the properties.
+ listBoxField.Bounds = New RectangleF(100, 60, 100, 50)
+ 'Add the items to the list box.
+ listBoxField.Items.Add(New PdfListFieldItem("English", "English"))
+ listBoxField.Items.Add(New PdfListFieldItem("French", "French"))
+ listBoxField.Items.Add(New PdfListFieldItem("German", "German"))
+ 'Select the item.
+ listBoxField.SelectedIndex = 0
+ 'Enable multi-select option.
+ listBoxField.MultiSelect = True
+ 'Add the list box into the PDF document.
+ pdfViewer.LoadedDocument.Form.Fields.Add(listBoxField)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### ComboBox
+The [PdfComboBoxField](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfComboBoxField.html) Instance is used to create a combo box field in PDF forms. A list of selectable items can be added to the combo box by using the [PdfListFieldItem](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Interactive.PdfListFieldItem.html) class.
+
+Please refer the below code snippet for adding the combo box in LoadedDocument.
+
+{% tabs %}
+{% highlight C# %}
+
+private void AddCombobox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ PdfLoadedPage page = pdfViewer.LoadedDocument.Pages[0] as PdfLoadedPage;
+ //Create a combo box for the first page.
+ PdfComboBoxField comboBoxField = new PdfComboBoxField(page, "JobTitle");
+ //Set the combo box properties.
+ comboBoxField.Bounds = new RectangleF(0, 60, 100, 20);
+ //Set tooltip.
+ comboBoxField.ToolTip = "Job Title";
+ //Add list items.
+ comboBoxField.Items.Add(new PdfListFieldItem("Development", "accounts"));
+ comboBoxField.Items.Add(new PdfListFieldItem("Support", "advertise"));
+ comboBoxField.Items.Add(new PdfListFieldItem("Documentation", "content"));
+ //Add combo box to the form.
+ pdfViewer.LoadedDocument.Form.Fields.Add(comboBoxField);
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub AddCombobox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form IsNot Nothing Then
+ Dim page As PdfLoadedPage = TryCast(pdfViewer.LoadedDocument.Pages(0), PdfLoadedPage)
+ 'Create a combo box for the first page.
+ Dim comboBoxField As New PdfComboBoxField(page, "JobTitle")
+ 'Set the combo box properties.
+ comboBoxField.Bounds = New RectangleF(0, 60, 100, 20)
+ 'Set tooltip.
+ comboBoxField.ToolTip = "Job Title"
+ 'Add list items.
+ comboBoxField.Items.Add(New PdfListFieldItem("Development", "accounts"))
+ comboBoxField.Items.Add(New PdfListFieldItem("Support", "advertise"))
+ comboBoxField.Items.Add(New PdfListFieldItem("Documentation", "content"))
+ 'Add combo box to the form.
+ pdfViewer.LoadedDocument.Form.Fields.Add(comboBoxField)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## See Also
+- [Overview](../overview)
+- [Modify form fields](./modify-form-fields)
+- [Remove form fields](./remove-form-fields)
+- [Form Fields API](../form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/modify-form-fields.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/modify-form-fields.md
new file mode 100644
index 0000000000..b422f865b6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/modify-form-fields.md
@@ -0,0 +1,193 @@
+---
+layout: post
+title: Modify form fields values in the WPF PDF Viewer | Syncfusion
+description: Learn how to modify PDF form fields values using the UI and programmatically with APIs in the Syncfusion WPF PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Modify Form Field values
+[WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) allows PDF form field values to be updated through the user interface for manual changes or through programmatic APIs for automated and dynamic updates.
+
+## Modify Form Field values using UI
+The Syncfusion [WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) allows to modify PDF form fields values directly through the user interface without using code. Users can click on form fields and enter or select values based on the field type. It supports common form fields such as text boxes, check boxes, radio buttons and list boxes.Filled values can be edited at any time, and the entered data is retained during the viewing session.
+
+
+
+N > PDF signature fields modification through programmatic APIs is not supported. However, users can add, modify, or delete signatures directly through the UI alone.
+
+## Modify Form Field values programmatically
+[WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) allows PDF form field values to be modified programmatically by accessing existing form fields through APIs. Developers can retrieve form fields from the loaded PDF document’s form collection and update their values using code. This approach is useful for dynamically setting form data based on application logic.
+
+### Textbox
+A text box form field can be updated using code by accessing it from the loaded PDF document. Developers can retrieve the `PdfLoadedTextBoxField` from the document’s form fields collection and change its text value programmatically to automatically fill or update data.
+
+{% tabs %}
+{% highlight C# %}
+
+private void Update_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form != null)
+ {
+ if (pdfViewer.LoadedDocument.Form.Fields[0] is PdfLoadedTextBoxField)
+ {
+ (pdfViewer.LoadedDocument.Form.Fields[0] as PdfLoadedTextBoxField).Text = "Syncfusion";
+ }
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub Update_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then
+ Return
+ End If
+
+ Dim form = pdfViewer.LoadedDocument.Form
+
+ ' TextBox (Field 0)
+ Dim textBox = TryCast(form.Fields(0), PdfLoadedTextBoxField)
+ If textBox IsNot Nothing Then
+ textBox.Text = "Syncfusion"
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### CheckBox
+A CheckBox form field value can be updated programmatically by accessing it from the loaded PDF document. Developers can retrieve the `PdfLoadedCheckBoxField` from the document’s form fields collection and set its Checked property to true or false using code.
+
+{% tabs %}
+{% highlight C# %}
+
+private void UpdateCheckBox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument == null || pdfViewer.LoadedDocument.Form == null) return;
+
+ var cb = pdfViewer.LoadedDocument.Form.Fields[2] as PdfLoadedCheckBoxField; // replace index
+ if (cb != null)
+ {
+ cb.Checked = true; // or false
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub UpdateCheckBox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then Return
+
+ Dim cb = TryCast(pdfViewer.LoadedDocument.Form.Fields(2), PdfLoadedCheckBoxField)
+ If cb IsNot Nothing Then
+ cb.Checked = True
+ End If
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+### RadioButton
+A Radio Button form field value can be updated programmatically by accessing it from the loaded PDF document. Developers can retrieve the `PdfLoadedRadioButtonListField` from the document’s form fields collection and change its selected option by setting the `SelectedIndex` property.
+
+{% tabs %}
+{% highlight C# %}
+
+private void UpdateRadio_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument == null || pdfViewer.LoadedDocument.Form == null) return;
+
+ var radioList = pdfViewer.LoadedDocument.Form.Fields[3] as PdfLoadedRadioButtonListField; // replace index
+ if (radioList != null)
+ {
+ radioList.SelectedIndex = 1; // 0-based index
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub UpdateRadio_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then Return
+
+ Dim radioList = TryCast(pdfViewer.LoadedDocument.Form.Fields(3), PdfLoadedRadioButtonListField)
+ If radioList IsNot Nothing Then
+ radioList.SelectedIndex = 1
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### ListBox
+A ListBox form field value can be updated programmatically by accessing it from the loaded PDF document. Developers can retrieve the `PdfLoadedListBoxField` from the document’s form fields collection and set its selected items using the `SelectedIndex` property.
+
+{% tabs %}
+{% highlight C# %}
+
+private void UpdateListBox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument == null || pdfViewer.LoadedDocument.Form == null) return;
+
+ var listBox = pdfViewer.LoadedDocument.Form.Fields[4] as PdfLoadedListBoxField; // replace index
+ if (listBox != null)
+ {
+ listBox.SelectedIndex = new int[] { 1, 2 }; // select multiple indices
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub UpdateListBox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then Return
+
+ Dim listBox = TryCast(pdfViewer.LoadedDocument.Form.Fields(4), PdfLoadedListBoxField)
+ If listBox IsNot Nothing Then
+ listBox.SelectedIndex = New Integer() {1, 2}
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+### ComboBox
+A ComboBox form field value can be updated programmatically by accessing it from the loaded PDF document. Developers can retrieve the `PdfLoadedComboBoxField` from the document’s form fields collection and set the selected option using the `SelectedIndex` property.
+
+{% tabs %}
+{% highlight C# %}
+
+private void UpdateComboBox_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument == null || pdfViewer.LoadedDocument.Form == null) return;
+
+ var combo = pdfViewer.LoadedDocument.Form.Fields[5] as PdfLoadedComboBoxField; // replace index
+ if (combo != null)
+ {
+ combo.SelectedIndex = 1;
+ }
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub UpdateComboBox_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument Is Nothing OrElse pdfViewer.LoadedDocument.Form Is Nothing Then Return
+
+ Dim combo = TryCast(pdfViewer.LoadedDocument.Form.Fields(5), PdfLoadedComboBoxField)
+ If combo IsNot Nothing Then
+ combo.SelectedIndex = 1
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## See also
+
+- [Overview](../overview)
+- [Add form fields](./add-form-fields)
+- [Remove form Fields](./remove-form-fields)
+- [Form fields API](../form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/remove-form-fields.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/remove-form-fields.md
new file mode 100644
index 0000000000..f7a4b454dd
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/manage-form-fields/remove-form-fields.md
@@ -0,0 +1,47 @@
+---
+layout: post
+title: Remove form fields in the WPF PDF Viewer component | Syncfusion
+description: Learn how to remove PDF form fields programmatically using the Syncfusion WPF PDF Viewer API to simplify form handling and automate PDF form cleanup.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+
+# Remove Form Fields from a PDF
+The [WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) supports removing existing form fields from a PDF document exclusively through programmatic APIs. By accessing the loaded PDF document’s form fields collection, specific form fields can be identified and deleted as required.
+
+## Remove Form Fields Programmatically
+The `PDF Viewer` form fields be removed using code by accessing the loaded PDF document. This makes it easy to delete unwanted form fields when updating or managing PDF files.
+
+The following code sample explains how to remove the form field during runtime.
+
+{% tabs %}
+{% highlight C# %}
+
+private void RemoveAt_Click(object sender, RoutedEventArgs e)
+{
+ if (pdfViewer.LoadedDocument.Form.Fields.Count > 0)
+ //Remove the field at index 0.
+ pdfViewer.LoadedDocument.Form.Fields.RemoveAt(0);
+}
+
+{% endhighlight %}
+{% highlight VB %}
+
+Private Sub RemoveAt_Click(sender As Object, e As RoutedEventArgs)
+ If pdfViewer.LoadedDocument.Form.Fields.Count > 0 Then
+ `Remove the field at index 0.
+ pdfViewer.LoadedDocument.Form.Fields.RemoveAt(0)
+ End If
+End Sub
+
+{% endhighlight %}
+{% endtabs %}
+
+## See also
+
+- [Overview](../overview)
+- [Add form fields](./add-form-fields)
+- [Modify form fields](./modify-form-fields)
+- [Form fields API](../form-fields-api)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/overview-add-forms.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/overview-add-forms.md
new file mode 100644
index 0000000000..5cd86fe3c9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/overview-add-forms.md
@@ -0,0 +1,17 @@
+---
+layout: post
+title: Overview of Add form fields in WPF PDF Viewer | Syncfusion
+description: Learn how to Add edit each form field using the PDF Viewer UI and how to create them programmatically in the Syncfusion WPF PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Add, Modify and Remove Form Fields in WPF PDF Viewer
+
+The [WPF PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/wpf/overview) provides controlled form‑editing capabilities that enable developers to manage PDF form fields efficiently within their applications. Existing form fields can be modified either using the viewer’s UI or through programmatic APIs. However, adding and removing form fields are supported only programmatically.
+
+This section explains how to:
+- [Add form fields](./manage-form-fields/add-form-fields)
+- [Modify form field values](./manage-form-fields/modify-form-fields)
+- [Remove form fields from a PDF document](./manage-form-fields/remove-form-fields)
diff --git a/Document-Processing/PDF/PDF-Viewer/wpf/forms/overview.md b/Document-Processing/PDF/PDF-Viewer/wpf/forms/overview.md
new file mode 100644
index 0000000000..5a927c7f33
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/wpf/forms/overview.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title: Overview of Forms in WPF PDF Viewer Control | Syncfusion
+description: Learn about Form Filling in PDF Files support in Syncfusion®; WPF Pdf Viewer control, its elements and more
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Overview of Forms in WPF PDF Viewer
+
+The Syncfusion WPF PDF Viewer delivers a complete,easy‑to‑use PDF forms experience. It allows form fields to be filled and edited directly within PDF documents. These actions are supported through either user interface or programmatic APIs. The form fields can be added and deleted through programmatic APIs alone.
+
+The PDF Viewer also includes smooth import and export support for form data, making integration effortless. Developers have fine-grained API control while end users interact with a streamlined form-filling interface.
+
+
+
+## Filling PDF Forms
+
+In WPF PDF Viewer, effortless PDF form filling is supported through a clean and UI, as well as automated workflows powered by robust APIs. Flexible form data import and export capabilities ensure smooth and efficient operations when working with PDF forms.
+
+See the [Filling PDF Forms](./form-filling) page for full details.
+
+## Supported form field types
+The following form fields can be loaded and filled in a PDF document using the PDF Viewer.
+
+- [Textbox](./manage-form-fields/add-form-fields### Textbox)
+- [Password](./manage-form-fields/add-form-fields### Password)
+- [CheckBox](./manage-form-fields/add-form-fields### CheckBox)
+- [RadioButton](./manage-form-fields/add-form-fields### RadioButton)
+- [ListBox](./manage-form-fields/add-form-fields### ListBox)
+- [ComboBox](./manage-form-fields/add-form-fields### ComboBox)
diff --git a/Document-Processing/Release-Notes/v33.2.4.md b/Document-Processing/Release-Notes/v33.2.4.md
new file mode 100644
index 0000000000..506db553c3
--- /dev/null
+++ b/Document-Processing/Release-Notes/v33.2.4.md
@@ -0,0 +1,38 @@
+---
+title : Essential Studio® for Document Processing Release Notes - v33.2.4
+description : Learn here about the controls in the Essential Studio® for Document Processing Weekly Nuget Release - Release Notes - v33.2.4
+platform : document-processing
+documentation: ug
+---
+
+# Essential Studio® for Document Processing - v33.2.4 Release Notes
+
+{% include release-info.html date="April 28, 2026" version="v33.2.4" passed="234828" failed="0" %}
+
+{% directory path: _includes/release-notes/v33.2.4 %}
+
+{% include {{file.url}} %}
+
+{% enddirectory %}
+
+## Test Results
+
+| Component Name | Platform | Test Cases | Passed | Failed | Remarks |
+|----------------|----------|------------|--------|--------|---------|
+| Calculate Library | .NET | 145 | 145 | 0 | All Passed |
+| DOCX Editor | Blazor | 1985 | 1985 | 0 | All Passed |
+| DOCX Editor | Web(Javascript, Angular, React, Vue, ASP.NET Core & MVC) | 5230 | 5230 | 0 | All Passed |
+| Excel Library | .NET | 37993 | 37993 | 0 | All Passed |
+| Metafile Renderer | .NET | 897 | 897 | 0 | All Passed |
+| PDF Library | .NET | 14060 | 14060 | 0 | All Passed |
+| PDF Viewer | .NET MAUI | 15368 | 15368 | 0 | All Passed |
+| PDF Viewer | Blazor | 16532 | 16532 | 0 | All Passed |
+| PDF Viewer | Web(Javascript, Angular, React, Vue, ASP.NET Core & MVC) | 21897 | 21897 | 0 | All Passed |
+| PDF Viewer | Windows Forms | 209 | 209 | 0 | All Passed |
+| PDF Viewer | WPF | 3040 | 3040 | 0 | All Passed |
+| PowerPoint Library | .NET | 54547 | 54547 | 0 | All Passed |
+| Spreadsheet | Blazor | 4167 | 4167 | 0 | All Passed |
+| Spreadsheet | Web(Javascript, Angular, React, Vue, ASP.NET Core & MVC) | 10882 | 10882 | 0 | All Passed |
+| Spreadsheet | WPF | 2716 | 2716 | 0 | All Passed |
+| Word Library | .NET | 41081 | 41081 | 0 | All Passed |
+| Word Library | Java | 4079 | 4079 | 0 | All Passed |
\ No newline at end of file
diff --git a/Document-Processing/Word/Word-Processor/angular/getting-started.md b/Document-Processing/Word/Word-Processor/angular/getting-started.md
index c90328de1d..084afa607b 100644
--- a/Document-Processing/Word/Word-Processor/angular/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/angular/getting-started.md
@@ -1,70 +1,32 @@
---
layout: post
-title: Getting started with Angular Document editor component | Syncfusion
-description: Checkout and learn about Getting started with Angular Document editor component of Syncfusion Essential JS 2 and more details.
+title: Getting Started with Angular DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in an Angular application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: Getting started
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started with Angular Document editor component
+# Getting Started with Angular DOCX Editor
-This section explains the steps to create a Word document editor within your application and demonstrates the basic usage of the Document editor component.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in an Angular application.
-To get started quickly with Document editor component using CLI, you can check the video below.
+## Steps to create an Angular DOCX Editor
-{% youtube "https://www.youtube.com/watch?v=UHdjjR_BbQY" %}
-
-## Prerequisites
-
-[System requirements for Syncfusion® Angular Document editor](https://ej2.syncfusion.com/angular/documentation/system-requirement)
-
-## Dependencies
-
-The list of dependencies required to use the Document editor component in your application is given below:
-
-```javascript
-|-- @syncfusion/ej2-angular-documenteditor
- |-- @syncfusion/ej2-angular-base
- |-- @syncfusion/ej2-documenteditor
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-buttons
- |-- @syncfusion/ej2-compression
- |-- @syncfusion/ej2-data
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-file-utils
- |-- @syncfusion/ej2-inputs
- |-- @syncfusion/ej2-lists
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-popups
- |-- @syncfusion/ej2-splitbuttons
- |-- @syncfusion/ej2-charts
-```
-
-### Server-side dependencies
-
-The Document editor component requires server-side interactions for the following operations:
-
-* [Open file formats other than SFDT](./import#convert-word-documents-into-sfdt)
-* [Paste with formatting](./clipboard#paste-with-formatting)
-* [Restrict editing](./document-management)
-* [Spell check](./spell-check)
-* [Save as file formats other than SFDT and DOCX](./saving-documents/server-side-export)
+### Prerequisites
->Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
-
-For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
+[System requirements for Syncfusion® Angular Document Editor](https://ej2.syncfusion.com/angular/documentation/system-requirement)
-## Setup Angular environment
+### Setup Angular environment
You can use [Angular CLI](https://github.com/angular/angular-cli) to set up your Angular applications. To install Angular CLI, use the following command:
```bash
-npm install -g @angular/cli@16.0.1
+npm install -g @angular/cli
```
-## Create an Angular application
+### Create an Angular application
Start a new Angular application using the Angular CLI command below:
@@ -72,11 +34,19 @@ Start a new Angular application using the Angular CLI command below:
ng new my-app
```
-This command will prompt you for a few settings for the new project, such as whether to add Angular routing and which stylesheet format to use.
+This command will prompt you to configure settings like enabling Angular routing and choosing a stylesheet format.

-By default, it will create a CSS-based application.
+In this guide, CSS is selected as the stylesheet format.
+
+During project setup, when prompted for the Server-side rendering (SSR) option, choose the appropriate configuration.
+
+
+
+Select the required AI tool or 'none' if you do not need any AI tool.
+
+
Next, navigate to the created project folder:
@@ -84,19 +54,17 @@ Next, navigate to the created project folder:
cd my-app
```
-## Adding Syncfusion® Document editor package
+### Install the Syncfusion® Document Editor packages
-All available Essential® JS 2 packages are published in the [`npmjs.com`](https://www.npmjs.com/~syncfusionorg) registry.
+The Syncfusion® Document Editor package is available in the public npm registry and can be installed directly from [`npmjs.com`](https://www.npmjs.com/package/@syncfusion/ej2-angular-documenteditor).
-To install the Document editor component, use the following command:
+To install the Document Editor component, use the following command:
```bash
npm install @syncfusion/ej2-angular-documenteditor --save
```
->Note: The `--save` flag instructs npm to include the Document editor package inside the dependencies section of the `package.json` file.
-
-## Adding CSS reference
+### Add CSS reference
The following CSS files are available in the `node_modules/@syncfusion` package folder. Reference these styles in the `src/styles.css` file using the following code:
@@ -112,60 +80,50 @@ The following CSS files are available in the `node_modules/@syncfusion` package
@import '../node_modules/@syncfusion/ej2-angular-documenteditor/styles/material.css';
```
-## Choosing a component
-
-* **DocumentEditorContainer**: A complete solution with a predefined toolbar, properties pane, and status bar for comprehensive document editing
-* **DocumentEditor**: A customizable component where you build the UI according to your specific requirements
-
->Note: Starting from version `v19.3.0.x`, the text size measurement accuracy has been optimized to match Microsoft Word pagination for most documents. This improvement is enabled by default. You can [disable it to retain the pagination behavior of older versions](./how-to/disable-optimized-text-measuring) if needed.
-
-### DocumentEditorContainer component
-
-The DocumentEditorContainer is a predefined component that wraps the DocumentEditor, toolbar, properties pane, and status bar into a single component. The toolbar and properties pane allow users to view and modify documents through public APIs available in the DocumentEditor.
+### Add the Syncfusion® Document Editor component
-#### Adding DocumentEditorContainer component
-
-Modify the template in the `src/app/app.component.ts` file to render the DocumentEditorContainer component. Add the Angular DocumentEditorContainer using the `` selector in the template section of the `app.component.ts` file:
+Modify the template in the `src/app/app.ts` file to render the Document Editor component. Add the Angular Document Editor by using the selector in the template section of the app.ts file.
```typescript
-import { DocumentEditorContainerModule } from '@syncfusion/ej2-angular-documenteditor';
-import { Component, OnInit } from '@angular/core';
-import { ToolbarService } from '@syncfusion/ej2-angular-documenteditor';
+import { Component } from '@angular/core';
+import {
+ DocumentEditorContainerModule,
+ ToolbarService
+} from '@syncfusion/ej2-angular-documenteditor';
@Component({
- imports: [
- DocumentEditorContainerModule
- ],
- standalone: true,
- selector: 'app-root',
- template: `
- `,
- providers: [ToolbarService]
+ selector: 'app-root',
+ standalone: true,
+ imports: [DocumentEditorContainerModule],
+ providers: [ToolbarService],
+ template: `
+
+
+
+ `
})
-export class AppComponent implements OnInit {
- ngOnInit(): void {
- }
-}
+export class App {}
```
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
+> The hosted Web API URL is for demo and evaluation purposes only. For production, host your own web service using the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server).
-#### Run the DocumentEditorContainer application
+### Run the application
-The project is configured to compile and run the application in a browser. Use the following command to run the application:
+Run the application using the following command:
```bash
ng serve --open
```
+Open http://localhost:4200 in your browser to run the application.
-The DocumentEditorContainer output will be displayed as follows:
+The Document Editor is displayed as shown below.
{% tabs %}
-{% highlight ts tabtitle="app.component.ts" %}
+{% highlight ts tabtitle="app.ts" %}
{% include code-snippet/document-editor/angular/document-editor-container-cs2/src/app.component.ts %}
{% endhighlight %}
@@ -173,134 +131,27 @@ The DocumentEditorContainer output will be displayed as follows:
{% include code-snippet/document-editor/angular/document-editor-container-cs2/src/main.ts %}
{% endhighlight %}
{% endtabs %}
-
-{% previewsample "/document-processing/samples/document-editor/angular/document-editor-container-cs2" %}
-
-
->Note: If you see a license banner when running your application, you need to obtain a license key and register it within the application to use Syncfusion components. For more information on how to obtain and register a license key, refer to the [Licensing overview](https://ej2.syncfusion.com/angular/documentation/licensing/overview) page.
-### DocumentEditor component
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Getting-started-angular-word-processor).
-The DocumentEditor component is used to create, view, and edit Word documents. With this component, you can customize the UI options based on your requirements to modify documents.
-
-#### Adding DocumentEditor component
-
-Modify the template in the `src/app/app.component.ts` file to render the DocumentEditor component. Add the Angular DocumentEditor using the `` selector in the template section of the `app.component.ts` file:
-
-```typescript
-import { DocumentEditorModule } from '@syncfusion/ej2-angular-documenteditor';
-import { Component, OnInit } from '@angular/core';
-import {
- PrintService,
- SfdtExportService,
- WordExportService,
- TextExportService,
- SelectionService,
- SearchService,
- EditorService,
- ImageResizerService,
- EditorHistoryService,
- ContextMenuService,
- OptionsPaneService,
- HyperlinkDialogService,
- TableDialogService,
- BookmarkDialogService,
- TableOfContentsDialogService,
- PageSetupDialogService,
- StyleDialogService,
- ListDialogService,
- ParagraphDialogService,
- BulletsAndNumberingDialogService,
- FontDialogService,
- TablePropertiesDialogService,
- BordersAndShadingDialogService,
- TableOptionsDialogService,
- CellOptionsDialogService,
- StylesDialogService
-} from '@syncfusion/ej2-angular-documenteditor';
-
-@Component({
- imports: [
- DocumentEditorModule
- ],
- standalone: true,
- selector: 'app-root',
- template: `
- `,
- providers: [
- PrintService,
- SfdtExportService,
- WordExportService,
- TextExportService,
- SelectionService,
- SearchService,
- EditorService,
- ImageResizerService,
- EditorHistoryService,
- ContextMenuService,
- OptionsPaneService,
- HyperlinkDialogService,
- TableDialogService,
- BookmarkDialogService,
- TableOfContentsDialogService,
- PageSetupDialogService,
- StyleDialogService,
- ListDialogService,
- ParagraphDialogService,
- BulletsAndNumberingDialogService,
- FontDialogService,
- TablePropertiesDialogService,
- BordersAndShadingDialogService,
- TableOptionsDialogService,
- CellOptionsDialogService,
- StylesDialogService
- ]
-})
-export class AppComponent implements OnInit {
- ngOnInit(): void {
- }
-}
-```
-
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
+{% previewsample "/document-processing/samples/document-editor/angular/document-editor-container-cs2" %}
-#### Run the DocumentEditor application
+## Video tutorial
-Use the following command to compile and run the application in a browser:
+To get started quickly with the Document Editor component using CLI, you can check the video below.
-```bash
-ng serve --open
-```
+{% youtube "https://www.youtube.com/watch?v=UHdjjR_BbQY" %}
-The DocumentEditor output will be displayed as follows:
+## Server-side dependencies
-{% tabs %}
-{% highlight ts tabtitle="app.component.ts" %}
-{% include code-snippet/document-editor/angular/getting-started-cs1/src/app.component.ts %}
-{% endhighlight %}
+The Document Editor component requires server-side interactions for the following operations:
-{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/document-editor/angular/getting-started-cs1/src/main.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/samples/document-editor/angular/getting-started-cs1" %}
+* Open file formats other than SFDT
+* Paste with formatting
+* Restrict editing
+* Spell check
+* Save as file formats other than SFDT and DOCX
-## Frequently Asked Questions
+>Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
-* [How to localize the Document editor container](./global-local)
-* [How to load a document by default](./how-to/open-default-document)
-* [How to customize the toolbar](./how-to/customize-tool-bar)
-* [How to resize the Document editor component](./how-to/resize-document-editor)
-* [How to add a save button to the DocumentEditorContainer toolbar](./how-to/add-save-button-in-toolbar)
\ No newline at end of file
+For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
diff --git a/Document-Processing/Word/Word-Processor/angular/images/AI-tools.png b/Document-Processing/Word/Word-Processor/angular/images/AI-tools.png
new file mode 100644
index 0000000000..7e2cdf171f
Binary files /dev/null and b/Document-Processing/Word/Word-Processor/angular/images/AI-tools.png differ
diff --git a/Document-Processing/Word/Word-Processor/angular/images/Initial-setup.png b/Document-Processing/Word/Word-Processor/angular/images/Initial-setup.png
index b116d7dda0..1c7bd9ec70 100644
Binary files a/Document-Processing/Word/Word-Processor/angular/images/Initial-setup.png and b/Document-Processing/Word/Word-Processor/angular/images/Initial-setup.png differ
diff --git a/Document-Processing/Word/Word-Processor/angular/images/Server-Side-Rendering-setup.png b/Document-Processing/Word/Word-Processor/angular/images/Server-Side-Rendering-setup.png
new file mode 100644
index 0000000000..a654588d44
Binary files /dev/null and b/Document-Processing/Word/Word-Processor/angular/images/Server-Side-Rendering-setup.png differ
diff --git a/Document-Processing/Word/Word-Processor/asp-net-core/getting-started-core.md b/Document-Processing/Word/Word-Processor/asp-net-core/getting-started-core.md
index 681efd4a81..2d580a496b 100644
--- a/Document-Processing/Word/Word-Processor/asp-net-core/getting-started-core.md
+++ b/Document-Processing/Word/Word-Processor/asp-net-core/getting-started-core.md
@@ -1,31 +1,39 @@
---
layout: post
-title: Getting Started with Syncfusion Document Editor Control
-description: Check out and learn about getting started with Document Editor control of Syncfusion Essential JS 2 and more details.
+title: Getting Stared with ASP.NET Core DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in an ASP.NET Core application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: Getting Started Core
documentation: ug
---
+# Getting Started with ASP.NET Core DOCX Editor
-# Getting Started with ASP.NET Core DocumentEditor Control
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a ASP.NET Core application.
-This section briefly explains about how to include [ASP.NET Core DocumentEditor](https://www.syncfusion.com/aspnet-core-ui-controls/word-processor) control in your ASP.NET Core application using Visual Studio.
+## Steps to create an ASP.NET Core DOCX Editor
-## Prerequisites
+This section briefly explains about how to include [ASP.NET Core DOCX Editor](https://www.syncfusion.com/docx-editor-sdk/asp-net-core-docx-editor) control in your ASP.NET Core application using Visual Studio.
+
+### Prerequisites
[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements)
-## Create ASP.NET Core web application with Razor pages
+### Create ASP.NET Core web application with Razor pages
Create a new ASP.NET Core web application using one of the following methods:
* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app)
* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages)
-## Install ASP.NET Core package in the application
+### Install Syncfusion® ASP.NET Core Nuget packages
-To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same.
+To add **ASP.NET Core Document Editor** component in the application, follow the steps below.
+ - open NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*),
+ - search and install the following package
+ - [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/)
+
+Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -35,9 +43,9 @@ Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key.
+N> This package includes dependencies such as [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for license validation.”
-## Add Syncfusion® ASP.NET Core Tag Helper
+### Add Syncfusion® ASP.NET Core Tag Helper
Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper.
@@ -49,7 +57,7 @@ Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelpe
{% endhighlight %}
{% endtabs %}
-## Add stylesheet and script resources
+### Add Themes and Script References
Here, the theme and script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows,
@@ -67,11 +75,9 @@ Here, the theme and script is referred using CDN inside the `` of `~/Pages
{% endhighlight %}
{% endtabs %}
-N> Checkout the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentation/appearance/theme) to learn different ways ([CDN](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references#cdn-reference), [NPM package](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references#node-package-manager-npm), and [CRG](https://ej2.syncfusion.com/aspnetcore/documentation/common/custom-resource-generator)) to refer styles in ASP.NET Core application, and to have the expected appearance for Syncfusion® ASP.NET Core controls.
-
-N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application.
+N> Refer the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentation/appearance/theme) to learn the different ways to include Syncfusion styles (using [CDN](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references#cdn-reference), [NPM package](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references#node-package-manager-npm), or [CRG](https://ej2.syncfusion.com/aspnetcore/documentation/common/custom-resource-generator)) and ensure the expected appearance of Syncfusion® ASP.NET Core controls, and check the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) documentation to understand the various approaches for adding required script references in your ASP.NET Core application.
-## Register Syncfusion® Script Manager
+### Register Syncfusion® Script Manager
Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows.
@@ -87,24 +93,9 @@ Also, register the script manager `` at the end of `` in the A
{% endhighlight %}
{% endtabs %}
-## Understanding component options
-
-* **DocumentEditor**: A customizable component where you build the UI according to your specific requirements
-* **DocumentEditorContainer**: A complete solution with a predefined toolbar, properties pane, and status bar for comprehensive document editing
-
-This guide demonstrates both options.
-
-## Add ASP.NET Core DocumentEditor control
-
-Add the Syncfusion® ASP.NET Core DocumentEditor tag helper in `~/Pages/Index.cshtml` page.
-
-{% tabs %}
-{% highlight cshtml tabtitle="CSHTML" %}
-{% include code-snippet/document-editor/asp-net-core/getting-started/tagHelper %}
-{% endhighlight %}
-{% endtabs %}
+### Add the Syncfusion® Document Editor component
-For example, the Document Editor Container component is added to the `~/Pages/Index.cshtml` page.
+Add the Syncfusion® ASP.NET Core Document Editor tag helper in `~/Pages/Index.cshtml` page.
{% tabs %}
{% highlight cshtml tabtitle="CSHTML" %}
@@ -112,18 +103,10 @@ For example, the Document Editor Container component is added to the `~/Pages/In
{% endhighlight %}
{% endtabs %}
-Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core DocumentEditor control will be rendered in the default web browser.
+### Run the application
-
-
-N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/DocumentEditor/ASP.NET%20Core%20Tag%20Helper%20Examples).
+Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core Document Editor control will be rendered in the default web browser.
-## See also
+
-* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages)
-* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper)
-* [How to localize the Document Editor container](../asp-net-core/global-local).
-* [How to load the document by default](../asp-net-core/how-to/open-default-document).
-* [How to customize tool bar](../asp-net-core/how-to/customize-tool-bar).
-* [How to resize Document editor component](../asp-net-core/how-to/resize-document-editor).
-* [How to add a save button to the DocumentEditorContainer component toolbar](../asp-net-core/how-to/add-save-button-in-toolbar).
+N> You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/DocumentEditor/ASP.NET%20Core%20Tag%20Helper%20Examples).
\ No newline at end of file
diff --git a/Document-Processing/Word/Word-Processor/asp-net-mvc/getting-started.md b/Document-Processing/Word/Word-Processor/asp-net-mvc/getting-started.md
index 3a872e3289..31153af665 100644
--- a/Document-Processing/Word/Word-Processor/asp-net-mvc/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/asp-net-mvc/getting-started.md
@@ -1,29 +1,35 @@
---
layout: post
-title: Getting Started with ASP.NET MVC DocumentEditor | Syncfusion
-description: Check out and learn about getting started with ASP.NET MVC DocumentEditor control of Syncfusion Essential JS 2 and more details.
+title: Getting Started with ASP.NET MVC DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in an ASP.NET MVC application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: Getting Started
documentation: ug
---
+# Getting Started with ASP.NET MVC DOCX Editor
-# Getting Started with ASP.NET MVC DocumentEditor Control
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a ASP.NET MVC application.
-This section briefly explains about how to include [ASP.NET MVC DocumentEditor](https://www.syncfusion.com/aspnet-mvc-ui-controls/word-processor) control in your ASP.NET MVC application using Visual Studio.
+## Steps to create an ASP.NET MVC DOCX Editor
-## Prerequisites
+This section briefly explains about how to include [ASP.NET MVC DOCX Editor](https://www.syncfusion.com/docx-editor-sdk/asp-net-mvc-docx-editor) control in your ASP.NET MVC application using Visual Studio.
+
+### Prerequisites
[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements)
-## Create ASP.NET MVC application with HTML helper
+### Create ASP.NET MVC application with HTML helper
* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app)
* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/project-template)
-## Install ASP.NET MVC package in the application
+### Install Syncfusion® ASP.NET MVC Nuget packages
-To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it.
+To add **ASP.NET MVC Document Editor** component in the application, follow the steps below.
+- open NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*),
+- search and install the following package
+ - [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5)
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -33,9 +39,9 @@ Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key.
+N> This package includes dependencies such as [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for license validation.”
-## Add namespace
+### Add namespace
Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder.
@@ -45,9 +51,9 @@ Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder.
```
-## Add stylesheet and script resources
+### Add Themes and Script References
-Here, the theme and script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows,
+Here, the theme and script is referred using CDN inside the `` of `~/Views/Shared/_Layout.cshtml` file as follows,
{% tabs %}
{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
@@ -63,11 +69,11 @@ Here, the theme and script is referred using CDN inside the `` of `~/Pages
{% endhighlight %}
{% endtabs %}
-N> Checkout the [Themes topic](https://ej2.syncfusion.com/aspnetmvc/documentation/appearance/theme) to learn different ways (CDN, NPM package, and [CRG](https://ej2.syncfusion.com/aspnetmvc/documentation/common/custom-resource-generator)) to refer styles in ASP.NET MVC application, and to have the expected appearance for Syncfusion® ASP.NET MVC controls. Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application.
+N> Refer the [Themes topic](https://ej2.syncfusion.com/aspnetmvc/documentation/appearance/theme) to learn the different ways to include Syncfusion styles (using [CDN](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references#cdn-reference), [NPM package](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references#node-package-manager-npm), or [CRG](https://ej2.syncfusion.com/aspnetmvc/documentation/common/custom-resource-generator)) and ensure the expected appearance of Syncfusion® ASP.NET MVC controls, and check the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) documentation to understand the various approaches for adding required script references in your ASP.NET MVC application.
-## Register Syncfusion® script manager
+### Register Syncfusion® script manager
-Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Pages/Shared/_Layout.cshtml` file as follows.
+Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Views/Shared/_Layout.cshtml` file as follows.
{% tabs %}
{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
@@ -81,33 +87,19 @@ Also, register the script manager `EJS().ScriptManager()` at the end of ``
{% endhighlight %}
{% endtabs %}
-## Understanding component options
-
-* **DocumentEditor** — a customizable control for building a tailored UI.
-* **DocumentEditorContainer** — a complete container that includes a predefined toolbar, properties pane, and status bar for quick integration.
-
-Choose the control that matches the required level of customization.
+### Add the Syncfusion® Document Editor component
-## Add ASP.NET MVC DocumentEditor control
-
-Now, add the Syncfusion® ASP.NET MVC DocumentEditor control in `~/Views/Home/Index.cshtml` page.
+Add the Syncfusion® ASP.NET MVC Document Editor control in `~/Views/Home/Index.cshtml` page.
{% tabs %}
{% highlight razor tabtitle="CSHTML" %}
-{% include code-snippet/document-editor/asp-net-mvc/getting-started/razor %}
+{% include code-snippet/document-editor/asp-net-mvc/document-editor-container/getting-started/razor %}
{% endhighlight %}
{% endtabs %}
-Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC DocumentEditor control will be rendered in the default web browser.
-
-N> Starting from `v19.3.0.x`, we have optimized the accuracy of text size measurements such as to match Microsoft Word pagination for most Word documents. This improvement is included as default behavior along with an optional API [to disable it and retain the document pagination behavior of older versions](./how-to/disable-optimized-text-measuring).
-N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/DocumentEditor/ASP.NET%20MVC%20Razor%20Examples).
+### Run the application
-## See also
+Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC Document Editor control will be rendered in the default web browser.
-* [How to localize the Document editor container](./global-local).
-* [How to load the document by default](./how-to/open-default-document).
-* [How to customize tool bar](./how-to/customize-tool-bar).
-* [How to resize Document editor component](./how-to/resize-document-editor).
-* [How to add a save button to the DocumentEditorContainer component toolbar](./how-to/add-save-button-in-toolbar)
+N> You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/DocumentEditor/ASP.NET%20MVC%20Razor%20Examples).
diff --git a/Document-Processing/Word/Word-Processor/blazor/getting-started/client-side-application.md b/Document-Processing/Word/Word-Processor/blazor/getting-started/client-side-application.md
index d349cd7507..77dabde636 100644
--- a/Document-Processing/Word/Word-Processor/blazor/getting-started/client-side-application.md
+++ b/Document-Processing/Word/Word-Processor/blazor/getting-started/client-side-application.md
@@ -1,34 +1,42 @@
---
layout: post
-title: Getting Started with DocumentEditor in Blazor WASM App | Syncfusion
-description: Learn how to get started with the Blazor Document Editor component in a Blazor WebAssembly (WASM) application using Visual Studio or Visual Studio Code.
+title: Getting Started with Blazor WASM DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in a Blazor WASM application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: DocumentEditor
documentation: ug
---
-# Getting Started with Blazor DocumentEditor Component in Blazor WASM
+# Getting Started with Blazor DOCX Editor in Blazor WASM
-This section explains how to include the [Blazor DocumentEditor](https://www.syncfusion.com/blazor-components/blazor-word-processor) component in a Blazor WebAssembly (WASM) application using Visual Studio and Visual Studio Code.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a Blazor WebAssembly (WASM) application.
+
+
+## Steps to create a Blazor WASM DOCX Editor
+
+This section explains how to include the [Blazor Document Editor](https://www.syncfusion.com/blazor-components/blazor-word-processor) component in a Blazor WebAssembly (WASM) application using Visual Studio and Visual Studio Code.
{% tabcontents %}
{% tabcontent Visual Studio %}
-## Prerequisites
+### Prerequisites
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-## Create a new Blazor App in Visual Studio
+### Create a Blazor WASM App in Visual Studio
-You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs).
-## Install Syncfusion® Blazor WordProcessor and Themes NuGet in the App
+### Install Syncfusion® Blazor Nuget packages
-To add **Blazor DocumentEditor** component in the app, open NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search for and install [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). Alternatively, you can utilize the following package manager command to achieve the same.
-
-W> * The Document Editor is not included in the common package. To use it alongside other components, install the required individual component packages.
- * Do not reference both `Syncfusion.Blazor` and individual NuGet packages ([Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor/)) in the same application. This results in ambiguous compile-time errors.
+To add **Blazor Document Editor** component in the application, follow the steps below.
+ - open NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*),
+ - search and install the following packages
+ - [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor)
+ - [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+
+Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -39,19 +47,19 @@ Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for the complete list of packages and component details.
+N> Syncfusion® Blazor DOCX Editor are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for the complete list of packages and component details.
{% endtabcontent %}
{% tabcontent Visual Studio Code %}
-## Prerequisites
+### Prerequisites
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-## Create a new Blazor App in Visual Studio Code
+### Create a new Blazor WASM App in Visual Studio Code
-You can create a **Blazor WebAssembly App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+You can create a **Blazor WebAssembly App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc).
Alternatively, create a WebAssembly application using the following terminal commands (Ctrl+`).
@@ -66,11 +74,13 @@ cd BlazorApp
{% endtabs %}
-## Install Syncfusion® Blazor WordProcessor and Themes NuGet in the App
+### Install Syncfusion® Blazor Nuget packages
* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
* Ensure you’re in the project root directory where your `.csproj` file is located.
-* Run the following command to install [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed.
+* Run the following command to install
+ - [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor)
+ - [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
{% tabs %}
@@ -83,13 +93,13 @@ dotnet restore
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+N> Syncfusion® Blazor DOCX Editor are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
{% endtabcontent %}
{% endtabcontents %}
-## Register Syncfusion® Blazor Service
+### Register Syncfusion® Blazor Services
Open **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.DocumentEditor` namespaces.
@@ -124,7 +134,7 @@ await builder.Build().RunAsync();
{% endhighlight %}
{% endtabs %}
-## Add stylesheet and script resources
+### Add Themes and Script References
Add the following stylesheet and script to the head section of **~/index.html** file. The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Reference the stylesheet and script in the `` of the main page as follows:
@@ -137,9 +147,9 @@ Add the following stylesheet and script to the head section of **~/index.html**
```
N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to discover various methods ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) for referencing themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
-## Add Blazor DocumentEditor Component
+### Add the Syncfusion® Document Editor component
-Add the Syncfusion® Blazor DocumentEditor component in the **~/Pages/Index.razor** file.
+Add the Syncfusion® Blazor Document Editor component in the **~/Pages/Index.razor** file.
{% tabs %}
{% highlight razor %}
@@ -149,11 +159,10 @@ Add the Syncfusion® Blazor DocumentEditor c
{% endhighlight %}
{% endtabs %}
-* Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion® Blazor DocumentEditor component in your default web browser.
+### Run the application
-{% previewsample "https://blazorplayground.syncfusion.com/embed/LDBpDiLugARSruZb?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor DocumentEditor](../images/blazor-document-editor.png)" %}
+Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion® Blazor Document Editor component in your default web browser.
-N> The Document editor is one of the large functionalities covered component as it gives you many functionalities of Microsoft Word application. It has more UI views like text properties pane, header footer properties pane, image properties pane and dialogs.
-The dependency components are [Syncfusion.Blazor.Calendars](https://www.nuget.org/packages/Syncfusion.Blazor.Calendars/), [Syncfusion.Blazor.Core](https://www.nuget.org/packages/Syncfusion.Blazor.Core/), [Syncfusion.Blazor.Data](https://www.nuget.org/packages/Syncfusion.Blazor.Data/), [Syncfusion.Blazor.DropDowns](https://www.nuget.org/packages/Syncfusion.Blazor.DropDowns/), [Syncfusion.Blazor.Navigations](https://www.nuget.org/packages/Syncfusion.Blazor.Navigations/), [Syncfusion.WordProcessor.AspNet.Core](https://www.nuget.org/packages/Syncfusion.WordProcessor.AspNet.Core/), [System.Text.Json](https://www.nuget.org/packages/System.Text.Json/). So, it takes some time (less than 6seconds) for initial loading in client browsers to load all the dependency components and it is an expected one.
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/DocumentEditor).
-You can also explore our [Blazor Word Processor](https://document.syncfusion.com/demos/docx-editor/blazor-server/document-editor/default-functionalities) example to know how to render and configure the document editor.
+{% previewsample "https://blazorplayground.syncfusion.com/embed/LDBpDiLugARSruZb?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor DocumentEditor](../images/blazor-document-editor.png)" %}
diff --git a/Document-Processing/Word/Word-Processor/blazor/getting-started/server-side-application.md b/Document-Processing/Word/Word-Processor/blazor/getting-started/server-side-application.md
index f266a91b02..d09f25b18e 100644
--- a/Document-Processing/Word/Word-Processor/blazor/getting-started/server-side-application.md
+++ b/Document-Processing/Word/Word-Processor/blazor/getting-started/server-side-application.md
@@ -1,38 +1,40 @@
---
layout: post
-title: Getting Stared with Blazor DocumentEditor Component | Syncfusion
-description: Checkout and learn about getting started with Blazor DocumentEditor component in a Blazor Server app using Visual Studio and more.
+title: Getting Stared with Blazor Server DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in a Blazor Server application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: DocumentEditor
documentation: ug
---
-# Getting Started with Blazor DocumentEditor Component in Blazor Server
+# Getting Started with Blazor DOCX Editor in Blazor Server
-This section explains how to include the [Blazor DocumentEditor](https://www.syncfusion.com/blazor-components/blazor-word-processor) component in a Blazor Server app using Visual Studio and Visual Studio Code.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a Blazor Server application.
-To get started quickly with the Blazor DocumentEditor component, watch the following video.
+## Steps to create a Blazor Server DOCX Editor
-{% youtube "https://www.youtube.com/watch?v=85rMT46LLgY" %}
+This section explains how to include the [Blazor Document Editor](https://www.syncfusion.com/blazor-components/blazor-word-processor) component in a Blazor Server app using Visual Studio and Visual Studio Code.
{% tabcontents %}
{% tabcontent Visual Studio %}
-## Prerequisites
+### Prerequisites
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-## Create a new Blazor App in Visual Studio
-
-You can create a **Blazor Server App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+### Create a new Blazor Server App in Visual Studio
-## Install Syncfusion® Blazor WordProcessor and Themes NuGet in the App
+You can create a **Blazor Server App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs).
-To add the **Blazor DocumentEditor** component, open NuGet Package Manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), then install [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). Alternatively, use the following Package Manager commands.
+### Install Syncfusion® Blazor Nuget packages
-W> * The Document Editor is not part of the common package. If you wish to use the Document Editor with other components, install the required individual packages.
- * Do not use both `Syncfusion.Blazor` and individual NuGet packages ([Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor/)) in the same application. It will throw ambiguous errors while compiling the project.
+To add **Blazor Document Editor** component in the application, follow the steps below.
+ - open NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*),
+ - search and install the following packages
+ - [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor)
+ - [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+Alternatively, use the following Package Manager commands.
{% tabs %}
{% highlight C# tabtitle="Package Manager" %}
@@ -43,19 +45,19 @@ Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages and component details.
+N> Syncfusion® Blazor DOCX Editor are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages and component details.
{% endtabcontent %}
{% tabcontent Visual Studio Code %}
-## Prerequisites
+### Prerequisites
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-## Create a new Blazor App in Visual Studio Code
+### Create a new Blazor Server App in Visual Studio Code
-You can create a **Blazor Server App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+You can create a **Blazor Server App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc).
Alternatively, you can create a Server application using the following commands in the terminal(Ctrl+`).
@@ -69,11 +71,13 @@ cd BlazorApp
{% endhighlight %}
{% endtabs %}
-## Install Syncfusion® Blazor WordProcessor and Themes NuGet in the App
+### Install Syncfusion® Blazor Nuget packages
* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
* Ensure the terminal is at the project root directory where the `.csproj` file is located.
-* Run the following commands to install [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed.
+* Run the following command to install
+ - [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor)
+ - [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
{% tabs %}
@@ -86,13 +90,13 @@ dotnet restore
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+N> Syncfusion® Blazor DOCX Editor are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
{% endtabcontent %}
{% endtabcontents %}
-## Register Syncfusion® Blazor Service
+### Register Syncfusion® Blazor Services
Open **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.DocumentEditor` namespaces.
@@ -128,7 +132,7 @@ var app = builder.Build();
{% endhighlight %}
{% endtabs %}
-## Add stylesheet and script resources
+### Add Themes and Script References
Add the following stylesheet and script to the head section. The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Reference the stylesheet and script in the `` of the main page as follows:
@@ -145,9 +149,9 @@ Add the following stylesheet and script to the head section. The theme styleshee
```
N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to discover various methods ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) for referencing themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
-## Add Blazor DocumentEditor Component
+### Add the Syncfusion® Document Editor component
-Add the Syncfusion® Blazor DocumentEditor component in the **~/Pages/Index.razor** file.
+Add the Syncfusion® Blazor Document Editor component in the **~/Pages/Index.razor** file.
{% tabs %}
{% highlight razor %}
@@ -157,13 +161,13 @@ Add the Syncfusion® Blazor DocumentEditor c
{% endhighlight %}
{% endtabs %}
-Note: By default, the SfDocumentEditorContainer component initializes a SfDocumentEditor instance internally. If you like to use the [`events`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.DocumentEditor.DocumentEditorEvents.html) of SfDocumentEditor component, then you can set [`UseDefaultEditor`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.DocumentEditor.SfDocumentEditorContainer.html#Syncfusion_Blazor_DocumentEditor_SfDocumentEditorContainer_UseDefaultEditor) property as false and define your own SfDocumentEditor instance with event hooks in the application (Razor file).
+### Run the application
-* Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion® Blazor DocumentEditor component in your default web browser.
+Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion® Blazor DocumentEditor component in your default web browser.
{% previewsample "https://blazorplayground.syncfusion.com/embed/LDBpDiLugARSruZb?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor DocumentEditor](../images/blazor-document-editor.png)" %}
-## Load existing document
+### Load an Existing Document
To load an existing document during control initialization, use the following code example, which opens a Word document. Convert it to SFDT and load it in the editor.
@@ -201,6 +205,10 @@ To load an existing document during control initialization, use the following co
{% endhighlight %}
{% endtabs %}
-N> As per the discussion thread [#30064](https://github.com/dotnet/aspnetcore/issues/30064), null out the reference of streams and other instances when they are no longer required. Using this approach you'll observe the memory go down and become stable.
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/DocumentEditor).
+
+## Video tutorial
-
\ No newline at end of file
+To get started quickly with the Blazor Document Editor component, watch the following video.
+
+{% youtube "https://www.youtube.com/watch?v=85rMT46LLgY" %}
diff --git a/Document-Processing/Word/Word-Processor/blazor/getting-started/web-app.md b/Document-Processing/Word/Word-Processor/blazor/getting-started/web-app.md
index 5114a61879..87d06158ae 100644
--- a/Document-Processing/Word/Word-Processor/blazor/getting-started/web-app.md
+++ b/Document-Processing/Word/Word-Processor/blazor/getting-started/web-app.md
@@ -1,39 +1,40 @@
---
layout: post
-title: Getting Started with Blazor DocumentEditor in Web App | Syncfusion
-description: Checkout and learn about the documentation for getting started with Blazor DocumentEditor Component in Blazor Web App.
-platform: document-processing
+title: Getting Started with Blazor Web App DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in a Blazor Web App application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
component: DocumentEditor
documentation: ug
---
-# Getting Started with Blazor DocumentEditor Component in Web App
+# Getting Started with Blazor DOCX Editor in Web App
-This section explains about how to include the [Blazor DocumentEditor](https://www.syncfusion.com/blazor-components/blazor-word-processor) component in a Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and Visual Studio Code.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a Blazor WebAssembly (WASM) application.
+
+## Steps to create a Blazor Web App DOCX Editor
+This section explains about how to include the [Blazor Document Editor](https://www.syncfusion.com/blazor-components/blazor-word-processor) component in a Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and Visual Studio Code.
{% tabcontents %}
{% tabcontent Visual Studio %}
-## Prerequisites
+### Prerequisites
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-## Create a new Blazor Web App in Visual Studio
+### Create a new Blazor Web App in Visual Studio
-You can create a **Blazor Web App** using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+You can create a **Blazor Web App** using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vs).
You need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vs) while creating the Blazor Web App.
-## Install Syncfusion® Blazor WordProcessor and Themes NuGet in the Blazor Web App
-
-To add the **Blazor Document Editor** component in the app, open NuGet Package Manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), then install [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/).
-
-If you utilize `WebAssembly or Auto` render modes in the Blazor Web App need to be install Syncfusion® Blazor components NuGet packages within the client project.
-
-W> * The Document Editor is not part of the common package. If you wish to use the Document Editor with other components, please import all the components individually.
- * Do not use both `Syncfusion.Blazor` and individual NuGet packages ([Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor/)) in the same application. It will throw ambiguous errors while compiling the project.
+### Install Syncfusion® Blazor Nuget packages
+To add **Blazor Document Editor** component in the application, follow the steps below.
+ - open NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*),
+ - search and install the following packages
+ - [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor)
+ - [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+
Alternatively, you can utilize the following package manager command to achieve the same.
{% tabs %}
@@ -45,19 +46,19 @@ Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }}
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+N> Syncfusion® Blazor DOCX Editor are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
{% endtabcontent %}
{% tabcontent Visual Studio Code %}
-## Prerequisites
+### Prerequisites
* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
-## Create a new Blazor Web App in Visual Studio Code
+### Create a new Blazor Web App in Visual Studio Code
-You can create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+You can create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc).
You need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) while creating a Blazor Web Application.
@@ -75,13 +76,15 @@ cd BlazorWebApp.Client
N> For more information on creating a **Blazor Web App** with various interactive modes and locations, refer to this [link](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes).
-## Install Syncfusion® Blazor WordProcessor and Themes NuGet in the App
+### Install Syncfusion® Blazor Nuget packages
-If you utilize `WebAssembly` or `Auto` render modes in the Blazor Web App need to be install Syncfusion® Blazor components NuGet packages within the client project.
+If you utilize `WebAssembly` or `Auto` render modes in the Blazor Web App need to be install Syncfusion® Blazor DOCX Editor NuGet packages within the client project.
* Press Ctrl+` to open the integrated terminal in Visual Studio Code.
* Ensure the terminal is in the project root directory where the `.csproj` file is located.
-* Run the following commands to install [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed.
+* Run the following command to install
+ - [Syncfusion.Blazor.WordProcessor](https://www.nuget.org/packages/Syncfusion.Blazor.WordProcessor)
+ - [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
{% tabs %}
@@ -95,13 +98,13 @@ dotnet restore
{% endtabs %}
-N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for the complete list of packages and component details.
+N> Syncfusion® Blazor DOCX Editor are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for the complete list of packages and component details.
{% endtabcontent %}
{% endtabcontents %}
-## Register Syncfusion® Blazor Service
+### Register Syncfusion® Blazor Services
| Interactive Render Mode | Description |
| -- | -- |
@@ -176,7 +179,7 @@ var app = builder.Build();
{% endhighlight %}
{% endtabs %}
-## Add stylesheet and script resources
+### Add Themes and Script References
The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Include the stylesheet reference in the `` section and the script reference at the end of the `` in the **~/Components/App.razor** file as shown below:
@@ -194,9 +197,9 @@ The theme stylesheet and script can be accessed from NuGet through [Static Web A
N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to discover various methods ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) for referencing themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application.
-## Add Syncfusion® Blazor DocumentEditor component
+### Add the Syncfusion® Document Editor component
-Add the Syncfusion® Blazor DocumentEditor component in `.razor` file inside the `Pages` folder. If an interactivity location as `Per page/component` in the web app, define a render mode at top of the component, as follows:
+Add the Syncfusion® Blazor Document Editor component in `.razor` file inside the `Pages` folder. If an interactivity location as `Per page/component` in the web app, define a render mode at top of the component, as follows:
| Interactivity location | RenderMode | Code |
| --- | --- | --- |
@@ -224,13 +227,14 @@ N> Supported render modes are `@rendermode InteractiveAuto`, `@rendermode Intera
{% endhighlight %}
{% endtabs %}
-Note: By default, the SfDocumentEditorContainer component initializes an SfDocumentEditor instance internally. If you like to use the [`events`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.DocumentEditor.DocumentEditorEvents.html) of SfDocumentEditor component, then you can set [`UseDefaultEditor`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.DocumentEditor.SfDocumentEditorContainer.html#Syncfusion_Blazor_DocumentEditor_SfDocumentEditorContainer_UseDefaultEditor) property as false and define your own SfDocumentEditor instance with event hooks in the application (Razor file).
-* Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion® Blazor Document Editor component in your default web browser.
+### Run the application
+
+Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to launch the application. This will render the Syncfusion® Blazor DocumentEditor component in your default web browser.
{% previewsample "https://blazorplayground.syncfusion.com/embed/LDBpDiLugARSruZb?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor DocumentEditor](../images/blazor-document-editor.png)" %}
-## Load existing document
+### Load an Existing document
To load an existing document during control initialization, use the following code example, which opens a Word document. Convert it to SFDT and load in the editor.
@@ -268,15 +272,4 @@ To load an existing document during control initialization, use the following co
{% endhighlight %}
{% endtabs %}
-N> As per the discussion thread [#30064](https://github.com/dotnet/aspnetcore/issues/30064), null out the reference of streams and other instances when they are no longer required. Using this approach you'll observe the memory go down and become stable.
-
-
-
-N> [View Sample in GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/DocumentEditor).
-
-## See also
-
-1. [Getting Started with Syncfusion® Blazor for client-side in .NET Core CLI](https://blazor.syncfusion.com/documentation/getting-started/blazor-webassembly-dotnet-cli)
-2. [Getting Started with Syncfusion® Blazor for client-side in Visual Studio](https://blazor.syncfusion.com/documentation/getting-started/blazor-webassembly-visual-studio)
-3. [Getting Started with Syncfusion® Blazor for server-side in .NET Core CLI](https://blazor.syncfusion.com/documentation/getting-started/blazor-server-side-dotnet-cli)
-
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/DocumentEditor).
diff --git a/Document-Processing/Word/Word-Processor/javascript-es5/getting-started.md b/Document-Processing/Word/Word-Processor/javascript-es5/getting-started.md
index 51c65bfcc8..18b15a58d3 100644
--- a/Document-Processing/Word/Word-Processor/javascript-es5/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/javascript-es5/getting-started.md
@@ -1,161 +1,46 @@
---
layout: post
-title: Getting started with JavaScript (ES5) Document editor | Syncfusion
-description: Checkout and learn about Getting started with JavaScript (ES5) Document editor control of Syncfusion Essential JS 2 and more details.
+title: Getting Started with JavaScript (ES5) DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in a JavaScript application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: Getting started
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started with JavaScript (ES5) Document editor control
+# Getting Started with JavaScript (ES5) Document Editor
-The Essential® JS 2 for JavaScript (global script) is an ES5 formatted pure JavaScript framework designed for compatibility with modern web browsers without requiring build tools.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a JavaScript (ES5) application.
-## Component Initialization
+## Steps to create a JavaScript (ES5) DOCX Editor
-The Essential® JS 2 JavaScript components can be initialized using either of the following approaches:
+Create a folder named `documenteditor-app` with `index.html` file. Then, add the required Syncfusion Document Editor style and script references to the `index.html` file.
-* Using local script and style references in an HTML page
-* Using CDN links for script and style references
+You can add the required resources using either of the following methods:
### Using local script and style references
-This approach downloads and hosts the required files locally, providing better control over versioning and offline availability.
+Create a `resources` folder under `documenteditor-app`, and then copy the required script and style files from the [DOCX Editor SDK](https://www.syncfusion.com/account/manage-trials/start-trials) build into it.
-**Step 1:** Create an app folder `app` for Essential® JS 2 JavaScript components.
-
-**Step 2:** You can get the global scripts and styles from the [Essential Studio® JavaScript (Essential® JS 2)](https://www.syncfusion.com/downloads/essential-js2/) build installed location.
-
-**Syntax:**
-> Script: `**(installed location)**/JavaScript - EJ2/{RELEASE_VERSION}/Web (Essential JS 2)/JavaScript/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
->
-> Styles: `**(installed location)**/JavaScript - EJ2/{RELEASE_VERSION}/Web (Essential JS 2)/JavaScript/{PACKAGE_NAME}/styles/material.css`
-
-**Example:**
-
-> Script: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/32.1.19/Web (Essential JS 2)/JavaScript/ej2-documenteditor/dist/global/ej2-documenteditor.min.js`
->
-> Styles: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/32.1.19/Web (Essential JS 2)/JavaScript/ej2-documenteditor/styles/material.css`
-
-**Step 3:** Create a folder `app/resources` and copy/paste the global scripts and styles from the above installed location to `app/resources` location.
-
-**Step 4:** Create a HTML page (index.html) in `app` location and add the Essentials JS 2 script and style references.
-
-```html
-
-
-
- Essential JS 2 Document editor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-**Step 5:** Now, add the `Div` element and initiate the **Essential® JS 2 DocumentEditor** component in the `index.html` by using following code
-
-```html
-
-
-
- Essential JS 2 Document editor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
+ Your application structure should look like this:
+ ```text
+ documenteditor-app/
+ ├── index.html
+ └── resources/
+ ```
+### Using CDN link for script and style reference
-**Step 6:** Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditor** component.
+Reference the scripts and styles directly from the CDN.
+ ```text
+ Script: https://cdn.syncfusion.com/ej2/{VERSION}/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js
+ Style: https://cdn.syncfusion.com/ej2/{VERSION}/{PACKAGE_NAME}/styles/{THEME_NAME}.css
+ ```
-**Step 7:** To render DocumentEditorContainer component, add the `Div` element and initiate the **Essential® JS 2 DocumentEditorContainer** component in the `index.html` by using following code
+{% tabs %}
+{% highlight html tabtitle="Local script and style" %}
-```html
-
-
+...
- Essential JS 2 Document editor
@@ -167,7 +52,6 @@ This approach downloads and hosts the required files locally, providing better c
-
@@ -188,53 +72,13 @@ This approach downloads and hosts the required files locally, providing better c
-
-
-
-
-
-
-```
-
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditorContainer** component.
-
-### Using CDN link for script and style reference
-
-This approach uses Content Delivery Network (CDN) links to reference the required scripts and styles, eliminating the need to download and host files locally.
-
-**Step 1:** Create an app folder `app` for the Essential® JS 2 JavaScript components.
-
-**Step 2:** The Essential® JS 2 component's global scripts and styles are already hosted in the below CDN link formats.
-
-**Syntax:**
-> Script: `https://cdn.syncfusion.com/ej2/32.1.19/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
->
-> Styles: `https://cdn.syncfusion.com/ej2/32.1.19/{PACKAGE_NAME}/styles/material.css`
+{% endhighlight %}
+{% highlight html tabtitle="CDN link for script and style" %}
-**Example:**
-> Script: [`https://cdn.syncfusion.com/ej2/32.1.19/ej2-documenteditor/dist/global/ej2-documenteditor.min.js`](https://cdn.syncfusion.com/ej2/32.1.19/ej2-documenteditor/dist/global/ej2-documenteditor.min.js)
->
-> Styles: [`https://cdn.syncfusion.com/ej2/32.1.19/ej2-documenteditor/styles/material.css`](https://cdn.syncfusion.com/ej2/32.1.19/ej2-documenteditor/styles/material.css)
-
-**Step 3:** Create a HTML page (index.html) in `app` location and add the CDN link references. Now, add the `Div` element and initiate the **Essential® JS 2 DocumentEditor** component in the index.html by using following code.
-
-```html
-
-
+...
- Essential JS 2 Document editor
@@ -246,7 +90,6 @@ This approach uses Content Delivery Network (CDN) links to reference the require
-
@@ -267,123 +110,67 @@ This approach uses Content Delivery Network (CDN) links to reference the require
-
-
-
-
-
-
-```
-
-{% previewsample "/document-processing/code-snippet/document-editor/javascript-es5/es5-getting-started-cs1" %}
+### Add the Syncfusion® Document Editor component
-**Step 4:** Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditor** component.
+Add a container element for the Document Editor in the `index.html` file and then initialize the control in script tag.
-**Step 5:** To render DocumentEditorContainer component, add the `Div` element and initiate the **Essential® JS 2 DocumentEditorContainer** component in the index.html by using following code.
+{% tabs %}
+{% highlight html tabtitle="index.html" %}
-```html
- Essential JS 2 Document editor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Syncfusion JavaScript Document Editor
+
-```
-
-{% previewsample "/document-processing/code-snippet/document-editor/javascript-es5/es5-getting-started-cs2" %}
-Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditorContainer** component.
+{% endhighlight %}
+{% endtabs %}
-## Server-side dependencies
+> The hosted Web API URL is for demo and evaluation purposes only. For production, host your own web service using the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server).
-The Document editor component requires server-side interactions for the following operations:
+### Run the application
-* [Open file formats other than SFDT](./import#convert-word-documents-into-sfdt)
-* [Paste with formatting](./clipboard#paste-with-formatting)
-* [Restrict editing](./document-management)
-* [Spell check](./spell-check)
-* [Save as file formats other than SFDT and DOCX](./saving-documents/server-side-export)
+Now, open the `index.html` file in a web browser to render the JavaScript Document Editor.
->Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
+Use the following live preview to explore the Document Editor control.
-### Configuring web services
+{% previewsample "/document-processing/code-snippet/document-editor/javascript-es5/es5-getting-started-cs2" %}
-Refer to the [example from GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) to configure the web service and set the [serviceUrl](https://ej2.syncfusion.com/javascript/documentation/api/document-editor-container#serviceurl).
+## Server-side dependencies
-Syncfusion provides a predefined [Word Processor server Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) targeting ASP.NET Core 2.1 framework. You can directly pull this Docker image and deploy it on a server. You can also create your own Docker image by customizing the existing [Docker project from GitHub](https://github.com/SyncfusionExamples/Word-Processor-Server-Docker).
+The Document Editor component requires server-side interactions for the following operations:
->Note: Starting from version `v19.3.0.x`, the accuracy of text size measurements has been optimized to match Microsoft Word pagination for most documents. This improvement is enabled by default. You can [disable it to retain the pagination behavior of older versions](./how-to/disable-optimized-text-measuring) if needed.
+* Open file formats other than SFDT
+* Paste with formatting
+* Restrict editing
+* Spell check
+* Save as file formats other than SFDT and DOCX
-## Frequently Asked Questions
+>Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
-* [How to localize the Document editor container](./global-local)
-* [How to load a document by default](./how-to/open-default-document)
-* [How to customize the toolbar](./how-to/customize-tool-bar)
-* [How to resize the Document editor component](./how-to/resize-document-editor)
-* [How to add a save button to the DocumentEditorContainer toolbar](./how-to/add-save-button-in-toolbar)
\ No newline at end of file
+For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
\ No newline at end of file
diff --git a/Document-Processing/Word/Word-Processor/javascript-es6/getting-started.md b/Document-Processing/Word/Word-Processor/javascript-es6/getting-started.md
index fdec477217..1706dd61ae 100644
--- a/Document-Processing/Word/Word-Processor/javascript-es6/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/javascript-es6/getting-started.md
@@ -1,54 +1,20 @@
---
layout: post
-title: Getting started with JavaScript (ES6) Document editor | Syncfusion
-description: Checkout and learn about Getting started with JavaScript (ES6) Document editor control of Syncfusion Essential JS 2 and more details.
+title: Getting Started with JavaScript (ES6) DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in a TypeScript application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
control: Getting started
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started with JavaScript (ES6) Document editor control
+# Getting Started with JavaScript (ES6) DOCX Editor
-This section briefly explains how to create a simple **Document editor** component and configure its available functionalities in TypeScript, using Essential® JS 2 [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-) seed repository.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a TypeScript application.
-> This application uses the latest version of [webpack-cli](https://webpack.js.org/api/cli#commands) integrated with `webpack.config.js` configuration. For more information about webpack and its features, refer to the [webpack documentation](https://webpack.js.org/guides/getting-started/).
+## Steps to create an JavaScript (ES6) DOCX Editor
-## Dependencies
-
-The following list shows the minimum dependencies required to use the Document Editor:
-
-```javascript
-|-- @syncfusion/ej2-documenteditor
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-buttons
- |-- @syncfusion/ej2-calendars
- |-- @syncfusion/ej2-compression
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-file-utils
- |-- @syncfusion/ej2-inputs
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-office-chart
- |-- @syncfusion/ej2-charts
- |-- @syncfusion/ej2-popups
- |-- @syncfusion/ej2-splitbuttons
-```
-
-### Server-side dependencies
-
-The Document editor component requires server-side interactions for the following operations:
-
-* [Open file formats other than SFDT](./import#convert-word-documents-into-sfdt)
-* [Paste with formatting](./clipboard#paste-with-formatting)
-* [Restrict editing](./document-management)
-* [Spell check](./spell-check)
-* [Save as file formats other than SFDT and DOCX](./saving-documents/server-side-export)
-
->Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
-
-For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
-
-## Set up development environment
+### Set up development environment
Open the command prompt from the required directory and run the following command to clone the Syncfusion® JavaScript (Essential® JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-):
@@ -70,9 +36,7 @@ cd ej2-quickstart
{% endhighlight %}
{% endtabs %}
-## Add Syncfusion® JavaScript packages
-
-Syncfusion® JavaScript (Essential® JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install all Syncfusion® JavaScript (Essential® JS 2) controls in a single [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package or individual packages for each control.
+### Install the Syncfusion® Document Editor packages
The quickstart application is preconfigured with the dependent [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package in the `~/package.json` file. Use the following command to install the dependent npm packages:
@@ -84,121 +48,30 @@ npm install
{% endhighlight %}
{% endtabs %}
-## Import the Syncfusion® CSS styles
-
-Syncfusion® JavaScript controls come with [built-in themes](https://ej2.syncfusion.com/documentation/appearance/theme), which are available in the installed packages. It's easy to adapt the Syncfusion® JavaScript controls to match the style of your application by referring to one of the built-in themes.
+### Add CSS reference
-The quickstart application is preconfigured to use the `Material` theme in the `~/src/styles/styles.css` file, as shown below:
+Add the required Syncfusion CSS files to `~/src/styles/styles.css`:
{% tabs %}
{% highlight css tabtitle="style.css" %}
-@import "../../node_modules/@syncfusion/ej2/material.css";
-
-{% endhighlight %}
-{% endtabs %}
-
->Note: To learn more about built-in themes and CSS reference for individual controls, refer to the [themes](https://ej2.syncfusion.com/documentation/appearance/theme) section.
-
-## Adding component
-
-You can add either the DocumentEditorContainer component with predefined toolbar and properties pane options or the DocumentEditor component with customizable options.
-
->Note: Starting from version `v19.3.0.x`, the accuracy of text size measurements has been optimized to match Microsoft Word pagination for most documents. This improvement is enabled by default. You can [disable it to retain the pagination behavior of older versions](./how-to/disable-optimized-text-measuring) if needed.
-
-### Document editor component
-
-The Document editor component is used to create, view, and edit Word documents. With this component, you can customize the UI options based on your requirements to modify documents.
-
-#### Adding Document editor component
-
-You can start adding the Essential® JS 2 Document editor component to the application. Add the DocumentEditor component in the `app.ts` and `index.html` files using the following code.
-
-Place the following code in the `app.ts` file:
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-// Initialize Document editor component
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false,
- height: '370px',
- serviceUrl: 'https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/'
-});
-
-// Enable all built-in modules
-documenteditor.enableAllModules();
-
-// Render the Document editor component
-documenteditor.appendTo('#DocumentEditor');
-
-{% endhighlight %}
-{% endtabs %}
-
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
-
-Add an HTML div element to act as the DocumentEditor element in the `index.html` file:
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
-
- Essential JS 2 Document editor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+@import '../../node_modules/@syncfusion/ej2-base/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-buttons/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-inputs/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-popups/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-lists/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-navigations/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
+@import '../../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
+@import "../../node_modules/@syncfusion/ej2-documenteditor/styles/material.css";
{% endhighlight %}
{% endtabs %}
-#### Run the Document editor application
-The quickstart project is configured to compile and run the application in the browser. Use the following command to run the application:
+## Add the Syncfusion® Document Editor component
-{% tabs %}
-{% highlight bash tabtitle="NPM" %}
-
-npm start
-
-{% endhighlight %}
-{% endtabs %}
-
-The Document editor output will be displayed as follows:
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/javascript-es6/getting-started-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/javascript-es6/getting-started-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/code-snippet/document-editor/javascript-es6/getting-started-cs1" %}
-
-### Document editor Container component
-
-The DocumentEditorContainer is a predefined component that wraps the DocumentEditor, toolbar, properties pane, and status bar into a single component. The toolbar and properties pane allow users to view and modify documents through public APIs available in the DocumentEditor.
-
-#### Adding Document editor Container component
-
-You can start adding the Essential® JS 2 documenteditor container component to the application. Add the DocumentEditorContainer component in the `app.ts` and `index.html` files using the following code.
+You can start adding the Essential® JS 2 Document Editor component to the application. Add the Document Editor in the `app.ts` and `index.html` files using the following code.
Place the following code in the `app.ts` file:
@@ -212,7 +85,8 @@ DocumentEditorContainer.Inject(Toolbar);
let documenteditor: DocumentEditorContainer = new DocumentEditorContainer({
enableToolbar: true,
height: '390px',
- serviceUrl: 'https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/'
+ // Use the following service URL only for demo purposes
+ serviceUrl: 'https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/'
});
documenteditor.appendTo('#DocumentEditor');
@@ -220,16 +94,15 @@ documenteditor.appendTo('#DocumentEditor');
{% endhighlight %}
{% endtabs %}
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
+> The hosted Web API URL is for demo and evaluation purposes only. For production, host your own web service using the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server).
-Add an HTML div element to act as the DocumentEditorContainer element in the `index.html` file:
+Add an HTML div element to act as the Document Editor element in the `index.html` file:
{% tabs %}
{% highlight html tabtitle="index.html" %}
-
Essential JS 2 Document editor
@@ -239,20 +112,18 @@ Add an HTML div element to act as the DocumentEditorContainer element in the `in
-
-
{% endhighlight %}
{% endtabs %}
-#### Run the Document editor Container application
+### Run the application
-The quickstart project is configured to compile and run the application in the browser. Use the following command to run the application:
+Run the application using the following command:
{% tabs %}
{% highlight bash tabtitle="NPM" %}
@@ -262,7 +133,7 @@ npm start
{% endhighlight %}
{% endtabs %}
-The DocumentEditorContainer output will be displayed as follows:
+The Document Editor is displayed as shown below.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -272,13 +143,21 @@ The DocumentEditorContainer output will be displayed as follows:
{% include code-snippet/document-editor/javascript-es6/getting-started-cs2/index.html %}
{% endhighlight %}
{% endtabs %}
-
+
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-).
+
{% previewsample "/document-processing/code-snippet/document-editor/javascript-es6/getting-started-cs2" %}
-## Frequently Asked Questions
+## Server-side dependencies
-* [How to localize the Document editor container](./global-local)
-* [How to load a document by default](./how-to/open-default-document)
-* [How to customize the toolbar](./how-to/customize-tool-bar)
-* [How to resize the Document editor component](./how-to/resize-document-editor)
-* [How to add a save button to the DocumentEditorContainer toolbar](./how-to/add-save-button-in-toolbar)
\ No newline at end of file
+The Document Editor component requires server-side interactions for the following operations:
+
+* Open file formats other than SFDT
+* Paste with formatting
+* Restrict editing
+* Spell check
+* Save as file formats other than SFDT and DOCX
+
+>Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
+
+For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
diff --git a/Document-Processing/Word/Word-Processor/overview.md b/Document-Processing/Word/Word-Processor/overview.md
index c4c54da715..9f26da7432 100644
--- a/Document-Processing/Word/Word-Processor/overview.md
+++ b/Document-Processing/Word/Word-Processor/overview.md
@@ -1,13 +1,13 @@
---
title: Microsoft Word-like Word Processor Component | Syncfusion
-description: View, edit and print Word documents in WPF, JavaScript, Angular, React, Vue, ASP.NET MVC, ASP.NET Core, and Blazor applications without Microsoft Office dependencies.
+description: View, edit and print Word documents in WPF, JavaScript, Angular, React, Vue, ASP.NET MVC, ASP.NET Core, and Blazor applications without Microsoft Office.
platform: document-processing
control: general
documentation: UG
keywords: Word, SDK, view, edit, read, document-editor
---
-# Welcome to Syncfusion® Word Processor Component
+# Welcome to Syncfusion® DOCX Editor Component
-Syncfusion® Word Processor component is a Microsoft Word-like GUI component used to view, edit and print Word documents in WPF, JavaScript, Angular, React, Vue, ASP.NET MVC, ASP.NET Core, and Blazor applications that works without Microsoft Office dependencies. It eases you developers to just integrate this Word editor component to achieve the required Word document viewing, editing functionalities and concentrate on core logics of your application.
+Syncfusion® DOCX Editor component is a Microsoft Word-like GUI component used to view, edit and print Word documents in WPF, JavaScript, Angular, React, Vue, ASP.NET MVC, ASP.NET Core, and Blazor applications that works without Microsoft Office dependencies. It eases you developers to just integrate this Word editor component to achieve the required Word document viewing, editing functionalities and concentrate on core logics of your application.
diff --git a/Document-Processing/Word/Word-Processor/react/getting-started.md b/Document-Processing/Word/Word-Processor/react/getting-started.md
index 130a532efb..424b211d48 100644
--- a/Document-Processing/Word/Word-Processor/react/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/react/getting-started.md
@@ -1,113 +1,50 @@
---
layout: post
-title: Getting started with React Document editor component | Syncfusion
-description: Checkout and learn about Getting started with React Document editor component of Syncfusion Essential JS 2 and more details.
+title: Getting started with React DOCX Editor component | Syncfusion
+description: Learn how to create a DOCX Editor in a React application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
control: Getting started
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started with React Document editor component
+# Getting started with React DOCX Editor
-This section explains the steps to create a Word document editor within your application and demonstrates the basic usage of the Document editor component.
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a React application.
-To get started quickly with DocumentEditor component, you can check the video below.
+## Steps to create React DOCX Editor
-{% youtube "https://www.youtube.com/watch?v=tgJgvbnxdBA" %}
-
-## Prerequisites
-
-[System requirements for Syncfusion® Document editor](https://ej2.syncfusion.com/react/documentation/system-requirement)
-
-## Dependencies
-
-The following list shows the minimum dependencies required to use the Document editor component:
-
-```javascript
-|-- @syncfusion/ej2-react-documenteditor
- |-- @syncfusion/ej2-react-base
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-build
- |-- @syncfusion/ej2-buttons
- |-- @syncfusion/ej2-compression
- |-- @syncfusion/ej2-data
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-file-utils
- |-- @syncfusion/ej2-inputs
- |-- @syncfusion/ej2-lists
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-popups
- |-- @syncfusion/ej2-splitbuttons
- |-- @syncfusion/ej2-documenteditor
- |-- @syncfusion/ej2-charts
-```
-
-### Server-side dependencies
+{% tabcontents %}
-The Document editor component requires server-side interactions for the following operations:
+{% tabcontent TypeScript %}
-* [Open file formats other than SFDT](./import#convert-word-documents-into-sfdt)
-* [Paste with formatting](./clipboard#paste-with-formatting)
-* [Restrict editing](./document-management)
-* [Spell check](./spell-check)
-* [Save as file formats other than SFDT and DOCX](./saving-documents/server-side-export)
+### Prerequisites
->Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
-
-For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
-
-## Setup for local development
-
-To easily set up a React application, use `create-vite-app`, which provides a faster development environment, smaller bundle sizes, and optimized builds compared to traditional tools like `create-react-app`. For detailed steps, refer to the Vite [installation instructions](https://vitejs.dev/guide/). Vite sets up your environment using JavaScript and optimizes your application for production.
-
-> **Note:** To create a React application using `create-react-app`, refer to this [documentation](https://ej2.syncfusion.com/react/documentation/getting-started/create-app) for more details.
+[System requirements for Syncfusion® Document Editor](https://ej2.syncfusion.com/react/documentation/system-requirement)
### Create a new React application
-To create a new React application, run the following command:
-
-```bash
-npm create vite@latest my-app
-```
-
-### Set up TypeScript environment
-
To set up a React application in a TypeScript environment, run the following commands:
```bash
npm create vite@latest my-app -- --template react-ts
cd my-app
-npm run dev
```
-### Set up JavaScript environment
+### Install the Syncfusion® Document Editor packages
-To set up a React application in a JavaScript environment, run the following commands:
-
-```bash
-npm create vite@latest my-app -- --template react
-cd my-app
-npm run dev
-```
+The Syncfusion® Document Editor package is available in the public npm registry and can be installed directly from [`npmjs.com`](https://www.npmjs.com/package/@syncfusion/ej2-react-documenteditor).
-## Adding Syncfusion® packages
-
-All available Essential® JS 2 packages are published in [`npmjs.com`](https://www.npmjs.com/~syncfusionorg) public registry.
-You can choose the component that you want to install.
-
-To install the Document editor component, use the following command:
+To install the Document Editor component, use the following command:
```bash
npm install @syncfusion/ej2-react-documenteditor --save
```
->Note: The `--save` flag instructs npm to include the Document editor package inside the dependencies section of the `package.json` file.
-
-## Adding CSS reference
+### Add CSS reference
-Add the Document editor component and its dependent component styles available in the `node_modules/@syncfusion` package folder. Reference these styles in the `src/App.css` file:
+Add the Document Editor component and its dependent component styles available in the `node_modules/@syncfusion` package folder. Reference these styles in the `src/index.css` file:
```css
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@@ -121,40 +58,31 @@ Add the Document editor component and its dependent component styles available i
@import "../node_modules/@syncfusion/ej2-documenteditor/styles/material.css";
```
->Note: To learn about individual component CSS files, refer to the [Individual Component theme files](https://ej2.syncfusion.com/react/documentation/appearance/theme#referring-individual-control-theme) section.
+### Add the Syncfusion® Document Editor component
-## Choosing a component
-
-* **DocumentEditorContainer**: A complete solution with a predefined toolbar and properties pane for comprehensive document editing
-* **DocumentEditor**: A customizable component where you build the UI according to your specific requirements
-
->Note: Starting from version `v19.3.0.x`, the text size measurement accuracy has been optimized to match Microsoft Word pagination for most documents. This improvement is enabled by default. You can [disable it to retain the pagination behavior of older versions](./how-to/disable-optimized-text-measuring) if needed.
-
-### DocumentEditorContainer component
-
-The DocumentEditorContainer component provides a complete document editing experience with a predefined toolbar and properties pane, allowing users to create, view, and edit Word documents with minimal configuration.
-
-#### Adding DocumentEditorContainer component
-
-Add the DocumentEditorContainer component to your application. In the `src/App.tsx` file, add the following code to initialize the component:
+Add the Document Editor component to your application. In the `src/App.tsx` file, add the following code to initialize the component:
{% raw %}
```ts
import * as React from 'react';
-import { DocumentEditorContainerComponent, Toolbar } from '@syncfusion/ej2-react-documenteditor';
+import {
+ DocumentEditorContainerComponent,
+ Toolbar
+} from '@syncfusion/ej2-react-documenteditor';
DocumentEditorContainerComponent.Inject(Toolbar);
function App() {
- return (
-
- );
+ );
}
export default App;
@@ -162,131 +90,94 @@ export default App;
{% endraw %}
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
+> The hosted Web API URL is for demo and evaluation purposes only. For production, host your own web service using the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server).
-#### Run the DocumentEditorContainer application
+### Run the application
-Run the following command in the console to start the development server:
+Run the application using the following command:
```bash
npm run dev
```
+Open http://localhost:3000 in your browser to run the application.
-The DocumentEditorContainer output will be displayed as follows:
+The Document Editor is displayed as shown below.
{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/document-editor/react/base-cs3/app/index.jsx %}
-{% endhighlight %}
{% highlight ts tabtitle="app.tsx" %}
{% include code-snippet/document-editor/react/base-cs3/app/index.tsx %}
{% endhighlight %}
-{% highlight html tabtitle="app.html" %}
-{% include code-snippet/document-editor/react/base-cs3/index.html %}
-{% endhighlight %}
{% endtabs %}
-
+
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/getting-started-with-the-react-document-editor-component).
+
{% previewsample "/document-processing/code-snippet/document-editor/react/base-cs3" %}
-### DocumentEditor component
+{% endtabcontent %}
-The DocumentEditor component provides a flexible foundation for creating, viewing, and editing Word documents. Unlike DocumentEditorContainer, this component allows you to customize the UI options based on your specific requirements.
+{% tabcontent JavaScript %}
-#### Adding DocumentEditor component
-Add the DocumentEditor component to your application. In the `src/App.tsx` file, add the following code to initialize the component with the required services:
+### Prerequisites
-```ts
+[System requirements for Syncfusion® Document Editor](https://ej2.syncfusion.com/react/documentation/system-requirement)
+
+### Create a new React application
+
+To set up a React application in a JavaScript environment, run the following commands:
+
+```bash
+npm create vite@latest my-app -- --template react
+cd my-app
+```
+
+### Install the Syncfusion® Document Editor packages
+
+The Syncfusion® Document Editor package is available in the public npm registry and can be installed directly from [`npmjs.com`](https://www.npmjs.com/~syncfusionorg).
+
+
+To install the Document Editor component, use the following command:
+
+```bash
+npm install @syncfusion/ej2-react-documenteditor --save
+```
+
+### Add CSS reference
+
+Add the Document Editor component and its dependent component styles available in the `node_modules/@syncfusion` package folder. Reference these styles in the `src/index.css` file:
+
+```css
+@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-lists/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
+@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
+@import "../node_modules/@syncfusion/ej2-documenteditor/styles/material.css";
+```
+
+### Add the Syncfusion® Document Editor component
+
+Add the Document Editor component to your application. In the `src/App.jsx` file, add the following code to initialize the component:
+
+{% raw %}
+
+```js
import * as React from 'react';
-import {
- DocumentEditorComponent,
- Print,
- SfdtExport,
- WordExport,
- TextExport,
- Selection,
- Search,
- Editor,
- ImageResizer,
- EditorHistory,
- ContextMenu,
- OptionsPane,
- HyperlinkDialog,
- TableDialog,
- BookmarkDialog,
- TableOfContentsDialog,
- PageSetupDialog,
- StyleDialog,
- ListDialog,
- ParagraphDialog,
- BulletsAndNumberingDialog,
- FontDialog,
- TablePropertiesDialog,
- BordersAndShadingDialog,
- TableOptionsDialog,
- CellOptionsDialog,
- StylesDialog
-} from '@syncfusion/ej2-react-documenteditor';
+import { DocumentEditorContainerComponent, Toolbar } from '@syncfusion/ej2-react-documenteditor';
-DocumentEditorComponent.Inject(
- Print,
- SfdtExport,
- WordExport,
- TextExport,
- Selection,
- Search,
- Editor,
- ImageResizer,
- EditorHistory,
- ContextMenu,
- OptionsPane,
- HyperlinkDialog,
- TableDialog,
- BookmarkDialog,
- TableOfContentsDialog,
- PageSetupDialog,
- StyleDialog,
- ListDialog,
- ParagraphDialog,
- BulletsAndNumberingDialog,
- FontDialog,
- TablePropertiesDialog,
- BordersAndShadingDialog,
- TableOptionsDialog,
- CellOptionsDialog,
- StylesDialog
-);
+DocumentEditorContainerComponent.Inject(Toolbar);
function App() {
return (
-
);
}
@@ -294,36 +185,51 @@ function App() {
export default App;
```
-> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` used in the Document editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, host your own web service with the required server configurations. Refer to the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or use the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service.
+{% endraw %}
+
+> The hosted Web API URL is for demo and evaluation purposes only. For production, host your own web service using the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or the [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server).
-#### Run the DocumentEditor application
+### Run the application
-Run the following command to compile and start the application:
+Run the application using the following command:
```bash
npm run dev
```
+Open http://localhost:3000 in your browser to run the application.
-The Document editor output will be displayed as follows:
+The Document Editor is displayed as shown below.
{% tabs %}
-{% highlight js tabtitle="App.jsx" %}
-{% include code-snippet/document-editor/react/base-cs2/app/index.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="App.tsx" %}
-{% include code-snippet/document-editor/react/base-cs2/app/index.tsx %}
-{% endhighlight %}
-{% highlight html tabtitle="App.html" %}
-{% include code-snippet/document-editor/react/base-cs2/index.html %}
+{% highlight ts tabtitle="app.jsx" %}
+{% include code-snippet/document-editor/react/base-cs3/app/index.jsx %}
{% endhighlight %}
{% endtabs %}
+
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/getting-started-with-the-react-document-editor-component).
-{% previewsample "/document-processing/code-snippet/document-editor/react/base-cs2" %}
+{% previewsample "/document-processing/code-snippet/document-editor/react/base-cs3" %}
+
+{% endtabcontent %}
+
+{% endtabcontents %}
-## Frequently Asked Questions
+## Video tutorial
+
+To get started quickly with Document Editor component, you can check the video below.
+
+{% youtube "https://www.youtube.com/watch?v=tgJgvbnxdBA" %}
-* [How to localize the Document editor container](./global-local)
-* [How to load a document by default](./how-to/open-default-document)
-* [How to customize the toolbar](./how-to/customize-tool-bar)
-* [How to resize the Document editor component](./how-to/resize-document-editor)
-* [How to add a save button to the DocumentEditorContainer toolbar](./how-to/add-save-button-in-toolbar)
+## Server-side dependencies
+
+The Document Editor component requires server-side interactions for the following operations:
+
+* Open file formats other than SFDT
+* Paste with formatting
+* Restrict editing
+* Spell check
+* Save as file formats other than SFDT and DOCX
+
+>Note: If you don't require the above functionalities, you can deploy the component as a pure client-side solution without any server-side interactions.
+
+For detailed information about server-side dependencies, refer to the [Web Services Overview](./web-services-overview) page.
diff --git a/Document-Processing/Word/Word-Processor/vue/getting-started.md b/Document-Processing/Word/Word-Processor/vue/getting-started.md
index cc86783613..b7f6a70104 100644
--- a/Document-Processing/Word/Word-Processor/vue/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/vue/getting-started.md
@@ -1,60 +1,25 @@
---
layout: post
-title: Getting started with Vue Document editor component | Syncfusion
-description: Checkout and learn about Getting started with Vue Document editor component of Syncfusion Essential JS 2 and more details.
-control: Getting started
+title: Getting Started with Vue DOCX Editor | Syncfusion
+description: Learn how to create a DOCX Editor in a Vue application using the Syncfusion® Document Editor control to create, edit, and view Word documents.
platform: document-processing
+control: Getting started
documentation: ug
domainurl: ##DomainURL##
---
-# Getting Started with the Vue DocumentEditor Component in Vue 2
+# Getting Started with Vue DOCX Editor in Vue 2
-To get started quickly with the Vue DocumentEditor component, view the getting-started video: https://www.syncfusion.com/tutorial-videos/vue/word-processor?title=getting-started-with-the-vue-word-processor
+Syncfusion® DOCX Editor (Document Editor) enables you to create, edit, view, and print Word documents in web applications. This section guides you through the steps to get started and create a DOCX Editor in a Vue application.
-This article provides a step-by-step guide for setting up a Vue 2 project using [Vue-CLI](https://cli.vuejs.org/) and integrating the Syncfusion® Vue Document Editor component
+## Steps to create a Vue DOCX Editor
-## Prerequisites
+### Prerequisites
[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements)
-## Dependencies
-
-The list of dependencies required to use the Document Editor component in your application is given below:
-
-```javascript
-|-- @syncfusion/ej2-vue-documenteditor
-|-- @syncfusion/ej2-vue-base
- |-- @syncfusion/ej2-documenteditor
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-buttons
- |-- @syncfusion/ej2-compression
- |-- @syncfusion/ej2-data
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-file-utils
- |-- @syncfusion/ej2-inputs
- |-- @syncfusion/ej2-lists
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-popups
- |-- @syncfusion/ej2-splitbuttons
- |-- @syncfusion/ej2-charts
-```
-
-### Server side dependencies
-
-The Document Editor component requires server-side interactions for the following operations:
-
-* [Open file formats other than SFDT](./import#convert-word-documents-into-sfdt)
-* [Paste with formatting](./clipboard#paste-with-formatting)
-* [Restrict editing](./document-management)
-* [Spell check](./spell-check)
-* [Save as file formats other than SFDT and DOCX](./saving-documents/server-side-export)
-
->Note: If these features are not required, the component can be deployed as a client-side solution without server-side interactions.
-
-To know about server-side dependencies, please refer this [page](./web-services-overview).
-## Setting up the Vue 2 project
+### Setting up the Vue 2 project
To generate a Vue 2 project using Vue-CLI, use the [vue create](https://cli.vuejs.org#getting-started) command. Follow these steps to install Vue CLI and create a new project:
Using npm (global Vue CLI):
@@ -81,11 +46,12 @@ When creating a new project, choose the option `Vue 2` from the menu.
Once the `quickstart` project is set up with default settings, proceed to add Syncfusion® components to the project.
-## Add Syncfusion® Vue packages
-Syncfusion® packages are available at [`npmjs.com`](https://www.npmjs.com/search?q=ej2-vue). To use Vue components, install the required npm package.
+### Install the Syncfusion® Document Editor packages
-This article uses the [Vue Document editor component](https://www.syncfusion.com/vue-components/vue-wysiwyg-document-editor) as an example. Install the `@syncfusion/ej2-vue-documenteditor` package by running the following command:
+The Syncfusion® DOCX Editor package is available in the public npm registry and can be installed directly from [`npmjs.com`](https://www.npmjs.com/package/@syncfusion/ej2-vue-documenteditor).
+
+To install the Document Editor component, use the following command:
```bash
npm install @syncfusion/ej2-vue-documenteditor --save
@@ -97,181 +63,89 @@ or
yarn add @syncfusion/ej2-vue-documenteditor
```
-## Import Syncfusion® CSS styles
+### Add CSS reference
You can import themes for the Syncfusion® Vue component in various ways, such as using CSS or SASS styles from npm packages, CDN, [CRG](https://ej2.syncfusion.com/javascript/documentation/common/custom-resource-generator) and [Theme Studio](https://ej2.syncfusion.com/vue/documentation/appearance/theme-studio). Refer to [themes topic](https://ej2.syncfusion.com/vue/documentation/appearance/theme) to know more about built-in themes and different ways to refer to themes in a Vue project.
-In this article, the `Material` theme is applied using CSS styles, which are available in installed packages. The necessary `Material` CSS styles for the Document editor component and its dependents were imported into the `