Skip to content

Commit 6d15b6d

Browse files
1012753: Feedback addressed
1 parent 43b33f5 commit 6d15b6d

17 files changed

Lines changed: 147 additions & 54 deletions

Document-Processing-toc.html

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4679,7 +4679,7 @@
46794679
<a href="/document-processing/word/word-library/net/Working-with-SmartArts">Working with SmartArts</a>
46804680
</li>
46814681
<li>
4682-
<a href="/document-processing/word/word-library/net/Working-with-Ink">Working with Inks</a>
4682+
<a href="/document-processing/word/word-library/net/Working-with-Ink">Working with Ink</a>
46834683
</li>
46844684
<li>
46854685
<a href="/document-processing/word/word-library/net/Working-with-Charts">Working with Charts</a>
@@ -7703,6 +7703,19 @@
77037703
</li>
77047704
</ul>
77057705
</li>
7706+
<li>
7707+
<a href="/document-processing/common/overview">Common</a>
7708+
<ul>
7709+
<li>
7710+
<a href="/document-processing/common/font-manager/overview">Font Manager</a>
7711+
<ul>
7712+
<li>
7713+
<a href="/document-processing/common/font-manager/how-does-syncfusion-document-processing-manage-fonts">How does Syncfusion Document Processing manage fonts during Office to PDF/Image conversions and PDF processing workflows?</a>
7714+
</li>
7715+
</ul>
7716+
</li>
7717+
</ul>
7718+
</li>
77067719
<li>
77077720
<a href="/document-processing/web-apis/overview">Web APIs</a>
77087721
<ul>
@@ -7776,9 +7789,6 @@
77767789
<li>
77777790
<a href="/document-processing/frequently-asked-question">FAQ</a>
77787791
<ul>
7779-
<li>
7780-
<a href="/document-processing/faq/how-does-syncfusion-document-processing-manage-fonts">How does Syncfusion Document Processing manage fonts during Office to PDF/Image conversions and PDF processing workflows?</a>
7781-
</li>
77827792
<li>
77837793
<a href="/document-processing/faq/how-to-resolve-libskiasharp-not-found-exception-in-net8-and-net9-on-linux">How to resolve LibSkiaSharp not found exception specifically while using SkiaSharp version upto v2.88.8 in .NET 8 and .NET 9 applications hosted on AWS Linux?</a>
77847794
</li>

Document-Processing/FAQ/how-does-syncfusion-document-processing-manage-fonts.md renamed to Document-Processing/Common/Font-Manager/how-does-syncfusion-document-processing-manage-fonts.md

Lines changed: 51 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -15,45 +15,58 @@ To address this challenge, Syncfusion Document Processing libraries introduce th
1515

1616
## Key Features
1717

18-
* Shared font caching: Stores fonts in a unified cache to prevent repeated loading across operations.
19-
* Memory reduction: Eliminates duplicate font objects, reducing memory usage during large-scale or parallel document conversions.
20-
* Performance optimization: Enables multiple threads to safely reuse the same font instances, improving processing speed.
21-
* Automatic cleanup: Automatically disposes unused fonts after a configurable delay (FontManager.Delay) to maintain efficiency in long-running applications.
22-
* Manual cache management: Provides FontManager.ClearCache() to immediately clear all cached fonts when needed (e.g., during server shutdown).
18+
* **Shared font caching:** Stores fonts in a unified cache to prevent repeated loading across operations.
19+
* **Memory reduction:** Eliminates duplicate font objects, reducing memory usage during large-scale or parallel document conversions.
20+
* **Performance optimization:** Enables multiple threads to safely reuse the same font instances, improving processing speed.
21+
* **Automatic cleanup:** Automatically disposes unused fonts after a configurable delay (FontManager.Delay) to maintain efficiency in long-running applications.
22+
* **Manual cache management:** Provides FontManager.ClearCache() to immediately clear all cached fonts when needed (e.g., during server shutdown).
2323

2424
## Supported Conversions and Workflows
2525

2626
FontManager optimizes memory usage across the following Office to PDF/Image conversions and PDF processing scenarios:
2727

