Skip to content

Commit c0da1f8

Browse files
committed
Merge branch 'hotfix/hotfix-v32.2.3' of https://github.com/syncfusion-content/document-processing-docs into 1005726-ug
2 parents e9921f9 + 48ccfaa commit c0da1f8

20 files changed

Lines changed: 946 additions & 525 deletions

Document-Processing-toc.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6260,6 +6260,9 @@
62606260
<li>
62616261
<a href="/document-processing/excel/excel-library/net/faqs/does-xlsio-support-converting-an-empty-Excel-document-to-PDF">Does XlsIO support converting an empty Excel document to PDF?</a>
62626262
</li>
6263+
<li>
6264+
<a href="/document-processing/excel/excel-library/net/faqs/does-xlsio-preserve-text-orientation-in-excel-to-html-conversion">Does XlsIO preserve text orientation in Excel to HTML conversion?</a>
6265+
</li>
62636266
<li>
62646267
<a href="/document-processing/excel/excel-library/net/faqs/what-is-the-maximum-supported-text-length-for-data-validation-in-Excel">What is the maximum supported text length for data validation in Excel?</a>
62656268
</li>
@@ -6410,6 +6413,9 @@
64106413
<li>
64116414
<a href="/document-processing/excel/excel-library/net/faqs/how-to-retrieve-the-name-of-the-chart-in-an-Excel-worksheet">How to retrieve the name of the chart in an Excel worksheet?</a>
64126415
</li>
6416+
<li>
6417+
<a href="/document-processing/excel/excel-library/net/faqs/how-to-get-the-maximum-supported-rows-and-columns-in-an-excel-worksheet">How to get the maximum rows and columns in a worksheet using XlsIO?</a>
6418+
</li>
64136419
</ul>
64146420
</li>
64156421
</ul>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: Text Orientation in Excel to HTML Conversion | Syncfusion
3+
description: This page explains whether the Syncfusion .NET Excel library (XlsIO) preserves text orientation during Excel to HTML conversion.
4+
platform: document-processing
5+
control: XlsIO
6+
documentation: UG
7+
---
8+
9+
# Does XlsIO preserve text orientation in Excel to HTML conversion??
10+
11+
No. XlsIO does not preserve text orientation during Excel to HTML conversion. Microsoft Excel itself does not retain text orientation when exporting a worksheet as HTML, and XlsIO follows the same behavior.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Get maximum rows and columns in a worksheet | Syncfusion
3+
description: Code example to get the maximum number of rows and columns supported in an Excel worksheet using Syncfusion .NET Excel library (XlsIO).
4+
platform: document-processing
5+
control: XlsIO
6+
documentation: UG
7+
---
8+
9+
# How to get the maximum rows and columns in a worksheet using XlsIO?
10+
11+
The [MaxRowCount](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorkbook.html#Syncfusion_XlsIO_IWorkbook_MaxRowCount) and [MaxColumnCount](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorkbook.html#Syncfusion_XlsIO_IWorkbook_MaxColumnCount) properties of [IWorkbook](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorkbook.html) return the maximum number of rows and columns supported in an Excel worksheet.
12+
13+
The following code examples demonstrate how to retrieve the maximum number of rows and columns supported in an Excel worksheet using C# (cross-platform and Windows-specific) and VB.NET.
14+
15+
{% tabs %}
16+
{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Maximum%20number%20of%20rows%20and%20columns%20supported/.NET/MaximumNumberOfRowsColumns/MaximumNumberOfRowsColumns/Program.cs,180" %}
17+
using (ExcelEngine excelEngine = new ExcelEngine())
18+
{
19+
IApplication application = excelEngine.Excel;
20+
application.DefaultVersion = ExcelVersion.Xlsx;
21+
IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/Input.xlsx"));
22+
IWorksheet worksheet = workbook.Worksheets[0];
23+
24+
// To get the maximum supported rows and columns
25+
int maxRow = workbook.MaxRowCount;
26+
int maxColumns = workbook.MaxColumnCount;
27+
28+
// Display the maximum number of rows and columns supported
29+
Console.WriteLine("Maximum number of rows supported: " + maxRow.ToString());
30+
Console.WriteLine("Maximum number of columns supported: " + maxColumns.ToString());
31+
}
32+
{% endhighlight %}
33+
34+
{% highlight c# tabtitle="C# [Windows-specific]" %}
35+
using (ExcelEngine excelEngine = new ExcelEngine())
36+
{
37+
IApplication application = excelEngine.Excel;
38+
application.DefaultVersion = ExcelVersion.Xlsx;
39+
IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/Input.xlsx"));
40+
IWorksheet worksheet = workbook.Worksheets[0];
41+
42+
// To get the maximum supported rows and columns
43+
int maxRow = workbook.MaxRowCount;
44+
int maxColumns = workbook.MaxColumnCount;
45+
46+
// Display the maximum number of rows and columns supported
47+
Console.WriteLine("Maximum number of rows supported: " + maxRow.ToString());
48+
Console.WriteLine("Maximum number of columns supported: " + maxColumns.ToString());
49+
}
50+
{% endhighlight %}
51+
52+
{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
53+
Using excelEngine As New ExcelEngine()
54+
Dim application As IApplication = excelEngine.Excel
55+
application.DefaultVersion = ExcelVersion.Xlsx
56+
Dim workbook As IWorkbook = application.Workbooks.Open("Input.xlsx")
57+
Dim worksheet As IWorksheet = workbook.Worksheets(0)
58+
59+
' To get the maximum supported rows and columns
60+
Dim maxRow As Integer = workbook.MaxRowCount
61+
Dim maxColumns As Integer = workbook.MaxColumnCount
62+
63+
' Display the maximum number of rows and columns supported
64+
Console.WriteLine("Maximum number of rows supported: " + maxRow.ToString())
65+
Console.WriteLine("Maximum number of columns supported: " + maxColumns.ToString())
66+
End Using
67+
{% endhighlight %}
68+
{% endtabs %}
69+
70+
A complete working example in C# is present on <a href="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Maximum%20number%20of%20rows%20and%20columns%20supported/.NET/MaximumNumberOfRowsColumns">this GitHub page</a>.

Document-Processing/PDF/Conversions/HTML-To-PDF/NET/troubleshooting.md

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,22 +1560,46 @@ N> We have option to exclude the default Blink binaries from the installation pa
15601560

15611561
## How to Exclude BlinkBinaries or Runtime Files in Build or Deployment
15621562

1563-
The runtime files, or blink binaries, will be copied into a bin or published folder while building and publishing the application.
1564-
By including the <ExcludeAssets>native</ExcludeAssets> option in the package reference of the csproj file, you can exclude the runtime files or blink binaries from being copied into the bin or publish folder while building and publishing the application. But you need to place the BlinkBinaries in the server disk and set the BlinkPath in the BlinkConverterSettings to perform the conversion.
1563+
When you build or publish the application, the Syncfusion HTML‑to‑PDF converter automatically copies the Blink runtime files (BlinkBinaries) into the <i>bin</i> or <i>publish</i> output folder. These binaries are required for HTML‑to‑PDF conversion at runtime. However, in certain deployment scenarios—such as reducing the deployment size or using a shared/system‑installed Chromium—you can exclude these files and instead provide the Blink binaries manually on the host machine.
1564+
1565+
To exclude BlinkBinaries during the build process, configure your project file depending on whether you are using <b>.NET Core/.NET or .NET Framework</b>.
15651566

1566-
N> Using this approach, you can reduce the deployment size on your own servers.
1567+
<b>Exclude BlinkBinaries in .NET Core</b>
1568+
You can prevent runtime files from being included by restricting the package to <b>compile-only</b> assets using the <b>IncludeAssets</b> tag in the <b>PackageReference</b>. This stops all Blink runtime binaries from being copied into the output folder.
15671569

15681570
Refer to the following package reference:
15691571

15701572
{% tabs %}
15711573
{% highlight C# %}
15721574

15731575
<ItemGroup>
1574-
<PackageReference Include="Syncfusion.HtmlToPdfConverter.Net.Windows" Version="31.1.23">
1575-
<ExcludeAssets>native</ExcludeAssets>
1576+
<PackageReference Include="Syncfusion.HtmlToPdfConverter.Net.Windows" Version="32.1.21">
1577+
<IncludeAssets>compile;runtime</IncludeAssets>
15761578
</PackageReference>
15771579
</ItemGroup>
15781580

15791581
{% endhighlight %}
15801582
{% endtabs %}
15811583

1584+
By using <b>IncludeAssets="compile"</b>, only the required compile-time metadata is included, and all runtime dependencies (BlinkBinaries) are excluded from the final build or publish output.
1585+
1586+
N> If you exclude runtime files, you must manually place BlinkBinaries on the server and configure BlinkPath in BlinkConverterSettings for conversion to work.
1587+
1588+
<b>Exclude BlinkBinaries in .NET Framework Projects</b>
1589+
1590+
For .NET Framework applications, Blink runtime files are included through a .targets file referenced in the project.
1591+
To exclude BlinkBinaries, simply remove this import entry.
1592+
1593+
{% tabs %}
1594+
{% highlight C# %}
1595+
1596+
<Import Project="packages\Syncfusion.HtmlToPdfConverter.AspNet.Mvc5.32.1.20\build\net462\Syncfusion.HtmlToPdfConverter.AspNet.Mvc5.targets" Condition="Exists('packages\Syncfusion.HtmlToPdfConverter.AspNet.Mvc5.32.1.20\build\net462\Syncfusion.HtmlToPdfConverter.AspNet.Mvc5.targets')" />
1597+
1598+
{% endhighlight %}
1599+
{% endtabs %}
1600+
1601+
Removing this line prevents the Syncfusion<sup>&reg;</sup> build targets from copying BlinkBinaries and other runtime files into your bin folder during build or publish.
1602+
1603+
N> By excluding BlinkBinaries, you can significantly reduce the size of your deployment package, especially in server environments where disk usage and deployment time matter.
1604+
1605+

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

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,6 +1603,83 @@ loadedDocument.Close(True)
16031603

16041604
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Security/Change-the-permission-of-the-PDF-document/).
16051605

1606+
## View document permission flags
1607+
1608+
Read a PDF document permission flags via the [Security.Permissions](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Security.PdfSecurity.html#Syncfusion_Pdf_Security_PdfSecurity_Permissions) property, which returns a bitwise combination of values from the [PdfPermissionsFlags](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Security.PdfPermissionsFlags.html) enumeration.
1609+
1610+
{% tabs %}
1611+
{% highlight c# tabtitle="C# [Cross-platform]" %}
1612+
1613+
// Load an existing PDF
1614+
using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument("Input.pdf"))
1615+
{
1616+
// Access the document security settings
1617+
PdfSecurity security = loadedDocument.Security;
1618+
// Get the permission flags (bitwise enum)
1619+
PdfPermissionsFlags permissions = security.Permissions;
1620+
Console.WriteLine("Permissions in the document:");
1621+
// Enumerate all flags and print the enabled ones
1622+
foreach (PdfPermissionsFlags flag in Enum.GetValues(typeof(PdfPermissionsFlags)))
1623+
{
1624+
if (flag == 0) continue; // Skip None (0)
1625+
// Check whether the specific flag is set
1626+
if (permissions.HasFlag(flag))
1627+
{
1628+
Console.WriteLine($"- {flag}");
1629+
}
1630+
}
1631+
}
1632+
1633+
{% endhighlight %}
1634+
{% highlight c# tabtitle="C# [Windows-specific]" %}
1635+
1636+
// Load an existing PDF
1637+
using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument("Input.pdf"))
1638+
{
1639+
// Access the document security settings
1640+
PdfSecurity security = loadedDocument.Security;
1641+
// Get the permission flags (bitwise enum)
1642+
PdfPermissionsFlags permissions = security.Permissions;
1643+
Console.WriteLine("Permissions in the document:");
1644+
// Enumerate all flags and print the enabled ones
1645+
foreach (PdfPermissionsFlags flag in Enum.GetValues(typeof(PdfPermissionsFlags)))
1646+
{
1647+
if (flag == 0) continue; // Skip None (0)
1648+
// Check whether the specific flag is set
1649+
if (permissions.HasFlag(flag))
1650+
{
1651+
Console.WriteLine($"- {flag}");
1652+
}
1653+
}
1654+
}
1655+
1656+
{% endhighlight %}
1657+
{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
1658+
1659+
' Load an existing PDF
1660+
Using loadedDocument As New PdfLoadedDocument("Input.pdf")
1661+
' Access the document security settings
1662+
Dim security As PdfSecurity = loadedDocument.Security
1663+
' Get the permission flags (bitwise enum)
1664+
Dim permissions As PdfPermissionsFlags = security.Permissions
1665+
Console.WriteLine("Permissions in the document:")
1666+
' Enumerate all flags and print the enabled ones
1667+
For Each flag As PdfPermissionsFlags In [Enum].GetValues(GetType(PdfPermissionsFlags))
1668+
If flag = 0 Then
1669+
Continue For ' Skip None (0)
1670+
End If
1671+
' Check whether the specific flag is set
1672+
If permissions.HasFlag(flag) Then
1673+
Console.WriteLine($"- {flag}")
1674+
End If
1675+
Next
1676+
End Using
1677+
1678+
{% endhighlight %}
1679+
{% endtabs %}
1680+
1681+
You can download a complete working sample from GitHub.
1682+
16061683
## Remove password from the user password PDF document
16071684

16081685
You can remove the [UserPassword](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Security.PdfSecurity.html#Syncfusion_Pdf_Security_PdfSecurity_UserPassword) from the encrypted PDF document by using the following code snippet.

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

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3149,6 +3149,40 @@ if (!searchText.Any(text => pageText.Contains(text)))
31493149
<br>
31503150
Create fonts, brushes, and pens once and reuse them throughout the document to reduce memory usage and improve rendering speed.
31513151

3152+
</td>
3153+
</tr>
3154+
</table>
3155+
3156+
### Why does `PdfTrueTypeFont` fail to load system fonts automatically?
3157+
3158+
<table>
3159+
<th style="font-size:14px" width="100px">Issue
3160+
</th>
3161+
<th style="font-size:14px">When you create a PdfTrueTypeFont using only a font family name (e.g., "Arial") in .NET Core or cross‑platform apps, the font can fail to load causing missing text, wrong rendering, or "font not found".
3162+
</th>
3163+
3164+
<tr>
3165+
<th style="font-size:14px" width="100px">Reason
3166+
</th>
3167+
<td><b>In .NET Framework</b>: the PDF library can resolve installed fonts by name <i>(e.g., new Font("Arial", 20) → new PdfTrueTypeFont(font, true) works)</i>.
3168+
<br>
3169+
<b>In .NET Core and cross‑platform environments</b>: system font APIs aren't exposed the same way, so PdfTrueTypeFont cannot locate fonts by name you must provide the actual <i>.ttf</i> file (path or stream) to load the font reliably.
3170+
</td>
3171+
</tr>
3172+
3173+
<tr>
3174+
<th style="font-size:14px" width="100px">Solution
3175+
</th>
3176+
<td>
3177+
Load the font directly from a <i>.ttf</i> file using a path or stream, then pass it to <a href="https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.Graphics.PdfTrueTypeFont.html">PdfTrueTypeFont</a>. This ensures consistent font embedding across all platforms.
3178+
{% tabs %}
3179+
{% highlight C# tabtitle="C#" %}
3180+
3181+
PdfTrueTypeFont ttf = new PdfTrueTypeFont("Arial.ttf", 20);
3182+
3183+
{% endhighlight %}
3184+
{% endtabs %}
3185+
31523186
</td>
31533187
</tr>
31543188
</table>

Document-Processing/Word/Conversions/Word-To-Image/NET/Performance-metrics.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ The following system configurations were used for benchmarking:
2020
* **.NET Version:** .NET 8.0
2121
* **Syncfusion<sup>&reg;</sup> Version:** [Syncfusion.DocIORenderer.Net.Core v32.2.3](https://www.nuget.org/packages/Syncfusion.DocIORenderer.Net.Core/32.2.3)
2222

23-
## Word to image conversion
24-
25-
## Benchmark Results.
23+
## Benchmark Results
2624

2725
The table below shows the performance results of various Word document operations, evaluated using predefined input conditions in the previously described environment.
2826

@@ -52,7 +50,7 @@ The table below shows the performance results of various Word document operation
5250
<td>{{'[GitHub-Example](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Performance-metrices/Font-Substitution-Image/)'| markdownify }}</td>
5351
</tr>
5452
<tr>
55-
<td>Use embedded word fonts</td>
53+
<td>{{'[Use embedded word fonts](https://support.syncfusion.com/kb/article/13969/how-to-resolve-font-problems-during-word-to-pdf-or-image-conversion#suggestion-3:-embed-fonts-in-docx)'| markdownify }}</td>
5654
<td>2 pages</td>
5755
<td>1.1</td>
5856
<td>{{'[GitHub-Example](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Performance-metrices/Use-embedded-Word-fonts-image/)'| markdownify }}</td>

Document-Processing/Word/Conversions/Word-To-PDF/NET/Performance-metrics.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The following system configurations were used for benchmarking:
2020
* **.NET Version:** .NET 8.0
2121
* **Syncfusion<sup>&reg;</sup> Version:** [Syncfusion.DocIORenderer.Net.Core v32.2.3](https://www.nuget.org/packages/Syncfusion.DocIORenderer.Net.Core/32.2.3)
2222

23-
## Benchmark Results.
23+
## Benchmark Results
2424

2525
The table below shows the performance results of various Word document operations, evaluated using predefined input conditions in the previously described environment.
2626

@@ -92,7 +92,7 @@ The table below shows the performance results of various Word document operation
9292
<td>{{'[GitHub-Example](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Performance-metrices/Track%20changes/)'| markdownify }}</td>
9393
</tr>
9494
<tr>
95-
<td>Use embedded word fonts</td>
95+
<td>{{'[Use embedded word fonts](https://support.syncfusion.com/kb/article/13969/how-to-resolve-font-problems-during-word-to-pdf-or-image-conversion#suggestion-3:-embed-fonts-in-docx)'| markdownify }}</td>
9696
<td>2 pages</td>
9797
<td>1.16</td>
9898
<td>{{'[GitHub-Example](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Performance-metrices/Use-embeded-word-font-PDF/)'| markdownify }}</td>

Document-Processing/Word/Word-Library/NET/Performance-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The following system configurations were used for benchmarking:
2020
* **.NET Version:** .NET 8.0
2121
* **Syncfusion<sup>&reg;</sup> Version:** [Syncfusion.DocIO.Net.Core v32.2.3](https://www.nuget.org/packages/Syncfusion.DocIO.Net.Core/32.2.3)
2222

23-
## Benchmark Results.
23+
## Benchmark Results
2424

2525
The table below shows the performance results of various Word document operations, evaluated using predefined input conditions in the previously described environment.
2626

0 commit comments

Comments
 (0)