# How to resolve SpreadProcessing Cross-Platform Differences Due To Limitations

## Environment

| Version    | Product                              | Author                                                                |
| ---------- | ------------------------------------ | --------------------------------------------------------------------- |
| 2026.2.707 | RadSpreadProcessing/RadPdfProcessing | [Yoan Karamanov](https://www.telerik.com/blogs/author/yoan-karamanov) |

## Description

In cross-platform projects, you often use [`RadSpreadProcessing`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/overview) to work with Excel files and use [`PdfFormatProvider`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/formats-and-conversion/pdf/pdfformatprovider) only for Excel to PDF conversion. In this setup, the XLSX result can look correct while the exported PDF result shows clipped text, fallback fonts, or image issues.

This article covers two scenarios:

* Working only with XLSX files through [`Workbook`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/working-with-workbooks/working-with-workbooks-what-is-workbook) and [`Worksheet`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/working-with-worksheets/what-is-worksheet) APIs.
* Working with XLSX files and exporting to PDF through [`PdfFormatProvider`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/formats-and-conversion/pdf/pdfformatprovider).

## Cause

The cross-platform build does not expose OS-specific APIs for automatic font resolution, text measurement, and image processing. Because of this, XLSX processing and PDF export do not use identical rendering paths unless you configure the required extensibility points.

## Solution

### Apply Configuration Based on the Scenario

Use the following mapping:

| Scenario                           | Typical Effect                                                                                  | Action                                                                                                                                                                                       |
| ---------------------------------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| XLSX import, edit, and export only | Incorrect text fit, width, or row-height calculations in specific layouts                       | Configure [`SpreadExtensibilityManager.TextMeasurer`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/text-measure) |
| XLSX to PDF export                 | Missing symbols, fallback fonts, clipped text, image export issues, and page layout differences | Configure text measuring, fonts, images, and page setup before export                                                                                                                        |

### Configure Text Measuring for Both Scenarios

Set [`SpreadExtensibilityManager.TextMeasurer`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/text-measure) to improve text sizing:

```csharp
SpreadTextMeasurerBase fixedTextMeasurer = new SpreadFixedTextMeasurer();
SpreadExtensibilityManager.TextMeasurer = fixedTextMeasurer;
```

Text measuring affects both XLSX-only and XLSX to PDF workflows.

### Configure Fonts for Both Scenarios

Set a [`FontsProviderBase`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/cross-platform/fonts) implementation to [`FixedExtensibilityManager`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/cross-platform/overview) so the exporter can read and embed document fonts:

```csharp
FontsProviderBase fontsProvider = new FontsProvider();
FixedExtensibilityManager.FontsProvider = fontsProvider;
```

If fonts are not resolved, the PDF export pipeline falls back to standard PDF fonts and the result differs from the original XLSX file.

> important When you use `SpreadFixedTextMeasurer`, ensure that `FixedExtensibilityManager.FontsProvider` is configured. The `SpreadFixedTextMeasurer` performs calcualtions against the used fonts, so if the correct fonts are not provided it falls back to a deafult font and resutls in icorrect calculations and measurements.

### Configure Image Processing for XLSX to PDF Export

If the workbook contains images that require conversion or metadata parsing, configure the image extensibility points described in:

* [Exporting Images in SpreadProcessing Cross-Platform](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/images)
* [Images in PdfProcessing Cross-Platform](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/cross-platform/images)

Without this setup, export can fail or produce different image output.

### Configure Page Setup and PDF Export Settings for XLSX to PDF

Before calling [`PdfFormatProvider`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/formats-and-conversion/pdf/pdfformatprovider), configure [`WorksheetPageSetup`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/worksheetpagesetup) and [`PdfExportSettings`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/formats-and-conversion/pdf/format-and-conversion-settings) to control scaling, margins, paper size, and exported range:

```csharp
WorksheetPageSetup pageSetup = workbook.ActiveWorksheet.WorksheetPageSetup;
pageSetup.FitToPages = true;
pageSetup.FitToPagesWide = 1;
pageSetup.FitToPagesTall = 0;
```

### Handle Known Cross-Platform Limits

Chart export to PDF is not supported in .NET Standard for [`RadSpreadProcessing`](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/cross-platform). If your workbook depends on chart visuals, use an alternative workflow such as pre-rendering charts outside the PDF export pipeline.

## See Also

* [SpreadProcessing Cross-Platform Support](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/cross-platform)
* [Text Measuring in SpreadProcessing](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/text-measure)
* [Exporting Images in SpreadProcessing Cross-Platform](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/cross-platform-support/images)
* [PdfProcessing Cross-Platform Support](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/cross-platform/overview)
* [Fonts in PdfProcessing Cross-Platform](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/cross-platform/fonts)
* [Images in PdfProcessing Cross-Platform](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/cross-platform/images)
* [How to Implement a FontsProvider](https://www.telerik.com/document-processing-libraries/documentation/knowledge-base/pdfprocessing-implement-fontsprovider)
* [Worksheet Page Setup](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/worksheetpagesetup)
* [How to Eliminate Formatting Issues when Exporting XLSX to PDF Format](https://www.telerik.com/document-processing-libraries/documentation/knowledge-base/exporting-xlsx-to-pdf-formatting-issues)