28-
### Office Document Conversions
29-
30-
**Word Library (DocIO)**
31-
32-
* Word to PDF conversion.
33-
* Word to Image conversion.
34-
35-
**Excel Library (XlsIO)**
36-
37-
* Excel to PDF conversion.
38-
* Excel to Image conversion.
39-
40-
**PowerPoint Library (Presentation)**
41-
42-
* PowerPoint to PDF conversion.
43-
* PowerPoint to Image conversion.
44-
45-
### PDF Processing Workflows
46-
47-
**PDF Library Operations**
48-
49-
* PDF creation and manipulation
50-
* PDF merging and splitting
51-
* PDF form filling and flattening
52-
* PDF page extraction and insertion
53-
* Adding text, images, and annotations to PDF
54-
* PDF redaction and security
55-
* PDF/A conformance
56-
* OCR text extraction
28+
<table>
29+
<tr>
30+
<th>Category</th>
31+
<th>Details</th>
32+
</tr>
33+
<tr>
34+
<td><b>Office Document Conversions</b></td>
35+
<td>
36+
<b>Word Library (DocIO)</b>
37+
<ul>
38+
<li>Word to PDF conversion.</li>
39+
<li>Word to Image conversion.</li>
40+
</ul>
41+
<b>Excel Library (XlsIO)</b>
42+
<ul>
43+
<li>Excel to PDF conversion.</li>
44+
<li>Excel to Image conversion.</li>
45+
</ul>
46+
<b>PowerPoint Library (Presentation)</b>
47+
<ul>
48+
<li>PowerPoint to PDF conversion.</li>
49+
<li>PowerPoint to Image conversion.</li>
50+
</ul>
51+
</td>
52+
</tr>
53+
<tr>
54+
<td><b>PDF Processing Workflows</b></td>
55+
<td>
56+
<b>PDF Library Operations</b>
57+
<ul>
58+
<li>PDF creation and manipulation</li>
59+
<li>PDF merging and splitting</li>
60+
<li>PDF form filling and flattening</li>
61+
<li>PDF page extraction and insertion</li>
62+
<li>Adding text, images, and annotations to PDF</li>
63+
<li>PDF redaction and security</li>
64+
<li>PDF/A conformance</li>
65+
<li>OCR text extraction</li>
66+
</ul>
67+
</td>
68+
</tr>
69+
</table>
5770

5871
N> FontManager automatically manages fonts across all these conversion types, whether you're processing a single document or handling thousands of concurrent conversions in a multi-threaded environment.
5972

@@ -66,7 +79,7 @@ The `FontManager.Delay` property defines the duration (in milliseconds) after wh
6679

6780
N> This configuration is optional. By default, unused fonts are automatically cleaned up 30 seconds after their references are released. To customize the delay, set this property at the application startup (e.g., in `Startup.cs` or `Program.cs`).
6881

69-
### Example: Basic Configuration
82+
The following example demonstrates how to configure `FontManager.Delay` to automatically release cached fonts after the specified delay during document conversions.
7083

