I’ve noticed that the SkiaSharp.NativeAssets.Linux.NoDependencies version 3.119.1 breaks in use with Aspose.Words version 25.4.0 on Linux server.
Images from word files are removed from the PDF output. It does work if we use version 3.116.1, but it makes me wonder if there are other issues we are not aware of.
Do you have a SkiaSharp version you recommend using, which is stable?
@simensnc
The combination SkiaSharp.NativeAssets.Linux.NoDependencies 3.119.1 + Aspose.Words 25.4.0 causes the images embedded in a Word document to be omitted from the generated PDF on Linux [0]. The same Word‑to‑PDF conversion works correctly when the native assets package is at version 3.116.1 [0].
Aspose.Words 25.4.0 ships with a specific SkiaSharp runtime (3.116.1). Replacing the bundled native assets with a newer package (3.119.1) breaks the internal rendering pipeline, which results in the missing images [0].
Recommended stable configuration
- Keep the SkiaSharp native assets at 3.116.1 (or simply do not reference a newer SkiaSharp.NativeAssets package so that the version bundled with Aspose.Words is used) [0].
Work‑around / downgrade steps
<!-- In your .csproj (or NuGet package reference) -->
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="3.116.1" />
or remove the explicit SkiaSharp.NativeAssets reference entirely and let Aspose.Words resolve its own dependency.
Future‑proofing
Newer Aspose.Words releases (e.g., 25.5.0 or later) may update the SkiaSharp dependency to a newer, compatible version. Checking the release notes for a later version is advisable if you need a more recent SkiaSharp build.
Next steps
We will log this compatibility issue for the Aspose.Words development team to investigate further. Let us know if you need additional assistance or if the downgrade resolves the problem.
@Professionalize.Discourse
How does one know which SkiaSharp is bundled with which Aspose.Words version? Is there any documentation that Aspose.Words version 25.x uses a certain version?
Also, would it be better to use SkiaSharp.NativeAssets.Linux + libconfig1 rather than SkiaSharp.NativeAssets.Linux.NoDependencies?
@simensnc 25.4 version of Aspose.Words uses SkiaSharp 3.116.1 version. Please try using the appropriate version of SkiaSharp.NativeAssets.Linux. There were breaking API changes between 3.116.1 and 3.119.1 version of SkiaSharp, so they are incompatible.
You can find a list of Aspose.Words dependencies here:
https://www.nuget.org/packages/Aspose.Words/25.4.0#dependencies-body-tab
@alexey.noskov To be honest, the dependencies on the Aspose Words package does not say that it is incompatible with version 3.119.1. It literally is >= 3.116.1, which means that 3.119.1 should work.
@simensnc Yes, you are absolutely right. But 3.119.1 version of SkiaSharp was released after 25.4 version of Aspose.Words. So we could not to test it. So it is recommended to use the same version of SkiaSharp.NativeAssets.Linux as the minimum version of SkiaSharp specified in Aspose.Words dependencies. The specified minimum version of SkiaSharp is the version we use in our tests.