Skip to main content
All docs
V24.1

Use Reporting on Linux and macOS

  • 2 minutes to read

This article lists packages and options that are required before you use Reporting tools on Linux or macOS.

Add Common Libraries

Add the following common libraries to your application:

The .NET library
Install the .NET library of the required version.
Packaged fonts
To install font files on your machine, put them in the /usr/share/fonts folder and execute the fc-cache command to update fontconfig cache files. Refer to the following article for more information on font installation in Reporting Tools: Use Custom Fonts in Reporting
DevExpress.Pdf.SkiaRenderer
Add this package for reports with embedded PDF content.
libcups
Install libcups to support printing with OpenPrinting CUPS on Linux and other Unix-like operating systems. MacOS does not requires any additional packages.

Refer to the following help topic for information on how to avoid .NET 6 limitations related to the System.Drawing.Common library: Reporting .NET/.NET Core Limitations.

The following commands configure the environment in the dockerfile:

View Example: Reporting for ASP.NET Core - How to Use the SkiaSharp-Based DevExpress Drawing Engine

RUN apt-get update
RUN apt-get install -y libc6 libicu-dev libfontconfig1

Enable the Drawing Engine

The DevExpress Drawing Library allows you to use the Skia-based drawing engine in non-Windows environments. Make sure that you add the DevExpress.Drawing.Skia package to your application to use this drawing engine.

If you use the the System.Drawing.Common package v7 and later, the Skia-based engine is enabled automatically and the libgdiplus library is not required.

You can force Skia-based rendering even if DevExpress Reporting does not enable it automatically. Call the following method to do so:

DevExpress.Drawing.Internal.DXDrawingEngine.ForceSkia()

You can find more information about troubleshooting in the following topic: DevExpress.Drawing Library Troubleshooting.

XRPdfContent Control Specifics

The XRPdfContent control uses the CreateBitmap method. This method does not work in Linux-based environments or certain Azure hosting plans. Add the DevExpress.Pdf.SkiaRenderer NuGet package to your solution and use the Skia rendering engine on these platforms: