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 thefc-cache
command to updatefontconfig
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:
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:
- On Linux, add the SkiaSharp.NativeAssets.Linux NuGet package to the solution in addition to DevExpress.Pdf.SkiaRenderer.
- On Windows Azure, set the PrintingOptions.Pdf.RenderingEngine property to Skia.