Skip to content
2 changes: 1 addition & 1 deletion Document-Processing-toc.html
Original file line number Diff line number Diff line change
Expand Up @@ -5288,7 +5288,7 @@
<a href="/document-processing/word/conversions/word-to-pdf/net/Faqs-word-to-pdf">FAQs</a>
<ul>
<li><a href="/document-processing/word/conversions/word-to-pdf/net/word-to-pdf-conversion-faqs">Word to PDF Conversion</a></li>
<li><a href="/document-processing/word/conversions/word-to-pdf/net/faqs/multithreading-word-to-pdf-faqs">Multithreading in Word to PDF</a></li>
<li><a href="/document-processing/word/conversions/word-to-pdf/net/faqs/multithreading-in-word-to-pdf-faqs">Multithreading in Word to PDF</a></li>
</ul>
</li>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,12 @@ documentation: UG
---
# Assemblies required to convert Word document to PDF

This page lists the Syncfusion assemblies that must be referenced in your project to convert a Word document to PDF. The required assemblies differ based on the target platform (WPF, Windows Forms, ASP.NET Core, Blazor, WinUI, .NET MAUI, etc.). Use the tables below to identify the assemblies for your platform, and refer to the linked per-platform guides for step-by-step setup.

## Converting Word document to PDF

### Active platforms

