Skip to content

Commit 466a2b0

Browse files
Merge branch 'development' into EJ2-1044131-CoreRevamp4
2 parents 82b0780 + 989675d commit 466a2b0

58 files changed

Lines changed: 3055 additions & 506 deletions

File tree

Some content is hidden

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

Document-Processing-toc.html

Lines changed: 275 additions & 256 deletions
Large diffs are not rendered by default.

Document-Processing/Excel/Excel-Library/NET/Cells-Manipulation/Sorting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ A range of cells in Excel worksheet can be sorted based on data in one or more c
1414
* Font Color
1515
* Cell Color
1616

17-
N> Currently XlsIO dont support sorting based on cell icon, parsing and serialization of its sorting details.
17+
N> Currently XlsIO don't support sorting based on cell icon, parsing and serialization of its sorting details.
1818

1919
## Cell Values
2020

Document-Processing/Excel/Excel-Library/NET/Working-with-Excel-Tables.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ A complete working example to apply custom table style in C# is present on [this
507507

508508
The following screenshot represents generated Excel file with custom table styles in XlsIO.
509509

510-
![custom table style](Working-with-Excel-Tables_images/Working-with-Tables_img1.jpg)
510+
![custom table style](Working-with-pivot-tables_images/Working-with-Tables_img1.jpg)
511511

512512
N> The [TableStyles](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.ITableStyles.html) API only retrieves custom table styles.
513513

@@ -662,7 +662,7 @@ End Using
662662

663663
A complete working example to insert total row in C# is present on [this GitHub page](https://github.com/SyncfusionExamples/XlsIO-Examples/tree/master/Create%20and%20Edit%20Table/Add%20Total%20Row/.NET/Add%20Total%20Row).
664664

665-
## Create a table from external connectionÂ
665+
## Create a table from external connection
666666

667667
External connection support allows you to work with the most recent data right in the workbook. After the data is imported, only refresh operations are performed to retrieve the updated data.
668668

Document-Processing/Excel/Excel-Library/NET/Working-with-Pictures.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ documentation: UG
88
# Working with Pictures
99

