Skip to content

Commit 184dc5b

Browse files
authored
Merge pull request #496 from telerik/Q1_2025
Q1 2025
2 parents 8a1532f + aad3dd5 commit 184dc5b

26 files changed

+536
-509
lines changed
Loading
Loading

distribution-and-licensing/license-agreement.md

+4
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@ __UI for Xamarin__: [https://www.telerik.com/purchase/license-agreement/ui-for-x
2525

2626
__UI for WinUI__: [https://www.telerik.com/purchase/license-agreement/winui](https://www.telerik.com/purchase/license-agreement/winui?_ga=2.104003584.145105266.1615285037-1571667030.1570715481)
2727

28+
## See Also
29+
30+
* [Setting Up Document Processing Libraries License Key]({%slug license-key%})
31+
* [Redistributing Telerik Document Processing]({%slug installation-deploying-telerik-document-processing%})
+196
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
---
2+
title: Setting Up Document Processing Libraries License Key
3+
page_title: Setting Up Document Processing Libraries License Key
4+
slug: license-key
5+
tags: license,key, document, processing
6+
published: True
7+
position: 2
8+
---
9+
10+
# Setting Up Your Telerik Document Processing Libraries License Key
11+
Starting with the Q1 2025 release, the libraries from Telerik Document Processing require activation through a license key (trial or commercial). This article describes how to download, install, and update your personal license key.
12+
13+
To install the license key and activate the libraries:
14+
15+
1. [Download the license key](#downloading-the-license-key).
16+
1. [Install or update the license key file on your system or** in your project](#installing-or-updating-your-license-key).
17+
18+
The implementation of the 2025 licensing requirements will occur in two phases:
19+
20+
- Phase 1 - Starting with the 2025 Q1 release, a missing or invalid license causes [warnings during build](#license-activation-errors-and-warnings). The commercial distributions of the libraries do not exhibit any functional restrictions.
21+
- Phase 2 - Starting with the 2025 Q2 release, a missing or invalid license will result in [build errors and run-time indicators](#license-activation-errors-and-warnings), such as watermarks and banners.
22+
23+
Note that future updates of the product may restrict or disable some features when no valid license is present. You can send us feedback through the Contact Us form or by [opening a support ticket](https://www.telerik.com/account/support-center/contact-us?utm_source=licensing&utm_medium=console&utm_campaign=no_references).
24+
25+
## Downloading the License Key
26+
27+
The Telerik Document Processing Libraries are only distributed as a part of several Telerik bundles and are licensed only according to the terms of the bundle under which they are obtained. In the [License Keys](https://www.telerik.com/account/your-licenses/license-keys) article you can find specific license key instruction for each respective bundle.
28+
29+
To download a license key, you must have either a developer license or a trial license. If you are new, you can sign up for a [free trial](https://www.telerik.com/account/trials) first, and then follow the steps below.
30+
31+
1. Go to the [License Keys](https://www.telerik.com/account/your-licenses/license-keys) page in your Telerik account.
32+
1. Click the **Download License Key** button.
33+
34+
![Download License Key](images/download-license-key.png)
35+
36+
The [Progress Control Panel](https://www.telerik.com/download-trial-file/v2/control-panel), automated MSI installer, and the Visual Studio Extensions (if available) of each product will automatically download and store your license key in your home directory. This makes it available for all projects that you develop on your local machine.
37+
38+
## Installing or Updating Your License Key
39+
Whenever you purchase a new license or renew an existing one, always [download](#downloading-the-license-key) and install a new license key. The new license key includes information about all previous license purchases. The procedure for the installation of a new license key and update of a license key is the same:
40+
41+
1. Copy the [downloaded](#downloading-the-license-key) telerik-license.txt license key file to your home directory. This makes the license key available to all projects that you develop on your computer.
42+
1. For Windows: %AppData%\Telerik\telerik.license.txt
43+
1. For Mac/Linux: ~/.telerik/telerik.license.txt
44+
Alternatively, copy the telerik-license.txt license key file to the root folder of your project. This makes the license key available only to this project. Do not commit the file to source control as this is your personal license key.
45+
1. Add the Telerik.Licensing NuGet package as a project dependency. This package will automatically locate the license file at build time. If your project doesn’t use NuGet packages, see the next document section.
46+
47+
### Installing a License Key in Projects without NuGet References
48+
If you’re not using NuGet packages in your project, add the license as a code snippet:
49+
50+
1. Go to the [License Keys](https://www.telerik.com/account/your-licenses/license-keys) page in your Telerik account.
51+
1. On the corresponding product row, click the **View key** link in the **SCRIPT KEY** column.
52+
![Download Product Key](images/download-product-key.png)
53+
1. Copy the C# code snippet into a new file, for example, TelerikLicense.cs.
54+
1. Add the TelerikLicense.cs file to your project.
55+
56+
Do not publish the license key code snippet in publicly accessible repositories. This is your personal license key.
57+
58+
-----
59+
60+
## Adding the License Key to CI Services
61+
This article describes how to set up and activate your [license key](https://www.telerik.com/account/your-licenses/license-keys) across a few popular CI services by using environment variables.
62+
63+
When working with CI/CD platforms, always add the Telerik.Licensing NuGet package as a project dependency. This package activates the product libraries at build time by using the provided license key.
64+
65+
The license activation process in a CI/CD environment involves the following steps:
66+
67+
1. [Download](https://www.telerik.com/account/your-licenses/license-keys) a license key from your Telerik account.
68+
2. Add the Telerik.Licensing NuGet package as a project dependency:\<PackageReference Include="Telerik.Licensing" Version="1.\*" /\>
69+
2. [Create an environment variable](#creating-an-environment-variable) and add your license key as a value.
70+
71+
### Creating an Environment Variable
72+
The recommended approach for providing your license key to the Telerik.Licensing NuGet package is to use environment variables. Each CI/CD platform has a different process for setting environment variables and this article lists only some of the most popular examples.
73+
74+
#### Azure Pipelines (YAML)
75+
1. Create a new [User-defined Variable](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch) named TELERIK\_LICENSE.
76+
1. Paste the contents of the license key file as a value.
77+
78+
#### Azure Pipelines (Classic)
79+
1. Create a new [user-defined variable](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=classic%2Cbatch) named TELERIK\_LICENSE.
80+
1. Paste the contents of the license key file as a value.
81+
82+
#### GitHub Actions
83+
1. Create a new [Repository Secret](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository) or an [Organization Secret](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization).
84+
1. Set the name of the secret to TELERIK\_LICENSE and paste the contents of the license file as a value.
85+
1. After running npm install or yarn, add a build step to activate the license:
86+
87+
```yaml
88+
env:
89+
TELERIK_LICENSE: ${{ secrets.TELERIK_LICENSE }}
90+
```
91+
-----
92+
## Frequently Asked Questions
93+
This article lists the answers to the most frequently asked questions (FAQs) about working with the license key.
94+
### [2025 Q2] Will the product function with an expired license key?
95+
This depends on your license type.
96+
97+
- **Perpetual licenses** will continue to function normally with an expired license key. However, the following will happen if you update or install a package version which is released after the expiration date of the license:
98+
- A watermark appears on application startup.
99+
- A modal dialog appears on application startup.
100+
- A warning message is logged in the build log.
101+
See the [Invalid License]() section for more information.
102+
- **Subscription licenses** will prevent you from building the application with an expired license key. Deployed applications will continue to function normally.
103+
- **Trial licenses** will prevent you from building or running the application. The following will happen if you try to build or run the application:
104+
- A watermark appears on application startup.
105+
- A modal dialog appears on application startup.
106+
- A warning message similar to the following is logged in the build log.
107+
See the [Invalid License]() section for more information.
108+
109+
Note that future updates of the library may restrict or disable some features when no valid license is present.
110+
### I updated the version of the product packages in my project and the invalid license errors have appeared. What is the cause of this behavior?
111+
If this happens, the possible reason is that the end date of the license activated in your application is before the release date of the newly installed product. To fix this issue:
112+
113+
1. [Download a new license key](#downloading-the-license-key).
114+
1. [Activate the new license key](#installing-or-updating-your-license-key) in your project.
115+
116+
### Can I use the same license key in multiple builds?
117+
You can use your personal license key in multiple pipelines, builds, and environments.
118+
119+
However, each individual developer must use a unique personal license key.
120+
### Does the license key expire?
121+
Yes, the license key expires at the end of your support subscription:
122+
123+
- For trial users, this is at the end of your 30-day trial.
124+
- For commercial license holders, this is when your subscription term expires.
125+
126+
You will need to obtain and install a new license key after starting a trial, renewing a license, or upgrading a license.
127+
128+
An expired perpetual license key is valid for all product versions published before its expiration date.
129+
### Do I need an Internet connection to activate the license?
130+
No, the license activation and validation are performed entirely offline.
131+
132+
The license is not validated with our services at any point in the project lifecycle.
133+
### Do I have to add the license key to source control?
134+
No, you do not have to add the telerik-license.txt license key file or its contents to source control.
135+
136+
Build servers must use the TELERIK\_LICENSE environment variable described in [Adding the License Key to CI Services](#adding-the-license-key-to-ci-services).
137+
138+
Do not store the license key in plaintext, for example, in a GitHub Actions Workflow definition.
139+
### What happens if both the environment variable and the license key file are present?
140+
If both the TELERIK\_LICENSE environment variable and the telerik-license.txt file are present, then the environment variable will be used.
141+
142+
To enforce the use of the license key file, unset the environment variable.
143+
### My team has more than one license holder. Which key do we have to use?
144+
To activate the product, you can use any of the keys associated with your subscriptions.
145+
### Are earlier versions of the product affected?
146+
No, versions released prior to Jan 2025 do not require a license key.
147+
### What happens if I make a change to non-Telerik parts of the code after the subscription expires?
148+
This depends on your license:
149+
150+
- If you have a perpetual license, you can build the application with the Telerik libraries.
151+
- If you have an expired subscription license, the build will fail.
152+
153+
-----
154+
## License Activation Errors and Warnings
155+
Starting with the 2025 Q1 release, using a product without a license or with an invalid license causes specific license warnings and errors. This article defines what an invalid license is, explains what is causing it, and describes the related license warnings and errors.
156+
157+
The implementation of the 2025 product licensing requirements will occur in two phases:
158+
159+
- Phase 1 - Starting with the 2025 Q1 release, a missing or invalid license logs a warning in the build log.
160+
- Phase 2 - Starting with the 2025 Q2 release, a missing, expired, or invalid license will result in:
161+
- A watermark appearing on application startup.
162+
- A modal dialog appearing on application startup. Clicking the **OK** button of the dialog closes the dialog and removes the banner until the next application startup.
163+
- A warning message appearing in the build log:
164+
165+
### Invalid License
166+
An invalid license can be caused by any of the following:
167+
168+
- Using an expired subscription license-subscription licenses expire at the end of the subscription term.
169+
- Using a perpetual license for product versions released outside the validity period of your license.
170+
- Using an expired trial license.
171+
- A missing license for the product.
172+
- Not installing a license key in your application.
173+
- Not updating the license key after renewing your product license.
174+
175+
### License Warnings and Errors
176+
Using the product in a project with an expired or missing license, the Telerik.Licensing build task will indicate the following errors:
177+
178+
- No license key is detected - [Install a license key](#installing-or-updating-your-license-key) to activate the libraries and remove the error message.
179+
- Invalid license key - [Download a new license key](#downloading-the-license-key) and install it to activate the libraries and remove the error message.
180+
181+
In addition, the following conditions will be logged:
182+
183+
|**Condition**|**Solution**|
184+
|----|----|
185+
|Your subscription license has expired.|Renew your subscription and [download a new license key](#downloading-the-license-key).|
186+
|Your perpetual license is invalid.|You are using a product version outside the validity period of your perpetual license. To resolve this, do either of the following: <br> - Purchase a license for the current product version, then download and install a new key. <br> - Downgrade to a version covered by your perpetual license, as specified in the message. |
187+
|Your trial license has expired.|Purchase a commercial license to continue using the product.|
188+
|Your license is not valid for the detected product(s).|Review the purchase options for the listed products.<br>Alternatively, remove the references to the listed packages from package.json.|
189+
190+
Starting with the 2025 Q2 release of the product in May 2025, all conditions above will be treated as errors.
191+
192+
## See Also
193+
194+
* [License Agreement]({%slug license-agreement%})
195+
* [Redistributing Telerik Document Processing]({%slug installation-deploying-telerik-document-processing%})
196+

distribution-and-licensing/trial-license-limitations.md

+1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ In PDF and flow formats, this is a message at the top of the document, whereas f
2222
# See Also
2323

2424
* [How to Upgrade Trial to Licensed Version]({%slug upgrade-trial-to-licensed-version%})
25+
* [Setting Up Document Processing Libraries License Key]({%slug license-key%})
2526

knowledge-base/add-barcode-to-pdf-telerik.md

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ Learn how to generate a PDF document and add a barcode to it.
2121

2222
![Pdf with Barcodes](images/pdf-with-barcodes.png)
2323

24+
>note As of **Q1 2025** RadPdfProcessing provides support for adding Barcodes (1D and 2D) into a PDF document: [Adding Barcode into a Document]({%slug radpdfprocessing-model-formsource%}#adding-barcode-into-a-document).
25+
2426
## Solution
2527

2628
To add a barcode to a PDF document, consider using the [WinForms BarcodeView](https://docs.telerik.com/devtools/winforms/controls/barcodeview/overview):

knowledge-base/pdfprocessing-creating-tablecells-with-gotoaction-and-uriaction.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,8 @@ The following example demonstrates how to create TableCells with GoToAction and
112112

113113
{{endregion}}
114114

115-
````
115+
````
116+
117+
## See Also
118+
119+
* [Link annotations]({%slug radpdfprocessing-model-annotations-links%})

libraries/radpdfprocessing/editing/fixedcontenteditor.md

+4-28
Original file line numberDiff line numberDiff line change
@@ -44,28 +44,15 @@ __FixedContentEditor__ is always associated with a single [RadFixedPage]({%slug
4444

4545
#### __[C#] Example 1: Create FixedContentEditor__
4646

47-
{{region cs-radpdfprocessing-editing-fixedcontenteditor_0}}
48-
RadFixedDocument document = new RadFixedDocument();
49-
var firstPage = document.Pages.AddPage();
50-
FixedContentEditor fixedContentEditor = new FixedContentEditor(firstPage);
51-
{{endregion}}
52-
47+
<snippet id='libraries-pdf-editing-fixedcontenteditor-create-fixedcontenteditor'/>
48+
5349
The editor maintains an internal [Position]({%slug radpdfprocessing-concepts-position%}) inside the content root element. When a new element is created, its position is being set to the current position of the editor. The initial position of the editor can be specified when it is created.
5450

5551
__Example 2__ demonstrates how you can create a FixedContentEditor with a specific initial [Position]({%slug radpdfprocessing-concepts-position%}).
5652

5753
#### __[C#] Example 2: Create FixedContentEditor with a specific position__
5854

59-
{{region cs-radpdfprocessing-editing-fixedcontenteditor_1}}
60-
MatrixPosition matrixPosition = new MatrixPosition();
61-
matrixPosition.Translate(20, 20); // Translates the position by (20, 20)
62-
matrixPosition.Translate(30, 30); // Translates the position by (30, 30).
63-
SimplePosition simplePosition = new SimplePosition();
64-
simplePosition.Translate(20, 20); // Translates the position by (20, 20).
65-
simplePosition.Translate(30, 30); // Translates the position by (30, 30) overwriting the previous translations.
66-
FixedContentEditor simplePositionfixedContentEditor = new FixedContentEditor(firstPage,matrixPosition);
67-
FixedContentEditor matrixPositionfixedContentEditor = new FixedContentEditor(firstPage,matrixPosition);
68-
{{endregion}}
55+
<snippet id='libraries-pdf-editing-fixedcontenteditor-set-fixedcontenteditor-position'/>
6956

7057
## Inserting Elements
7158

@@ -167,18 +154,7 @@ When a new clipping is pushed, it is set as a clipping to the current clipping i
167154

168155
#### __[C#] Example 7: Push clipping__
169156

170-
{{region cs-radpdfprocessing-editing-fixedcontenteditor_6}}
171-
string visibleText = "The last word in this text is";
172-
string text = string.Format("{0} clipped.", visibleText); //The last word in this text is clipped.
173-
Block block = new Block();
174-
block.InsertText(visibleText);
175-
Size visisibleTextSize = block.Measure();
176-
177-
using (editor.PushClipping(new Rect(new Point(0, 0), visisibleTextSize)))
178-
{
179-
fixedContentEditor.DrawText(text);
180-
}
181-
{{endregion}}
157+
<snippet id='libraries-pdf-editing-fixedcontenteditor-push-clipping'/>
182158

183159
__Figure 4__ shows the result of __Example 7__.
184160

Loading

libraries/radpdfprocessing/editing/tablerow.md

+17-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ __TableRow__ class represents a single row in a [Table]({%slug radpdfprocessing-
1818

1919
* [Using TableCellCollection](#using-tablecellcollection)
2020

21-
## Inserting a Row
21+
## Inserting a TableRow
2222

2323
You can easily add a __TableRow__ instance by using the __AddTableRow()__ method of the __Table__ class.
2424

@@ -51,7 +51,23 @@ __Example 2__ shows how to add two cells in a row and get the cells count.
5151
int cellsInRowCount = tableRow.Cells.Count;
5252
{{endregion}}
5353

54+
## Setting TableRow Height
5455

56+
Since **Q1 2025** you can easily configure the TablRow's height through its **Height** property which accepts the following options defined in the **HeightType** enum:
57+
58+
* __Auto__: Automatically determines the row height.
59+
60+
* __Exact__: Sets an exact row height. The value is in [Device Independent Pixels]({%slug device-independent-pixels%}) (DIPs).
61+
62+
* __AtLeast__: Sets a minimum row height. The value is in [Device Independent Pixels]({%slug device-independent-pixels%}) (DIPs).
63+
64+
__Example 3__ creates a table with three single-cell rows, each with a different **HeightType**.
65+
66+
#### __[C#] Example 3: Set TableRow height__
67+
68+
<snippet id='libraries-pdf-editing-tablerow-set-tablerow-height'/>
69+
70+
![Rad Pdf Processing Editing TableRow Height](images/RadPdfProcessing_Editing_TableRow_Height.png)
5571

5672
## See Also
5773

0 commit comments

Comments
 (0)