For converting a Word document to PDF, the following assemblies need to be referenced in your application
<table>
<thead>
Expand Down Expand Up @@ -39,11 +43,11 @@ T> 1. If you encounter issues while using the .NET Word library in ASP.NET Core,
T> 2. Switch to NuGet packages for a seamless experience:
T> * Get frequent bug fixes every week.
T> * Upgrade quickly with no manual effort.
T> Note: To avoid trail watermark when using NuGet packages, it is recommended to register license key in application. Please refer to this [link](https://help.syncfusion.com/common/essential-studio/licensing/overview) to know about registering Syncfusion<sup>&reg;</sup> license key in your application to use our components.
T>
T> Refer [here](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/nuget-packages-required-word-to-pdf) to know more about NuGet packages required.
N> To avoid a trial watermark when using NuGet packages, it is recommended to register a license key in the application. Please refer to this [link](https://help.syncfusion.com/common/essential-studio/licensing/overview) to know about registering Syncfusion<sup>&reg;</sup> license key in your application to use our components.
N>
N> Refer [here](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/nuget-packages-required-word-to-pdf) to know more about NuGet packages required.

#### Retired Platforms
### Retired platforms

The following assemblies need to be referenced in your application based on the platform.

Expand Down Expand Up @@ -74,7 +78,7 @@ N> 8. Starting with the v27.1.x, if you reference "Syncfusion.DocIORenderer", yo

## Converting Charts

The following assemblies are required to be referred in addition to the above mentioned assemblies for converting the chart present in the Word document into PDF.
The following assemblies are required to be referenced in addition to the above mentioned assemblies for converting the chart present in the Word document into PDF.
<table>
<thead>
<tr>
Expand All @@ -87,7 +91,7 @@ WPF, Windows Forms, ASP.NET MVC<br/></td><td>
Syncfusion.OfficeChartToImageConverter.WPF<br/>Syncfusion.SfChart.WPF<br/></td></tr>
</table>

#### Retired Platforms
### Retired platforms

The following assemblies need to be referenced in your application based on the platform.

Expand All @@ -101,4 +105,14 @@ Assembly<br/></th></tr></thead>
<td>
ASP.NET<br/></td><td>
Syncfusion.OfficeChartToImageConverter.WPF<br/>Syncfusion.SfChart.WPF<br/></td></tr>
</table>
</table>

## See also

* [NuGet packages required for Word to PDF conversion](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/nuget-packages-required-word-to-pdf)
* [Word to PDF conversion overview](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/word-to-pdf)
* [Word to PDF settings](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/word-to-pdf-settings)
* [Fallback fonts for Word to PDF](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/fallback-fonts-word-to-pdf)
* [Licensing overview](https://help.syncfusion.com/common/essential-studio/licensing/overview)
* [Syncfusion Reference Manager add-in](https://help.syncfusion.com/extension/syncfusion-reference-manager/overview)
* [ASP.NET Core DocIO troubleshooting guide](https://support.syncfusion.com/kb/article/16012/troubleshoot-guide-for-aspnet-core-word-docio-library-issues#things-to-check-while-facing-an-issue-in-word-library)
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ Syncfusion<sup>&reg;</sup> DocIO is a [.NET Word library](https://www.syncfusion

**Prerequisites:**

* Visual Studio 2019 or later with the **ASP.NET and web development** workload installed.
* Visual Studio 2022 or later with the **ASP.NET and web development** workload installed.
* An Azure account. If you do not have one, create a [free Azure account](https://azure.microsoft.com/free/) before you begin.
* Target framework: .NET 6.0 or later (LTS recommended).
* Target framework: [.NET 8.0 or later](https://dotnet.microsoft.com/en-us/download/dotnet).

## Steps to convert Word document to PDF in Azure App Service on Linux

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Syncfusion<sup>&reg;</sup> DocIO is a [.NET Core Word library](https://www.syncf
## Prerequisites

- An active **Azure subscription**. If you do not have one, create a [free Azure account](https://azure.microsoft.com/free/) before you begin.
- **Visual Studio 2019 or later** with the **ASP.NET and web development** workload installed.
- **Visual Studio 2022 or later** with the **ASP.NET and web development** workload installed.
- **.NET 8 SDK** or a later supported version.
- A valid Syncfusion<sup>&reg;</sup> license key. Refer to this [link](https://help.syncfusion.com/common/essential-studio/licensing/overview) to generate and register your license key.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ NuGet package name<br/></th></tr></thead>
{{'[Syncfusion.DocIORenderer.Net.Core](https://www.nuget.org/packages/Syncfusion.DocIORenderer.Net.Core)' | markdownify }}<br/></td></tr>
</table>

N> The `SkiaSharp.NativeAssets.Linux` and `HarfBuzzSharp.NativeAssets.Linux` packages are only required when deploying to Azure App Service (Linux) or other Linux-based Azure hosts. On Windows hosts, the required native assets are bundled with the `Syncfusion.DocIORenderer.Net.Core` NuGet package. For the latest package versions, refer to the [Syncfusion NuGet feed](https://www.nuget.org/profiles/Syncfusion).
N> The `SkiaSharp.NativeAssets.Linux` and `HarfBuzzSharp.NativeAssets.Linux` packages are only required when deploying to Azure App Service (Linux) or other Linux-based Azure hosts. On Windows hosts, the required native assets are bundled with the `Syncfusion.DocIORenderer.Net.Core` NuGet package.

## See Also

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@ Step 4: Click the **Authorize** button.

This section creates the local ASP.NET Core project that will later be deployed to App Engine.

Step 1: Open Visual Studio and select the **ASP.NET Core Web App (Model-View-Controller)** template targeting **.NET 8.0**.
Step 1: Open Visual Studio and select the **ASP.NET Core Web App (Model-View-Controller)** template.
![Create ASP.NET Core Web application in Visual Studio](ASP-NET-Core_images/CreateProjectforConversion.png)

Step 2: Configure the project name (for example, **Convert-Word-document-to-PDF**), choose a location, and ensure the **.NET 8.0** framework is selected.
Step 2: Configure the project name (for example, **Convert-Word-document-to-PDF**), choose a location and click **Next**.
![Configure project name and framework](GCP_Images/GAE_Images/Configuration_WordtoPDF.png)

Step 3: Click the **Create** button.
Step 3: Select **.NET 8.0** framework and Click the **Create** button.
![Create ASP.NET Core Web application in Visual Studio](GCP_Images/GAE_Images/Additional-Information-WordtoPDF.png)

Step 4: Install the following **NuGet packages** in your application from [Nuget.org](https://www.nuget.org/).
Expand Down Expand Up @@ -133,7 +133,7 @@ Step 1: Open the **Cloud Shell editor**.
Step 2: Drag and drop the sample from your local machine to **Workspace**.
![Drag and drop the sample into the Workspace](GCP_Images/GAE_Images/Terminal-WordtoPDF.png)

N> If you have your sample application on your local machine, drag and drop it into the Workspace. If you created the sample using the Cloud Shell terminal command, it will be available in the Workspace. For large files, consider using `gcloud storage cp` instead of drag-and-drop.
N> If you have your sample application on your local machine, drag and drop it into the Workspace. If you created the sample using the Cloud Shell terminal command, it will be available in the Workspace.

Step 3: Open the Cloud Shell Terminal and run the following **command** to view the files and directories within your **current Workspace**.

Expand Down Expand Up @@ -243,7 +243,7 @@ Step 3: Verify that the `Dockerfile` and `app.yaml` files are present in the **W

## Deploy to App Engine

Step 1: To deploy the application to App Engine, run the following command in the Cloud Shell Terminal. Afterwards, retrieve the **URL** from the Cloud Shell Terminal (or run `gcloud app browse`).
Step 1: To deploy the application to App Engine, run the following command in the Cloud Shell Terminal. Afterwards, retrieve the **URL** from the Cloud Shell Terminal.

{% tabs %}
{% highlight bash tabtitle="CLI" %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,11 @@ using (WordDocument document = new WordDocument(assembly.GetManifestResourceStre
}
{% endhighlight %}

N> **Embedded resource:** The input `Template.docx` must be added to the .NET Standard project and its **Build Action** set to **EmbeddedResource** in the Properties window. The file path used in `GetManifestResourceStream` (for example, `Convert-Word-Document-to-PDF.Template.Input.docx`) must match the project's default namespace followed by the folder and file name.
{% endtabs %}

N> **Embedded resource:** The input `Template.docx` must be added to the .NET Standard project and its **Build Action** set to **EmbeddedResource** in the Properties window. The file path used in `GetManifestResourceStream` (for example, `Convert-Word-Document-to-PDF.Template.Input.docx`) must match the project's default namespace followed by the folder and file name.


## Helper files for Xamarin

Refer the below helper files and add them into the mentioned project. These helper files allow you to save the stream as a physical file and open the file for viewing.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,39 @@
---
title: Fallback fonts in Word to PDF Conversion in C# | DocIO | Syncfusion
description: Learn about how to specify fallback fonts during Word to PDF conversion using the .NET Word (DocIO) library..
description: Learn how to specify fallback fonts during Word to PDF conversion using the .NET Word (DocIO) library.
platform: document-processing
control: DocIO
documentation: UG
---

# Fallback fonts in Word to PDF Conversion

During Word to PDF conversions, if a glyph of the input text is unavailable in the specified font, the text will not be rendered properly. To address this, the [.NET Word Library](https://www.syncfusion.com/document-sdk/net-word-library) allows users to specify fallback fonts. When a glyph is missing, the library will use one of the fallback fonts to render the text correctly in the output PDF document.
During Word to PDF conversions, if a glyph of the input text is unavailable in the specified font, the text will not be rendered properly. To address this, the [.NET Word Library](https://www.syncfusion.com/document-sdk/net-word-library) allows developers to specify fallback fonts. When a glyph is missing, the library uses one of the fallback fonts to render the text correctly in the output PDF document.

Users can configure fallback fonts in the following ways:
* Initialize default fallback fonts.
* Set custom fonts as fallback fonts for specific script types, including Arabic, Hebrew, Chinese, Japanese, and more.
* Set custom fonts as fallback fonts for specific script types, including Arabic, Hebrew, Chinese, Japanese, Tamil, Korean, and more.
* Set custom fonts as fallback fonts for symbols, mathematics, and emoji.
* Set custom fonts as fallback fonts for a particular range of Unicode text.

N> DocIO internally uses user-initialized or specified fallback fonts for Unicode characters during Word to PDF conversion. Therefore, the specified fallback fonts must be installed in the production environment or embedded in the input Word document (DOCX). Otherwise, it will not render the text properly using the fallback fonts.
N> DocIO internally uses the specified fallback fonts for Unicode characters during Word to PDF conversion. Therefore, the specified fallback fonts must be installed in the production environment or embedded in the input Word document (DOCX). Otherwise, the text will not render properly using the fallback fonts.

## Prerequisites

To use fallback fonts during Word to PDF conversion, install the required Syncfusion NuGet packages. For more information on NuGet packages and assemblies, refer to the [NuGet packages required for Word to PDF](Nuget-packages-required-word-to-pdf.md) and [Assemblies required for Word to PDF](Assemblies-required-word-to-pdf.md) documentation.

The following namespaces are used in the code examples throughout this document:

```csharp
using Syncfusion.DocIO.DLS;
using Syncfusion.DocIORenderer;
using Syncfusion.Office;
using Syncfusion.Pdf;
```

## Initialize default fallback fonts

The following code example demonstrates how to initialize a default fallback fonts while converting a Word document to PDF. The *InitializeDefault* API sets the default fallback fonts for specific script types like Arabic, Hebrew, Chinese, Japanese etc.
The following code example demonstrates how to initialize the default fallback fonts while converting a Word document to PDF. The `InitializeDefault` API sets the default fallback fonts for specific script types like Arabic, Hebrew, Chinese, Japanese, and others.

{% tabs %}

Expand Down Expand Up @@ -197,7 +211,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync

## Fallback fonts for symbols

The following code example demonstrates how a user can add fallback fonts for Symbols and Emojis, which DocIO considers internally when converting a Word document to PDF.
The following code example demonstrates how users can add fallback fonts for symbols, mathematics, and emojis, which DocIO considers internally when converting a Word document to PDF.

{% tabs %}

Expand Down Expand Up @@ -257,7 +271,7 @@ using (WordDocument wordDocument = new WordDocument("Template.docx", Syncfusion.
{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
'Loads an existing Word document.
Using wordDocument As WordDocument = New WordDocument("Template.docx", FormatType.Docx)
'Adds fallback font for basic symbols Like bullet characters.
'Adds fallback font for basic symbols like bullet characters.
wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Symbols, "Segoe UI Symbol, Arial Unicode MS, Wingdings")
'Adds fallback font for mathematics symbols.
wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Mathematics, "Cambria Math, Noto Sans Math, Segoe UI Symbol, Arial Unicode MS")
Expand All @@ -276,13 +290,15 @@ End Using

{% endtabs %}

You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Word-to-PDF-Conversion/Fallback-symbol-based-on-scripttype/)
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Word-to-PDF-Conversion/Fallback-symbol-based-on-scripttype).

## Fallback fonts for range of Unicode text

Users can set fallback fonts for specific Unicode range of text to be used in Word to PDF conversion.
Users can set fallback fonts for a specific range of Unicode characters to be used in Word to PDF conversion.

The following code example demonstrates how developers can add fallback fonts by using a specific Unicode range that DocIO considers internally while converting a Word document to PDF.

The following code example demonstrates how users can add fallback fonts by using a specific Unicode range of text that DocIO considers internally while converting a Word document to PDF.
N> The `FallbackFont` constructor accepts the start and end of the Unicode range (inclusive) and the font name: `new FallbackFont(rangeStart, rangeEnd, "FontName")`.

{% tabs %}

Expand Down Expand Up @@ -387,9 +403,11 @@ End Using

You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Word-to-PDF-Conversion/Fallback-fonts-for-Unicode-range).

## Modify the exiting fallback fonts
## Modify the existing fallback fonts

The following code example demonstrates how user can modify or customize the existing fallback fonts using *FontNames* API while converting a Word document to PDF.
The following code example demonstrates how users can modify or customize the existing fallback fonts using the `FontNames` API while converting a Word document to PDF.

N> Calling `InitializeDefault()` populates the `FallbackFonts` collection with the default entries shown in the [Supported script types](#supported-script-types) table. Modifying the `FontNames` property of a `FallbackFont` instance overrides the default font list for that script type only.

{% tabs %}

Expand Down Expand Up @@ -571,7 +589,7 @@ Yu Mincho, MS Mincho
</tr>
<tr>
<td>
Thai
Thai
</td>
<td>
0x0E00 - 0x0E7F
Expand All @@ -582,7 +600,7 @@ Tahoma, Microsoft Sans Serif
</tr>
<tr>
<td>
Korean
Korean
</td>
<td>
0xAC00 - 0xD7A3<br>
Expand Down Expand Up @@ -806,3 +824,13 @@ Malgun Gothic, Batang
<td>Segoe UI Emoji, Noto Color Emoji, Arial Unicode MS</td>
</tr>
</table>

N> The Unicode ranges in the table are inclusive on both ends. A character belongs to the script type if its code point falls within any listed range. If a character matches multiple script types, DocIO uses the first matching entry when resolving fallback fonts.

## See also

* [Font substitution in Word to PDF conversion](Font-substituion-word-to-pdf.md)
* [NuGet packages required for Word to PDF conversion](Nuget-packages-required-word-to-pdf.md)
* [Assemblies required for Word to PDF conversion](Assemblies-required-word-to-pdf.md)
* [Word to PDF conversion settings](Word-to-pdf-settings.md)
* [Frequently asked questions about Word to PDF conversion](Faqs-word-to-pdf.md)
Loading