7184
{% tabs %}
7285
{% highlight C# %}
@@ -79,9 +92,7 @@ FontManager.Delay = 50000;
7992
{% endhighlight %}
8093
{% endtabs %}
8194

82-
### Example: ASP.NET Core Application
83-
84-
The following example demonstrates how to configure `FontManager.Delay` in an ASP.NET Core application to ensure cached fonts are automatically released after the specified delay during document conversions.
95+
The following example demonstrates how to configure `FontManager.Delay` in an **ASP.NET Core application** to ensure cached fonts are automatically released after the specified delay during document conversions.
8596

8697
{% tabs %}
8798

@@ -118,7 +129,7 @@ The `FontManager.ClearCache()` method immediately clears all font caches managed
118129
* Before maintenance operations.
119130
* When immediate memory reclamation is required.
120131

121-
### Example: Basic Usage
132+
The following example demonstrates how to immediately clear all cached fonts using `FontManager.ClearCache()`.
122133

123134
{% tabs %}
124135
{% highlight C# %}
@@ -131,7 +142,7 @@ FontManager.ClearCache();
131142
{% endhighlight %}
132143
{% endtabs %}
133144

134-
### Example: ASP.NET Core Application Shutdown
145+
The following example demonstrates how to configure `FontManager.ClearCache()` in an **ASP.NET Core application** to clear cached fonts during application shutdown.
135146

136147
{% tabs %}
137148
{% highlight C# %}
@@ -145,7 +156,6 @@ var lifetime = app.Services.GetRequiredService<IHostApplicationLifetime>();
145156
// Register a callback to clear font cache during application shutdown
146157
lifetime.ApplicationStopping.Register(() =>
147158
{
148-
149159
Syncfusion.Drawing.Fonts.FontManager.ClearCache();
150160
});
151161

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: Font Manager for Document Processing Libraries
3+
description: Learn how Syncfusion Document Processing libraries use FontManager to optimize memory and performance during Office to PDF/Image conversions and PDF processing workflows.
4+
platform: document-processing
5+
control: common
6+
documentation: UG
7+
---
8+
9+
# Font Manager for Document Processing Libraries
10+
11+
Syncfusion Document Processing libraries introduce the **FontManager** class to address excessive memory consumption and performance degradation caused by repeated font creation during document conversions.
12+
13+
The FontManager provides centralized font management shared across all threads and conversion libraries, eliminating duplicate font objects and significantly reducing memory overhead in multi-threaded web applications.
14+
15+
## Key features
16+
17+
- **Shared font caching:** Stores fonts in a unified cache to prevent repeated loading across operations.
18+
19+
- **Memory reduction:** Eliminates duplicate font objects, reducing memory usage during large-scale or parallel document conversions.
20+
21+
- **Performance optimization:** Enables multiple threads to safely reuse the same font instances, improving processing speed.
22+
23+
- **Automatic cleanup:** Automatically disposes unused fonts after a configurable delay (`FontManager.Delay`) to maintain efficiency in long-running applications.
24+
25+
- **Manual cache management:** Provides `FontManager.ClearCache()` to immediately clear all cached fonts when needed (e.g., during server shutdown).
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: Common for Document Processing Libraries
3+
description: Learn about the common utilities and features provided by Syncfusion Document Processing libraries to optimize performance and memory during document conversions and PDF processing workflows.
4+
platform: document-processing
5+
control: common
6+
documentation: UG
7+
---
8+
9+
# Common for Document Processing Libraries
10+
11+
Syncfusion Document Processing libraries provide a set of common utilities designed to enhance performance, optimize memory usage, and simplify configuration across all document processing operations including Office to PDF/Image conversions and PDF processing workflows.
12+
13+
These common utilities are shared across all Syncfusion Document Processing libraries such as DocIO, XlsIO, Presentation, and PDF, ensuring consistent behavior and centralized control in single-threaded and multi-threaded applications.
14+
15+
## Key features
16+
17+
- **Font management:** Provides the `FontManager` class for centralized font caching and memory optimization across all document conversion libraries.
18+
19+
- **Multi-threaded support:** Ensures thread-safe resource sharing in multi-threaded web applications for concurrent document operations.

Document-Processing/Word/Conversions/Word-To-Image/NET/Unsupported-elements-word-to-image.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Linked text boxes are not supported.
110110
Ink elements
111111
</td>
112112
<td>
113-
Supported only in DOCX format document to image.
113+
Supported only in DOCX format document to image. Additional behavior explained {{ '[here](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/unsupported-elements-word-to-pdf#ink)' | markdownify }}.
114114
</td>
115115
</tr>
116116
</table>

Document-Processing/Word/Conversions/Word-To-PDF/NET/Unsupported-elements-word-to-pdf.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ Linked text boxes are not supported.
129129
Ink elements
130130
</td>
131131
<td>
132-
Supported only in DOCX format document to PDF.
132+
Supported only in DOCX format document to PDF. Additional behavior explained {{ '[here](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/unsupported-elements-word-to-pdf#ink)' | markdownify }}.
133133
</td>
134134
</tr>
135135
</table>
@@ -245,6 +245,12 @@ SmartArt typically contains graphic properties, including bounds information for
245245

246246
Creating, editing, or cloning Drawing Canvas elements programmatically is not supported. These elements are not included in Find and Replace functionality or document comparison. Additionally, when opening Word 2003 or 2007 DOCX documents, the Drawing Canvas is treated as a group shape.
247247

248+
### Ink
249+
250+
During Word-to-PDF and Word-to-Image conversions, Syncfusion Word Library uses fallback images embedded in the document to preserve the Ink visual appearance. However, when Ink is created or modified using the Syncfusion Word Library, some Ink effects cannot be rendered accurately due to rendering engine limitations. Although the Ink stroke geometry is preserved, visual brush effects are lost.
251+
252+
**To resolve this**, save the created or modified document using DocIO first in DOCX format. Then, open the saved document in Microsoft Word and save it again. Finally, convert it to PDF or Image using DocIO. This process regenerates the required Ink fallback images, ensuring accurate visual output.
253+
248254
## Show Warning for Unsupported Elements
249255

250256
When converting a Word document to a PDF, the presence of unsupported elements in the input Word document can lead to preservation issues in the converted PDF. The .NET Word library (DocIO) contains [Warning](https://help.syncfusion.com/cr/document-processing/Syncfusion.DocToPDFConverter.DocToPDFConverterSettings.html#Syncfusion_DocToPDFConverter_DocToPDFConverterSettings_Warning) API, which helps to detect and handle these unsupported elements during the conversion process. This API holds the information of unsupported elements once found in the input Word document.
93.4 KB
Loading
51.8 KB
Loading
15.2 KB
Loading
1.17 MB
Loading

0 commit comments

Comments
 (0)