1010
XlsIO supports inserting pictures into a worksheet. Refer to the following code snippet.
11+
{% tabs %}
1112
{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/Pictures%20in%20Excel/Add%20Picture/.NET/Add%20Picture/Add%20Picture/Program.cs,180" %}
1213
using (ExcelEngine excelEngine = new ExcelEngine())
1314
{
@@ -478,10 +479,10 @@ Using excelEngine As ExcelEngine = New ExcelEngine()
478479
Dim workbook As IWorkbook = application.Workbooks.Create(1)
479480
Dim worksheet As IWorksheet = workbook.Worksheets(0)
480481

481-
'Add image from the specified url at the specified location in the worksheet
482+
'Add image from the specified url at the specified location in the worksheet
482483
worksheet.Pictures.AddPictureAsLink(1, 1, 5, 7, "https://cdn.syncfusion.com/content/images/company-logos/Syncfusion_Logo_Image.png")
483484

484-
'Save workbook
485+
'Save workbook
485486
workbook.SaveAs("ExternalImage.xlsx")
486487
End Using
487488
{% endhighlight %}
@@ -530,7 +531,7 @@ using (ExcelEngine excelEngine = new ExcelEngine())
530531
FileStream svgStream = new FileStream("Sample.svg", FileMode.Open);
531532
FileStream pngStream = new FileStream("Sample.png", FileMode.Open);
532533

533-
//Add svg image with given svg and png streams
534+
//Add svg image with given svg and png streams
534535
worksheet.Pictures.AddPicture(1, 1, svgStream, pngStream);
535536

536537
//Save workbook
@@ -548,10 +549,10 @@ Using excelEngine As ExcelEngine = New ExcelEngine()
548549
Dim svgStream As New FileStream("Sample.svg", FileMode.Open)
549550
Dim pngStream As New FileStream("Sample.png", FileMode.Open)
550551

551-
'Add svg image with given svg and png streams
552+
'Add svg image with given svg and png streams
552553
worksheet.Pictures.AddPicture(1, 1, svgStream, pngStream)
553554

554-
'Save workbook
555+
'Save workbook
555556
workbook.SaveAs("Svg.xlsx")
556557
End Using
557558
{% endhighlight %}
@@ -618,7 +619,7 @@ Using excelEngine As ExcelEngine = New ExcelEngine()
618619

619620
shape.PlaceInCell = True
620621

621-
'Save workbook
622+
'Save workbook
622623
workbook.SaveAs("PlaceInCellPicture.xlsx")
623624
End Using
624625
{% endhighlight %}

Document-Processing/PDF/PDF-Library/NET/Working-with-Images.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,15 +285,43 @@ Syncfusion<sup>&reg;</sup> PDF supports adding metafile vector images. During th
285285
* EMF Plus Dual
286286
* WMF (Windows Metafile)
287287

288-
The [PdfMetafile](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Graphics.PdfMetafile.html) class is used to load metafile images. The [PdfMetafileLayoutFormat](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Graphics.PdfMetafileLayoutFormat.html) class allows you to control how the metafile is paginated across multiple pages, including options to split text and images at page boundaries.
288+
For cross-platform .NET applications, install the [Syncfusion.MetafileRenderer.Net.Core](https://www.nuget.org/packages/Syncfusion.MetafileRenderer.Net.Core) NuGet package from [NuGet.org](https://www.nuget.org/). This package provides the `MetafileRenderer` class, which converts EMF and WMF streams into PDF templates that can be rendered in PDF documents.
289289

290-
The following code example illustrates this,
290+
For Windows-specific applications, The [PdfMetafile](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Graphics.PdfMetafile.html) class loads EMF images, and the [PdfMetafileLayoutFormat](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Graphics.PdfMetafileLayoutFormat.html) class allows you to control how text and images are split across pages in the PDF document. The following code example illustrates this.
291291

292292
{% tabs %}
293293

294294
{% highlight c# tabtitle="C# [Cross-platform]" %}
295295

296-
//PDF doesn't support inserting a vector image C#.NET Cross platforms.
296+
using Syncfusion.Drawing;
297+
using Syncfusion.Metafile;
298+
using Syncfusion.Pdf;
299+
using Syncfusion.Pdf.Graphics;
300+
301+
//Create a new PDF document.
302+
PdfDocument document = new PdfDocument();
303+
//Open the EMF file as a stream.
304+
using (FileStream metafileStream = new FileStream("Input.emf", FileMode.Open, FileAccess.Read))
305+
{
306+
//Create a new instance of the MetafileRenderer class.
307+
MetafileRenderer renderer = new MetafileRenderer();
308+
//Convert the Metafile stream to a PdfTemplate.
309+
PdfTemplate template = renderer.ConvertToPdfTemplate(metafileStream);
310+
//Set the page size to match the template size.
311+
document.PageSettings.Size = new Syncfusion.Drawing.SizeF(template.Size);
312+
//Remove page margins.
313+
document.PageSettings.Margins.All = 0;
314+
//Add a page to the document.
315+
PdfPage page = document.Pages.Add();
316+
//Get the PDF page graphics.
317+
PdfGraphics graphics = page.Graphics;
318+
//Draw the template on the PDF page.
319+
graphics.DrawPdfTemplate(template, PointF.Empty);
320+
}
321+
//Save the PDF document.
322+
document.Save("Output.pdf");
323+
//Close the document.
324+
document.Close(true);
297325

298326
{% endhighlight %}
299327

@@ -359,7 +387,11 @@ doc.Close(True)
359387

360388
{% endtabs %}
361389

362-
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Images/Insert-vector-image-in-a-PDF-document/).
390+
You can download a complete working Cross-platform sample from [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Images/Converting-Metafile-to-PDF/.NET).
391+
392+
You can download a complete working Window-specific sample from [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Images/Insert-vector-image-in-a-PDF-document/).
393+
394+
N> EMF and WMF images can be converted on cross-platform .NET applications by using the `Syncfusion.MetafileRenderer.Net.Core` NuGet package. On Windows-specific platforms, you can also use the PdfMetafile class for rendering Metafile images directly into PDF documents.
363395

364396
## Working with image masking
365397

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
---
2+
title: Syncfusion Angular PDF Viewer MCP Server Setup | Syncfusion
3+
description: Discover the MCP server's advantages, installation requirements, and integration guidance for Angular PDF Viewer.
4+
platform: document-processing
5+
control: PDF Viewer
6+
documentation: ug
7+
domainurl: ##DomainURL##
8+
---
9+
10+
# Syncfusion Angular PDF Viewer MCP Server
11+
12+
Syncfusion<sup style="font-size:70%">&reg;</sup> Angular PDF Viewer MCP Server accelerates Angular PDF Viewer application development by providing deep knowledge directly in your AI-powered IDE. [Model Context Protocol](https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro) (MCP) integration enables quick access to documentation, API references, and code-generation features from within the development environment.
13+
14+
These tools speed up development and reinforce best practices for Angular PDF Viewer integration.
15+
> The previously available **Agentic UI Builder** (`#sf_angular_ui_builder`) has been upgraded to an **Agent skill-based experience** and is no longer part of the MCP Server. To learn more about the new **Agentic UI Builder**, see the [documentation](./ui-builder-skill). The **AI Coding Assistant** (#sf_angular_assistant) has been **renamed** to **search_docs** (`#search_docs`) to ensure the tool name follows MCP naming conventions.
16+
17+
## Key Benefits
18+
19+
- **Expert PDF Viewer Knowledge** - Deep understanding of the Angular PDF Viewer component and its implementation patterns.
20+
- **Unlimited Usage** - No request limits, time restrictions, or query caps.
21+
- **Privacy-Focused** - The tools operate based on the user's query and do not store any content, data, or prompts.
22+
23+
## Installation
24+
25+
### Prerequisites
26+
27+
Before beginning, ensure the following prerequisites are met:
28+
29+
- [Node.js 18+](https://nodejs.org/en/download) with **npm** or **yarn**
30+
- A **compatible MCP client** (VS Code, Syncfusion<sup style="font-size:70%">&reg;</sup> Code Studio, Cursor, JetBrains, etc.)
31+
- An active [Syncfusion<sup style="font-size:70%">&reg;</sup> API key](https://syncfusion.com/account/api-key)
32+
- An **Angular application** (existing or new); see [Angular PDF Viewer documentation](./getting-started)
33+
- An active Syncfusion<sup style="font-size:70%">&reg;</sup> license (any of the following):
34+
- [Commercial License](https://www.syncfusion.com/sales/unlimitedlicense)
35+
- [Free Community License](https://www.syncfusion.com/products/communitylicense)
36+
- [Free Trial](https://www.syncfusion.com/account/manage-trials/start-trials)
37+
38+
### Getting Your API Key
39+
40+
Generate the Syncfusion<sup style="font-size:70%">&reg;</sup> API key from the [API Key page](https://www.syncfusion.com/account/api-key) and store it in a `.txt` or `.key` file. The saved file will be referenced in the MCP configuration:
41+
42+
````json
43+
"env": {
44+
"Syncfusion_API_Key_Path": "D:\\syncfusion-key.txt"
45+
}
46+
````
47+
48+
> Alternatively, the API key can also be set directly using `"Syncfusion_API_Key": "YOUR_API_KEY"` in the env configuration. Using a file path is recommended to keep the key out of source control.
49+
50+
### Setting Up in MCP Clients
51+
52+
Create a configuration file in your project folder to install the server for your workspace. **Replace `YOUR_API_KEY_FILE_PATH` with the path to your API key file.**
53+
54+
{% tabs %}
55+
{% highlight bash tabtitle="VS Code" %}
56+
57+
// Create a `.vscode/mcp.json` file in your workspace:
58+
59+
{
60+
"servers": {
61+
"sf-angular-mcp": {
62+
"type": "stdio",
63+
"command": "npx",
64+
"args": ["-y", "@syncfusion/angular-mcp@latest"],
65+
"env": {
66+
"Syncfusion_API_Key_Path": "YOUR_API_KEY_FILE_PATH"
67+
// or
68+
// "Syncfusion_API_Key": "YOUR_API_KEY"
69+
}
70+
}
71+
}
72+
}
73+
74+
{% endhighlight %}
75+
{% highlight bash tabtitle="Code Studio" %}
76+
77+
// Create a `.codestudio/mcp.json` file in your workspace:
78+
79+
{
80+
"servers": {
81+
"sf-angular-mcp": {
82+
"type": "stdio",
83+
"command": "npx",
84+
"args": ["-y", "@syncfusion/angular-mcp@latest"],
85+
"env": {
86+
"Syncfusion_API_Key_Path": "YOUR_API_KEY_FILE_PATH"
87+
// or
88+
// "Syncfusion_API_Key": "YOUR_API_KEY"
89+
}
90+
}
91+
}
92+
}
93+
94+
// After creating the file, click Start in the inline action to install the server.
95+
96+
{% endhighlight %}
97+
{% highlight bash tabtitle="Cursor" %}
98+
99+
// Create a `.cursor/mcp.json` file in your workspace:
100+
101+
{
102+
"mcpServers": {
103+
"sf-angular-mcp": {
104+
"command": "npx",
105+
"args": ["-y", "@syncfusion/angular-mcp@latest"],
106+
"env": {
107+
"Syncfusion_API_Key_Path": "YOUR_API_KEY_FILE_PATH"
108+
// or
109+
// "Syncfusion_API_Key": "YOUR_API_KEY"
110+
}
111+
}
112+
}
113+
}
114+
115+
{% endhighlight %}
116+
{% highlight bash tabtitle="JetBrains" %}
117+
118+
// Open AI Assistant chat, type /, and select Add Command.
119+
// Click ➕ Add on the MCP settings page.
120+
// Choose STDIO and select JSON configuration:
121+
122+
{
123+
"mcpServers": {
124+
"sf-angular-mcp": {
125+
"command": "npx.cmd",
126+
"args": [
127+
"-y",
128+
"@syncfusion/angular-mcp@latest"
129+
],
130+
"env": {
131+
"Syncfusion_API_Key_Path": "YOUR_API_KEY_FILE_PATH"
132+
// or
133+
// "Syncfusion_API_Key": "YOUR_API_KEY"
134+
}
135+
}
136+
}
137+
}
138+
139+
// Click OK, then click Apply. The server starts and shows Connected status.
140+
141+
{% endhighlight %}
142+
{% endtabs %}
143+
144+
**Verifying Installation** Check your editor's MCP Server list for `sf-angular-mcp` with a **Connected** status to confirm a successful installation.
145+
146+
## Common use cases
147+
148+
The examples below showcase how the `search_docs` tool handles real-world Angular PDF Viewer development scenarios. The tool can be invoked directly, as shown in the examples below, for specific needs. Alternatively, an AI assistant can automatically invoke it based on the request.
149+
150+
**Get Started**
151+
152+
Use `search_docs` to get contextual guidance, code snippets, and configuration examples for the Angular PDF Viewer component.
153+
154+
{% promptcards %}
155+
{% promptcard Standalone Component Configuration %}
156+
#search_docs How do I configure the Syncfusion Angular Standalone PDF Viewer Component?
157+
{% endpromptcard %}
158+
{% endpromptcards %}
159+
160+
**Implement Features**
161+
162+
Get step-by-step help for adding specific features to the Angular PDF Viewer.
163+
164+
{% promptcards %}
165+
{% promptcard Form Designer %}
166+
#search_docs How can I enable Form Designer in Angular PDF Viewer?
167+
{% endpromptcard %}
168+
{% endpromptcards %}
169+
170+
{% promptcards %}
171+
{% promptcard Fit to Viewport %}
172+
#search_docs Provide API for Fit the entire page to the viewport in Angular PDF viewer
173+
{% endpromptcard %}
174+
{% endpromptcards %}
175+
176+
{% promptcards %}
177+
{% promptcard Programmatic Printing %}
178+
#search_docs how to programmatically trigger printing in the Angular PDF Viewer?
179+
{% endpromptcard %}
180+
{% endpromptcards %}
181+
182+
**Configuration & Troubleshooting**
183+
184+
Get help configuring network behavior and resolving loading issues in the Angular PDF Viewer.
185+
186+
{% promptcards %}
187+
{% promptcard Retry Timeout %}
188+
#search_docs How to Configure Retry Timeout for Angular PDF Viewer Requests.
189+
{% endpromptcard %}
190+
{% endpromptcards %}
191+
192+
{% promptcards %}
193+
{% promptcard Document Loading Issue %}
194+
#search_docs Document not Loading Newer version in Angular PDF Viewer.
195+
{% endpromptcard %}
196+
{% endpromptcards %}
197+
198+
## Best Practices
199+
200+
To get the most out of the Syncfusion<sup style="font-size:70%">&reg;</sup> Angular PDF Viewer MCP Server:
201+
202+
- **Be Specific** - Include the component and use case in your queries (for example, *"Load a PDF from a remote URL into the Angular PDF Viewer and enable annotation export"*).
203+
- **Provide Context** - Include applicable versions, expected outcomes, and any requirements or limitations that may affect the request.
204+
- **Use Descriptive Queries** - Avoid overly brief or ambiguous requests. Providing sufficient detail helps improve the accuracy and relevance of the response.
205+
- **Stay Consistent** - Keep file organization, naming conventions, and coding standards consistent throughout your Angular project.
206+
- **Start Fresh for New Topics** - Begin a new chat when switching to a different feature or task to maintain clean context.
207+
- **Use Advanced AI Models** - For the best results, use advanced AI models such as the latest-generation **Claude**, **GPT**, or **Gemini** models.
208+
- **For Troubleshooting** - Use AI suggestions for common issues; consult the [official documentation](./getting-started) or [support](https://support.syncfusion.com/support/tickets/create) for complex problems.
209+
- **Minimize Active Tools** - Limit the number of active MCP tools in your IDE to prevent tool-selection ambiguity and improve response accuracy.
210+
211+
> Always review AI-generated code before using it in production.
212+
213+
## Troubleshooting
214+
215+
The table below lists frequently encountered issues and suggested resolutions to help diagnose and address common setup or usage challenges.
216+
217+
| Issue | Solution |
218+
|-------|----------|
219+
| **Server failed to start** | Verify Node.js 18+ is installed, check JSON syntax in the config file, and restart your IDE. |
220+
| **Invalid API key** | Verify your key is active at the [Syncfusion Account Page](https://syncfusion.com/account/api-key). |
221+
| **Incorrect API key config** | For the file path: verify file location and content. For inline key: check the key is correctly updated. |
222+
| **Wrong config file location** | VS Code: `.vscode/mcp.json` • Code Studio: `.codestudio/mcp.json` • Cursor: `.cursor/mcp.json` in the workspace root. |
223+
| **Check IDE logs** | VS Code / Code Studio: Output panel → "MCP" • Cursor: Developer Console for MCP errors. |
224+
225+
## Privacy & Security
226+
227+
The Syncfusion<sup style="font-size:70%">&reg;</sup> MCP Servers are designed with privacy considerations:
228+
229+
* The tools process requests according to the user's query without storing any content or prompts.
230+
* User prompts are not stored or used for other purposes.
231+
* Prompts are not used to train Syncfusion models.
232+
* The assistant provides context; the final output is produced by the selected AI model.
233+
234+
The MCP Server acts purely as a knowledge bridge, connecting your AI model with Syncfusion-specific expertise while respecting your privacy and maintaining security.
235+
236+
## See also
237+
238+
- [Model Context Protocol](https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro)

0 commit comments

Comments
 (0)