Skip to content

Q2 2025 Release Changes #541

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions distribution-and-licensing/license-key/before-q2-2025.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: Licensing before 2025
page_title: "Licensing mechanism before Q2 2025 explained."
description: "Learn more about Licensing in Telerik Document Processing before Q2 2025 and how you may upgrade your Trial license to Purchase license"
slug: licensing-before-q2-2025
tags: licensing, dpl, document, processing, before, 2025, trial, dev
published: True
position: 4
---

# Licensing before 2025

[Telerik Document Processing]({%slug introduction%}) used to come in **Trial** and **Developer** (or commercial) licenses until Q2 2025.

## Trial Licenses

Telerik Document Processing is available under a 30-day trial license with a full-featured version of the tool—no restrictions! What’s more, you are eligible for complete technical support during your trial period in case you have any questions.

The free trial licenses of all Telerik products are fully functional and will work for an unlimited time, but will randomly display a copyright message. These builds have the `Trial` abbreviation in their file names. To use the trial version of Telerik Document Processing, you need to agree to the [End User License Agreement (EULA)]({%slug license-agreement%}).

* To sign up for a free 30-day trial, [Log in to your Telerik account or create one](https://www.telerik.com/account).
* To download the trial version, refer to the [Telerik Document Processing's Product page](https://www.telerik.com/document-processing-libraries).
* To download a developer build with a trial license, log into your [Telerik account](https://www.telerik.com/account/).

## Developer Licenses

Telerik Document Processing also offers a developer license. To use Telerik Document Processing commercially, you need to purchase a license and to agree to the terms of use, which are fully described in the [End User License Agreement (EULA)]({%slug license-agreement%}).

Developer licenses come with modified DLLs, which work without displaying copyright messages. If you have a Developer license for one or more Telerik components, you need to ensure that you are using the developer build when downloading the libraries. These builds have the `Dev` abbreviation in their file names.

If your application is displaying a copyright message intermittently, this means that you are using a trial version of the product. Log in to your [Telerik account and download](https://www.telerik.com/account/downloads) the developer build by choosing the product from the available Licenses.

For more information on the commercial terms, refer to the pricing list of the [available developer licenses which include Telerik Document Processing](https://www.telerik.com/purchase.aspx)

## Upgrading from Trial to Developer

To upgrade the trial version of your license to a developer license:

1. Back up your Telerik Document Processing files and folders especially if your project uses the settings that are included in them.
1. Uninstall the __Trial__ version of the Telerik product with which you have obtained the Document Processing libraries either by using the __Start Menu__ shortcut or the __Add/Remove Programs__ dialog.
1. Obtain the new __Dev__ installer and [install Telerik Document Processing]({%slug installation-installing-on-your-computer%}).

>note More information is available in the following KB article: [How to Upgrade Trial to Licensed Version]({%slug upgrade-trial-to-licensed-version%}).

## Redistribution

Telerik Document Processing is a part of several [Telerik bundles](https://www.telerik.com/purchase.aspx) and is licensed under the conditions with which you've obtained the product. Read more in the [Redistributing Telerik Document Processing]({%slug installation-deploying-telerik-document-processing%}) topic.

For further discussing your planned use of Telerik Document Processing, send an email to [[email protected]](mailto:[email protected]).

# See Also

* [Trial vs Licensed version]({%slug trial-license-limitations%})
* [Installing on Your Computer]({%slug installation-installing-on-your-computer%})
* [Install using NuGet Packages]({%slug installation-nuget-packages%})
* [Download Product Files]({%slug download-product-files%})
50 changes: 50 additions & 0 deletions getting-started/download-product-files.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Download Product Files
description: Learn how to download the source code, pdf documentation, different versions from your Telerik account.
page_title: Download Product Files
slug: download-product-files
tags: download, dpl, product, file, assets, distribution
published: True
position: 4
---

# Download Product Files

The [Telerik Document Processing]({%slug introduction%}) libraries are available as a separate distribution in the **Downloads** section of your [Telerik account](https://www.telerik.com/account/).

Since the **Telerik Document Processing** is a part of several [Telerik bundles](https://www.telerik.com/purchase.aspx) and it is installed following the steps for installing the suite with which you've obtained the product, when you purchase a Telerik license, you can download the following files:

* Latest Public version

* Latest [Preview version]({%slug obtain-use-latest-internal-build-version%})

* Assemblies available as NuGet packages

* Previous versions

* Source code

* Documentation files

Тo download these files, follow the steps below:

1\. Log into [your Telerik account](https://www.telerik.com/account/) and click the **Downloads** option:

![Downloads in Your Account](images/downloads-account.png)

2\. Select **Telerik Document Processing**:

![DPL Downloads in Your Account](images/dpl-downloads-account.png)

3\. Select an asset you want to download: DLLs, PDB files, NuGet Packages, documentation files, or Source code:

![DPL Product Files](images/dpl-product-files.png)

4\. You can choose between official Public versions or Preview versions (if such exist) according to the activation date of your license. From the **Version** drop down list, you can also select which specific version to download.

>important If you are looking for a specific version, but it isn't listed in the Version list, please contact our sales team: **[email protected]**. They will make the required version available for download.

## See Also

* [What Versions of Document Processing Libraries are Distributed with the Telerik Products]({%slug distribute-telerik-document-processing-libraries-net-versions%})
* [Latest Internal Build (Preview Version)]({%slug obtain-use-latest-internal-build-version%})
Binary file added getting-started/images/downloads-account.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added getting-started/images/dpl-downloads-account.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added getting-started/images/dpl-product-files.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn what are the limitations related to the usage of digital sign
page_title: Limitations
slug: radpdfprocessing-features-signature-validation
tags: digital, signature, limitations
position: 2
position: 3
---

# Limitations
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: PdfStreamSigner
description: Learn how to add multiple Digital Signatures to a PDF document using PdfStreamSigner.
page_title: PdfStreamSigner
slug: radpdfprocessing-features-digital-signature-pdfstreamsigner
tags: pdfprocessing, document, processing, pdf, digital, sigature, stream, writer, multiple, sign
published: True
position: 1
---

# PdfStreamSigner

As of **Q2 2025** RadPdfProcessing intorduces the **PdfStreamSigner**. The **SignDocument** method it exposes allows the user to insert one or more [Digital Signatures]({%slug radpdfprocessing-features-digital-signature%}) into a PDF document.

|Method|Description|
|----|----|
|**PdfStreamSigner(Stream outputStream)**|Creates a new instance of thе PdfStreamSigner and specifies the output stream of the signed document.|
|**SignDocument(Stream originalStream, SignatureField signatureField, int pageIndex, TimeSpan? timeout)**|Adds a [Digital Signature]({%slug radpdfprocessing-features-digital-signature%}) to the PDF document|

The following example shows how to insert multiple [Digital Signatures]({%slug radpdfprocessing-features-digital-signature%}) into a PDF document using the PdfStreamSigner:

>important In .NET Standard use __Telerik.Documents.Primitives.Rect__ instead of __System.Windows.Rect__.

>important When adding multiple signatures, make sure the document is exported after each signature before importing it back again.

<snippet id='libraries-pdf-features-digital-signature-pdfstreamsigner'/>

![PdfProcessing Multiple Digital Signatures](images/radpdfprocessing-features-digital-signature-pdfstreamsigner.png)

## See Also

* [Digital Signature]({%slug radpdfprocessing-features-digital-signature%})
* [Signature Field]({%slug radpdfprocessing-model-interactive-forms-form-fields-signaturefield%})
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: The digital signature feature enables you to sign and validate a PD
page_title: Signature Validation
slug: radpdfprocessing-features-signature-validation
tags: digital, signature, validate
position: 1
position: 2
---

## Validating a Signature
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ position: 0

This topic describes the requirements needed by the [PdfProcessing]({%slug radpdfprocessing-overview%}) library to start using the **OcrFormatProvider**.

>important The default Tesseract implementation is at this point **Windows-only**. You can still use the OCR feature with a [custom implementation]({%slug radpdfprocessing-formats-and-conversion-ocr-custom-ocrprovider%}).
>important The default Tesseract implementation is at this point **Windows** and **Linux-only**. You can still use the OCR feature with a [custom implementation]({%slug radpdfprocessing-formats-and-conversion-ocr-custom-ocrprovider%}).

>note Used images should be **300 DPI** for best results.

Expand Down Expand Up @@ -80,6 +80,20 @@ In order to use the **OcrFormatProvider** you need to add the following assembli
<sub><i>Telerik.Documents.ImageUtils depends on SkiaSharp.</i></sub>
</td>
</tr>
<tr>
<td><b>-</b></td>
<td>
<b>SkiaSharp.NativeAssets.*</b> (version 2.88.8)
<br>
<sub><i>May differ according to the used platform. For <b>Linux</b> (since <b>Q2 2025</b>) use <b>SkiaSharp.NativeAssets.Linux.NoDependencies</b> and execute the <a href="#linux-specific-steps">required commands.</a></i></sub>
</tr>
<tr>
<td><b>-</b></td>
<td>
<b>SkiaSharp.Views.Blazor</b> and <b>wasm-tools</b>
<br>
<sub><i>For Blazor Web Assembly.</i></sub>
</tr>
</tbody>
</table>

Expand All @@ -103,7 +117,7 @@ tessdata
```
![tessdata Structure](images/tessdata-structure.png)

### Manually set up the Tesseract native assemblies
## Manually set up the Tesseract native assemblies

Ensure that the following already exist in the root directory of your project:
- The "_Tesseract.dll_" assembly.
Expand All @@ -113,7 +127,6 @@ Ensure that the following already exist in the root directory of your project:

If these requirements are not met, go through the following steps:

1. [Extract the "Tesseract.dll" assembly from the _Telerik.Windows.Documents.TesseractOcr_ NuGet package and add it to your project]({%slug extract-assemblies-from-nuget%}).
1. Download the "_tesseract50.dll_" and "_leptonica-1.82.0.dll_" native assemblies from the listed links:
* https://github.com/charlesw/tesseract/tree/master/src/Tesseract/x64.
* https://github.com/charlesw/tesseract/tree/master/src/Tesseract/x86.
Expand All @@ -128,9 +141,22 @@ If these requirements are not met, go through the following steps:
├── tesseract50.dll
└── leptonica-1.82.0.dll
```

### Linux-specific steps
Execute the following commands in the environment:
|Ubuntu|Alpine|Fedora|
|----|----|----|
|```sudo apt update```|```dsudo apk update```|```sudo dnf install tesseract```|
|```sudo apt install tesseract-ocr```|```sudo apk add tesseract-ocr```|```sudo dnf install leptonica```|
|```sudo apt install libleptonica-dev```|```sudo apk add leptonica```||

>caution If the generated **tesseract/leptonica** .so files cannot be found, it is likely that they were installed with different names than expected. To resolve this, you can copy their names and location, and set them to the corresponding properties:
> * **TesseractEnvironment.TesseractUnixLibName**
> * **TesseractEnvironment.LeptonicaUnixLibName**
> * **TesseractEnvironment.CustomSearchPath**

## See Also

* [Using OcrFormatProvider]({%slug radpdfprocessing-formats-and-conversion-ocr-ocrformatprovider%})
* [Implementing a Custom OCR Provider]({%slug radpdfprocessing-formats-and-conversion-ocr-custom-ocrprovider%})
* [Cross-Platform Images]({%slug radpdfprocessing-cross-platform-images%})
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ The **PdfFormatProvider** class offers the **ExportSettings** property which all
|Property|Description|
|----|----|
|**StripJavaScriptActions**|Specifies if the PDF document should strip JavaScript actions on export. *Introduced in Q4 2024*. The default value is **false**.|
|**ShouldEmbedFonts** (obsolete)|Specifies whether the font files should be embedded in the PDF document. The default value is *true* because the fonts should be embedded in the file by the PDF Standard. This means that by default the fonts are added which allows proper viewing on any device. If the fonts are not embedded and the file is viewed on a device that does not have the used fonts the font might be substituted. If the font is embedded in the PDF file, it ensures the most predictable and dependable results. As of **Q2 2024** the **ShouldEmbedFonts** property is obsolete. Use the **FontEmbeddingType** property instead.|
|**FontEmbeddingType**|The property controls what part of the fonts will be embedded in the file offering the following options: <ul><li>**None**: Does not embed fonts.</li><li>**Full**: Fully embeds fonts.</li><li>**Subset**: Embeds only the used characters subset of the fonts. This is the default approach.</li></tr></ul> The subset export option is currently implemented **only** for TrueType fonts (.ttf).|
|**IsEncrypted**|This property specifies if the document should be encrypted. The default value is *false*. You can specify the encryption algorithm by setting the **EncryptionType** property. The supported values are **AES256** and **RC4**. </br>**All passwords for revision 6 (AES-256) shall be based on Unicode**. Preprocessing of a user-provided password consists first of normalizing its representation by applying the "SASLPrep" profile (Internet RFC 4013) of the "stringprep" algorithm (Internet RFC 3454) to the supplied password using the Normalize and BiDi options. </br> This setting is ignored when __ComplianceLevel__ differs from __None__ as PDF/A compliant documents do not allow encryption.|
|**UserPassword**|The password to be used if the document is encrypted. The default password is an empty string.|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ published: True
position: 2
---

<style>
table, th, td {
border: 1px solid;
}
table th:first-of-type {
width: 25%;
}
table th:nth-of-type(2) {
width: 75%;
}
</style>

# Overview

The **PdfStreamWriter** class enables you to write file content directly to a Stream. This is the root element of the streaming mechanism used when exporting a PDF document.
Expand Down Expand Up @@ -87,23 +99,19 @@ The members of the class allow you to set several properties of the document you

### Settings of PdfStreamWriter

Through the **Settings property** of PdfStreamWriter you can control the way the document is exported. The following list describes the available properties:

* **DocumentInfo**: A property of type [RadFixedDocumentInfo](https://docs.telerik.com/devtools/document-processing/api/Telerik.Windows.Documents.Fixed.Model.RadFixedDocumentInfo.html), intended to hold additional information about the document. The RadFixedDocumentInfo class allows you to set the title, author and description of the document.

* **ImageQuality**: This property is of type [ImageQuality]({%slug radpdfprocessing-concepts-imagequality%}) and gets or sets the default image quality when exporting images to PDF. The default value is *High*. The value of this property is overridden when specifying the ImageQuality in ImageSource constructor or when creating [ImageSource]({%slug radpdfprocessing-model-imagesource%}) from EncodedImageData. The quality of the images reflects the size of the PDF file. The higher the quality, the bigger the document size is.
Through the **Settings** property of PdfStreamWriter you can control the way the document is exported. The following list describes the available properties:

* **ImageCompression**: Gets or sets the image compression type. The possible values are:
- **None**: No compression will be used.
- **Default**: The image compression will be preserved as it is in the original document.
- **FlateDecode**: The images will be encoded with a FlateDecode filter.
- **DCTDecode**: Compresses data using a DCT (discrete cosine transform) technique based on the JPEG standard.
|Property|Description|
|----|----|
|**DocumentInfo**|A property of type [RadFixedDocumentInfo](https://docs.telerik.com/devtools/document-processing/api/Telerik.Windows.Documents.Fixed.Model.RadFixedDocumentInfo.html), intended to hold additional information about the document. The RadFixedDocumentInfo class allows you to set the title, author and description of the document.|
|**ImageQuality**|This property is of type [ImageQuality]({%slug radpdfprocessing-concepts-imagequality%}) and gets or sets the default image quality when exporting images to PDF. The default value is *High*. The value of this property is overridden when specifying the ImageQuality in ImageSource constructor or when creating [ImageSource]({%slug radpdfprocessing-model-imagesource%}) from EncodedImageData. The quality of the images reflects the size of the PDF file. The higher the quality, the bigger the document size is.|
|**ImageCompression**|Gets or sets the image compression type. The possible values are: <br> - **None**: No compression will be used. <br> - **Default**: The image compression will be preserved as it is in the original document. <br> - **FlateDecode**: The images will be encoded with a FlateDecode filter. <br> - **DCTDecode**: Compresses data using a DCT (discrete cosine transform) technique based on the JPEG standard.|
|**WriteAnnotations**|A boolean property indicating whether the annotations should be included in the exported document.|
|**StreamCompression**|Gets or sets the content stream compression type. Possible Values are: <br>- **None**: The content streams won't be encoded. <br>- **FlateDecode**: Compresses data using the zlib/deflate compression method.|

* **WriteAnnotations**: A boolean property indicating whether the annotations should be included in the exported document.
When merging documents' pages using the PdfStreamWriter the Form Fields may be duplicated. As of **Q2 2025** the **PdfStreamWriterSettings** offers the **MergedFieldNameResolving** event which occurs when trying to resolve conflicts between the fields names while merging instances with duplicated names:

* **StreamCompression**: Gets or sets the content stream compression type. Possible Values are:
- **None**: The content streams won't be encoded.
- **FlateDecode**: Compresses data using the zlib/deflate compression method.
<snippet id='libraries-pdf-formats-and-conversion-pdfstreamwritersettings'/>

> The XAML SDK repository on GitHub contains examples showing the capabilities of PdfStreamWriter:
>
Expand Down
Loading