Skip to content

Commit 6f7cc32

Browse files
committed
Merge branch 'new-kb-validating-fonts-document-processing-9ec1f0c564dd4019abd164280fc1feea' of https://github.com/telerik/document-processing-docs into new-kb-validating-fonts-document-processing-9ec1f0c564dd4019abd164280fc1feea
2 parents bdc7aae + 2f59589 commit 6f7cc32

19 files changed

+201
-9
lines changed

distribution-and-licensing/license-key/activation-errors-and-warnings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ When using the product in a project with an expired or missing license, the _Tel
3232
|----|----|----|
3333
|`No Telerik or Kendo UI product references detected in project`|TKL001|<ul><li>If you use Telerik products and see this message, update the Telerik.Licensing package to version 1.4.9 or later.</li><li>If you do not use Telerik products, remove the Telerik.Licensing NuGet reference from your project.</li></ul>|
3434
|`No Telerik and Kendo UI License file found`|TKL002|[Install a license key]({%slug setting-up-license-key%}) to activate the UI components and remove the error message.|
35-
|`Corrupted Telerik and Kendo UI License Key content`|TKL003|[Download a new license key]({%slug setting-up-license-key%}#downloading-the-license-key) and install it to activate the UI components and remove the error message.|
35+
|`Corrupted Telerik and Kendo UI License Key content in: [file path or environment variable name]`|TKL003|<ul><li>If you use a `telerik-license.txt` file to activate the components, [download a new license key file]({%slug setting-up-license-key%}) and place it in your home directory. Make sure to use a license key and not a script key.</li><li>If you use the `TELERIK_LICENSE` environment variable to store your license key, [download a new license key]({%slug setting-up-license-key%}), update the content of the environment variable, and make sure it contains the entire key.</li></ul>|
3636
|`Unable to locate licenses for all products`|TKL004|Your license is not valid for all Telerik and Kendo products added to your project. If you have already purchased the required license, then update your license key]({%slug setting-up-license-key%}).|
3737
|`"Telerik Document Processing Libraries" product is not listed in your current license file.`|TKL101|Review the purchase options for the listed products. Alternatively, remove the references to the listed packages from _package.json._|
3838
|`Your current license has expired.`|TKL102|You are using a product version released outside the validity period of your perpetual license. To remove the error message, do either of the following: <br> - Renew your subscription and [download a new license key]({%slug setting-up-license-key%}#downloading-the-license-key). <br> - Downgrade to a product version included in your perpetual license as indicated in the message.|

distribution-and-licensing/license-key/adding-license-key-ci-cd-services.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,5 @@ public class Function
127127
* [Unable to find package Telerik.Licensing]({%slug dpl-package-update-failure-license%})
128128
* [Handling License Key File Name and Environment Variable Name Changes in the 2025 Q1 Release]({%slug handling-license-file-name-changes%})
129129
* [Telerik.Licensing NuGet package is not available on the Telerik NuGet feed]({%slug dpl-telerik-licensing-nuget-feed%})
130+
* [Telerik License Approaches](https://github.com/LanceMcCarthy/DevOpsExamples?tab=readme-ov-file#telerik-license-approaches)
130131

distribution-and-licensing/license-key/setting-up-license-key.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ To activating the Document Processing Libraries:
3838
```xml
3939
<PackageReference Include="Telerik.Licensing" Version="1.*" />
4040
```
41+
42+
>important The **Telerik.Licensing** verifies the DevSeat association at the time your classlib is built, and also provisions at runtime licenses in the Root app. When you have a setup such as **"Root app -> classlib -> Telerik UI"**, the Telerik UI will execute and verify the licensing for the classlib, but will not be applied transitively in the Root app. That's why you **need to add the Telerik.Licensing NuGet package reference to Root app manually**.
43+
4144
When you build the project, the _Telerik.Licensing_ NuGet package automatically locates the license file and uses it to activate the product.
4245

4346
>important If your project doesn’t use NuGet packages, see [Adding a License Key to Projects without NuGet References](#adding-a-license-key-to-projects-without-nuget-references).
@@ -70,4 +73,6 @@ Whenever you purchase a new license or renew an existing one, always [download a
7073
* [Handling License Key File Name and Environment Variable Name Changes in the 2025 Q1 Release]({%slug handling-license-file-name-changes%})
7174
* [Telerik.Licensing NuGet package is not available on the Telerik NuGet feed]({%slug dpl-telerik-licensing-nuget-feed%})
7275
* [Diagnostic Options for Telerik Licensing]({%slug telerik-trial-version-message-diagnostic-options%})
76+
* [Resolving License Validation Issues in Telerik Document Processing Libraries]({%slug license-not-recognized-telerik-document-processing-libraries%})
77+
* [Telerik License Approaches](https://github.com/LanceMcCarthy/DevOpsExamples?tab=readme-ov-file#telerik-license-approaches)
7378

distribution-and-licensing/redistributing-telerik-document-processing.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Telerik Document Processing is part of several Telerik bundles and is licensed u
2424
| UI for .NET MAUI ||
2525
| UI for Xamarin ||
2626

27+
>important Protecting the Telerik dlls is required only with versions prior to **2025 Q2 (2025.2.520)**. With the introduction of our new [licensing mechanism](https://www.telerik.com/blogs/license-key-files-telerik-kendo-ui-products-2025-update), Telerik UI suites have simplified deployment requirements. __Starting with 2025 Q2, users are no longer required to protect the Telerik assemblies__. Instead, the respective Telerik product now requires [installing a license key]({%slug setting-up-license-key%}). Applications without a valid license will continue to function normally, but will contain a watermark.
28+
2729
## Using the Telerik Document Processing Libraries in Your Solutions
2830

2931
In order to include the Telerik Document Processing libraries in your application, you should build the source code as described below. The source code of the Document Processing libraries is distributed together with the above-listed products' source code and is available for download from the client's account.

getting-started/download-product-files.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,5 @@ Since the **Telerik Document Processing** is a part of several [Telerik bundles]
4747
## See Also
4848

4949
* [What Versions of Document Processing Libraries are Distributed with the Telerik Products]({%slug distribute-telerik-document-processing-libraries-net-versions%})
50-
* [Latest Internal Build (Preview Version)]({%slug obtain-use-latest-internal-build-version%})
50+
* [Latest Internal Build (Preview Version)]({%slug obtain-use-latest-internal-build-version%})
51+
* [Release History]({%slug dpl-release-history%})

introduction.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Telerik Document Processing features the following libraries:
5555
|**Any document. Any Business.**|The Telerik Document Processing is suitable for various business cases and scenarios, where document creation or manipulation is required|
5656
|**Support for Variety of File Formats**|The Telerik Document Processing includes 5 libraries for manipulating [Office Open XML](https://en.wikipedia.org/wiki/Office_Open_XML) file formats and PDF documents in your application.|
5757
|**Timeout Mechanism**|[Timeout Mechanism]({%slug timeout-mechanism-in-dpl%}) for importing and exporting documents. The **Import** and **Export** methods of all FormatProviders have a mandatory *TimeSpan?* timeout parameter after which the operation will be cancelled.|
58+
|**GenAI-powered Document Insights**|Enables you to easily extract insights from PDF documents using Large Language Models (LLMs). This functionality enables you to summarize document content and ask questions about it, with the AI providing relevant answers based on the document's content. [Read More]({%slug radpdfprocessing-features-gen-ai-powered-document-insights-overview%})|
5859

5960
For more details about the benefits of using Telerik Document Processing, see the [Telerik Document Processing product overview page](https://www.telerik.com/document-processing-libraries).
6061

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: Resolving Apostrophe Character Being Replaced with Copyright Symbol in Filled PDF AcroForm
3+
description: Learn how to address the issue where an apostrophe character is replaced by a copyright symbol in a filled PDF AcroForm using RadPdfProcessing for Document Processing.
4+
type: how-to
5+
page_title: Fixing Apostrophe Display Issue in PDF AcroForm Fields
6+
meta_title: Fixing Apostrophe Display Issue in PDF AcroForm Fields
7+
slug: apostrophe-character-replaced-copyright-symbol-acroform
8+
tags: processing, document, pdf, acroform, font, encoding, text, field, xfa
9+
res_type: kb
10+
ticketid: 1692742
11+
---
12+
13+
<style>
14+
img[alt$="><"] {
15+
border: 1px solid lightgrey;
16+
}
17+
18+
</style>
19+
20+
## Environment
21+
22+
| Version | Product | Author |
23+
| ---- | ---- | ---- |
24+
| 2025.2.520| RadPdfProcessing |[Desislava Yordanova](https://www.telerik.com/blogs/author/desislava-yordanova)|
25+
26+
## Description
27+
28+
Learn how to address the issue where a special symbol (e.g. apostrophe character) is replaced by a copyright (or other) symbol in a filled PDF AcroForm using RadPdfProcessing. When the form is opened for editing in a viewer (like Adobe Acrobat), the character appears correctly as an apostrophe in the editor itself.
29+
30+
![apostrophe-character-replaced-copyright-symbol-acroform ><](images/apostrophe-character-replaced-copyright-symbol-acroform.gif)
31+
32+
>note This might be reproduced with other symbols as well, not only with the apostrophe character. Usually, such behavior may occur with XFA forms. However, from PDF 2.0 (ISO 32000-2) the XFA forms are depreciated.
33+
34+
## Solution
35+
36+
This issue is likely caused by the font encoding used in the [AcroForm]({%slug radpdfprocessing-model-interactive-forms-acroform%}) fields. If the font does not properly support the character encoding for the apostrophe or is not embedded or referenced correctly, such substitution may occur.
37+
38+
To resolve this issue, set the font of the AcroForm fields to one of the [14 standard PDF fonts]({%slug radpdfprocessing-concepts-fonts%}), such as Helvetica, Times, or Courier. These fonts have broad character support and do not require embedding.
39+
40+
### Steps:
41+
42+
1. Iterate through all form fields in `RadFixedDocument.AcroForm.FormFields`.
43+
2. Check if the field type is [TextBox]({%slug radpdfprocessing-model-interactive-forms-form-fields-textboxfield%}) or [CombTextBox]({%slug radpdfprocessing-model-interactive-forms-form-fields-combtextboxfield%}).
44+
3. Set the widget font and text properties font to `FontsRepository.HelveticaBold`.
45+
46+
### Code Implementation
47+
48+
Use the following code snippet to update the font for all text fields in the PDF document:
49+
50+
```csharp
51+
foreach (FormField field in document.AcroForm.FormFields)
52+
{
53+
if (field.FieldType == FormFieldType.TextBox || field.FieldType == FormFieldType.CombTextBox)
54+
{
55+
TextField textBox = (TextField)field;
56+
57+
// Set the font for the text field widgets
58+
textBox.Widgets.First().TextProperties.Font = FontsRepository.HelveticaBold;
59+
60+
// Set the font for the text field text properties
61+
textBox.TextProperties.Font = FontsRepository.HelveticaBold;
62+
}
63+
}
64+
```
65+
After applying the code, the apostrophe character will render correctly in the filled PDF.
66+
67+
## See Also
68+
- [Fonts in RadPdfProcessing](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/concepts/fonts)
69+
- [RadPdfProcessing Overview](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/overview)
70+
- [Working with AcroForm Fields](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/features/interactive-forms)
71+
72+
---
Loading
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: Resolving License Validation Issues in Telerik Document Processing Libraries
3+
description: Troubleshooting the issue where the license is not recognized during runtime in Telerik Document Processing Libraries.
4+
type: troubleshooting
5+
page_title: License Not Recognized in Telerik Document Processing Libraries
6+
meta_title: License Not Recognized in Telerik Document Processing Libraries
7+
slug: license-not-recognized-telerik-document-processing-libraries
8+
tags: telerik, document, processing, license, validation, runtime, issues, licensing, diagnostics
9+
res_type: kb
10+
ticketid: 1690929
11+
---
12+
13+
## Environment
14+
15+
| Version | Product | Author |
16+
| ---- | ---- | ---- |
17+
| 2025.2.520| RadPdfProcessing |[Desislava Yordanova](https://www.telerik.com/blogs/author/desislava-yordanova)|
18+
19+
## Description
20+
21+
This article aims to address potential licensing issues while generating Excel (or PDF, DOCX, etc.) files with Telerik Document Processing Libraries during **runtime** testing. The generated file contains a "License" sheet (or a watermark) with a trial message, despite the **Build Output** window indicating a valid license. The issue arises in a multi-project (e.g. Blazor WASM) application setup, where dependencies are shared across projects.
22+
23+
## Cause
24+
25+
This issue generally occurs due to incomplete license validation during runtime in complex setups, particularly when using shared libraries or plugin architectures. *Even if the license is validated during build time, runtime environments may fail to recognize it due to transitive dependency limitations.*
26+
27+
## Solution
28+
29+
The **Telerik.Licensing** verifies the DevSeat association at the time your classlib is built, and also provisions at runtime licenses in the Root app. When you have a setup such as **"Root app -> classlib -> Telerik UI"**, the Telerik UI will execute and verify the licensing for the classlib, but will not be applied transitively in the Root app. That's why you **need to add the Telerik.Licensing NuGet package reference to Root app manually**.
30+
31+
To ensure proper license validation and eliminate trial messages, follow the steps below:
32+
33+
* **Direct Package References**: Add references to the **Telerik.Licensing** package directly in the Root project. This resolves transitive dependency limitations.
34+
35+
* **Explicit License Registration**: Add a call to `TelerikLicensing.Register()` early in your application lifecycle. For Blazor WASM applications, include this call in the `Program.cs` file. This approach validates the license explicitly.
36+
37+
* **Verify Assemblies**: Ensure **no trial** versions of Telerik assemblies are referenced in any project. Replace [trial assemblies]({%slug upgrade-trial-to-licensed-version%}) with licensed ones, if such even exist.
38+
39+
* **Enable Diagnostics**: Add the following property to your `.csproj` file to enable detailed licensing diagnostics during build and runtime:
40+
```xml
41+
<PropertyGroup>
42+
<TelerikLicensingVerbosity>diagnostic</TelerikLicensingVerbosity>
43+
</PropertyGroup>
44+
```
45+
Review the diagnostic output for clues about license validation issues.
46+
47+
* **Avoid Environment Variables**: Use only the `telerik-license.txt` file for license delivery instead of environment variables, which can cause issues due to length limitations.
48+
49+
By following these steps, runtime validation issues should resolve, and the trial message will no longer appear in generated documents.
50+
51+
## See Also
52+
53+
- [Telerik Document Processing Licensing Overview]({%slug introduction%})
54+
- [Setting Up Your Telerik Document Processing Libraries License Key]({%slug setting-up-license-key%})
55+
- [Using TelerikLicensing.Register Method]({%slug adding-license-key-ci-cd-services%}#using-teleriklicensingregister-method-on-aws-lambdas)
56+
- [Diagnostic Options for Telerik Licensing]({%slug telerik-trial-version-message-diagnostic-options%})

libraries/radpdfprocessing/concepts/clipping.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The __Clipping__ element exposes a single property.
2222
* __Clip__: Property of type __GeometryBase__ representing the [Geometry]({%slug radpdfprocessing-concepts-geometry%}) that is used to clip the content element.
2323

2424

25-
__Example 1__ demonstrates how you can create a Clipping element and assign a __RectangeGeometry__ to its Clip property.
25+
__Example 1__ demonstrates how you can create a Clipping element and assign a __RectangleGeometry__ to its Clip property.
2626

2727

2828
#### __[C#] Example 1: Create clipping__

0 commit comments

Comments
 (0)