Can't convert PowerPoint files to PDF on Linux (GroupDocs.Conversion, .NET 10)

Environment: GroupDocs.Conversion.Net100 26.6.0, .NET 10, Ubuntu 24.04 Docker container, with libgdiplus installed as your setup guide instructs.

Issue: When converting certain PowerPoint files to PDF, we get this error:

The type initializer for 'Gdip' threw an exception.DllNotFoundException: Unable to load shared library 'gdiplus.dll'

This happens even though we’ve installed everything your Docker guide asks for.

What we think is happening: Your library depends on a Microsoft component (System.Drawing.Common) for image handling. Newer versions of that component no longer work on Linux at all — the setting your guide recommends to fix this (EnableUnixSupport ) stopped working with newer .NET versions. Since your package still relies on the newer version of this component, we don’t think we can fix this from our side.

Questions:

  1. Is there a way to convert PowerPoint files on Linux that doesn’t rely on this Microsoft component? Is the GroupDocs.Conversion.CrossPlatform package (which looks like it hasn’t been updated since December 2024) still being maintained, or is there something else we should use instead?
  2. Would it be safe to force our project to use an older version of that Microsoft component alongside GroupDocs.Conversion?

Happy to share a sample file and full error details if that helps.

Hi @Verthosa,

You nailed it. In 26.6.0 we reference System.Drawing.Common 7.0, which isn’t supported on non-Windows — that’s what’s behind the gdiplus.dll error.

We’ve fixed this for the 27.0 release — it’ll reference System.Drawing.Common 6.0, which works on non-Windows. If you want to try it before the public release, here’s a beta build: https://drive.google.com/file/d/1jwWhhko0JusACIy12ZBnQ8E6jAs38oYM/view?usp=share_link

If you have to stay on 26.6 for now, just pin System.Drawing.Common to 6.0.0 yourself so it wins over the 7.0 that comes in transitively:

<ItemGroup>
  <PackageReference Include="GroupDocs.Conversion" Version="26.6.0" />
  <PackageReference Include="System.Drawing.Common" Version="6.0.0" />
</ItemGroup>

<ItemGroup>
  <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" Trim="false" />
</ItemGroup>

I’ve also attached a small sample project with this exact setup — 26.6.0, .NET 10, Dockerfile included — that converts PPTX to PDF on Linux. Should be enough to test against directly.

And if you’re debugging with Rider/VS “fast mode”: it only builds the base image stage and mounts your local build into it, so those apt packages have to sit in the base stage or the debug run won’t see them.

One note on your CrossPlatform question: it’s obsolete, don’t switch to it. GroupDocs.Conversion itself is the cross-platform package now.

Let us know how it goes.

PresentationToPdf.zip (27.5 KB)