When we try to convert the attached pptx file using ARM64 environment, the error occurs.
image.png (106.2 KB)
08I23-11 - 03 - 08I23-11, Activación, Bloqueo y Desbloqueo de Cuentas de Ahorros.zip (3.2 MB)
When we try to convert the attached pptx file using ARM64 environment, the error occurs.
image.png (106.2 KB)
08I23-11 - 03 - 08I23-11, Activación, Bloqueo y Desbloqueo de Cuentas de Ahorros.zip (3.2 MB)
You are seeing an exception when converting a PPTX file on an ARM64 machine.
To pinpoint the cause we need a bit more information, but the most common reasons are:
Possible cause | What to check / do |
---|---|
Older Aspose.Slides version – ARM‑64 native binaries were added in recent releases. | Upgrade to the latest Aspose.Slides for .NET (e.g., 24.8 or newer). |
Mismatched runtime – Using a x86/x64 build of the library on an ARM64 OS. | Make sure the project targets net6.0/7.0/8.0 (or .NET Core 3.1+) and the reference is the ARM64 NuGet package. |
Missing native libraries – The native Aspose.Slides DLLs are not being copied to the output folder. |
Verify that the runtimes\linux-arm64\native\ (or runtimes\win-arm64\native\ ) folder is present next to your executable. |
File‑specific issue – The attached PPTX may contain elements that trigger a bug on ARM64. | Test with a simple PPTX (e.g., a one‑slide file) to see if the problem persists. |
Provide the exact exception
Share the code snippet you use for conversion, e.g.:
// Example conversion code
using Aspose.Slides;
using System.IO;
var presentation = new Presentation("input.pptx");
presentation.Save("output.pdf", SaveFormat.Pdf);
If you are using a different format (e.g., PNG, HTML) let us know.
Environment details
Item | Example |
---|---|
OS | Ubuntu 22.04 (ARM64) / Windows 11 ARM64 |
.NET runtime | .NET 8.0 SDK 8.0.100 |
Aspose.Slides version | 24.6.0 |
Processor | Apple M1 / Azure A‑Series / Raspberry Pi 4 (ARM64) |
Build configuration | Release / Debug |
Check the deployed native DLLs
After building, the output folder should contain something like:
/runtimes/linux-arm64/native/libAspose.Slides.dll
/runtimes/win-arm64/native/Aspose.Slides.dll
If they are missing, clean the solution and restore NuGet packages again:
dotnet clean
dotnet restore
dotnet build -c Release
Test with a minimal file
Create a new PowerPoint file with a single title slide and try converting it.
If this works, the original PPTX may contain a feature that triggers a known ARM64 issue (e.g., complex SmartArt, embedded OLE objects). In that case we can investigate a specific bug.
Supported Platforms – details on ARM64 support:
https://docs.aspose.com/slides/net/supported-platforms/
Installation guide (NuGet):
https://docs.aspose.com/slides/net/installation/
Converting presentations to PDF (sample code):
https://docs.aspose.com/slides/net/convert-presentations-to-pdf/
If you can provide the items listed in steps 1‑3, we’ll be able to reproduce the issue and give you a precise fix or a workaround.
Looking forward to your reply!
Best regards,
Aspose Support Team
@everaldo,
Thank you for contacting free support. We are sorry that you encountered this problem. We need more details to investigate the case. Please share the following additional information:
Please also note:
System Requirements|Aspose.Slides Documentation
The code example to reproduce the error:
public override void Convert()
{
using (Presentation presentation = new Presentation(OriginalFilePath))
{
if (ConversionConfiguration.DocVariables != null
&& ConversionConfiguration.DocVariables.Count > 0
&& ConversionConfiguration.EnabledUpdatePdfConversionMetadata.GetValueOrDefault(false)
&& !string.IsNullOrEmpty(ConversionConfiguration.InitialDelimiterMetadata)
&& !string.IsNullOrEmpty(ConversionConfiguration.FinalDelimiterMetadata)
&& !ConversionConfiguration.OnlyUpdateDocVariable)
{ Encoding encoding;
if (!string.IsNullOrEmpty(ConversionConfiguration.Encoding))
encoding = Encoding.GetEncoding(ConversionConfiguration.Encoding);
else
encoding = Encoding.GetEncoding("ISO-8859-1");
Dictionary<string, (string value, List<string> imageNames)> variables =
Utils.DecodeDocVariables(encoding, ConversionConfiguration.DocVariables);
UpdateDocVariablesWithReplace(
presentation,
variables,
ConversionConfiguration.InitialDelimiterMetadata,
ConversionConfiguration.FinalDelimiterMetadata
);
}
PdfOptions options = new PdfOptions();
if (ConversionConfiguration.IsPDFA)
options.Compliance = PdfCompliance.PdfA1a;
ConvertedFilePath = Path.ChangeExtension(OriginalFilePath, "pdf");
presentation.Save(ConvertedFilePath, SaveFormat.Pdf, options);
}
}
The exception is thrown as soon as we try to load the .ppt file at: new Presentation(OriginalFilePath)
The exception message is obfuscated, which does not provide any meaningful information or clue about the actual root cause of the failure.
The type initializer for ‘’ threw an exception. - at .(Presentation , Stream , InterruptionToken )
at Aspose.Slides.Presentation.(Stream , Boolean )
at Aspose.Slides.Presentation.(Stream , Boolean )
at Aspose.Slides.Presentation.(String , Boolean )
at Aspose.Slides.Presentation…ctor(String file, LoadOptions loadOptions)
at Aspose.Slides.Presentation…ctor(String file)
at ConverterLib.Converters.PowerPointConverter.Convert() in /src/ConverterLib/Converters/PowerPointConverter.cs:line 17
at SEPDFConverter.Service.ConverterService.Convert() in /src/SEPDFConverter/Service/ConverterService.cs:line 160
new Presentation(OriginalFilePath)
The OS version on which the code was executed:
Running in AWS Graviton ARM64 environment inside Docker.
The .NET target platform in your application project:
<TargetFramework>net9.0</TargetFramework>
The Aspose.Slides version you are using
25.9.0
@everaldo,
Thank you for the details. Unfortunately, I was unable to reproduce the error you described.
Code example:
using (Presentation presentation = new Presentation("08I23.pptx"))
{
PdfOptions options = new PdfOptions();
options.Compliance = PdfCompliance.PdfA1a;
presentation.Save("output.pdf", SaveFormat.Pdf, options);
}
Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /src
COPY *.csproj ./
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app --no-restore
FROM public.ecr.aws/amazonlinux/amazonlinux:2023.7.20250428.1
RUN dnf -y update \
&& dnf -y install fontconfig freetype libicu ca-certificates tar gzip findutils \
&& dnf clean all
RUN curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh \
&& chmod +x /tmp/dotnet-install.sh \
&& /tmp/dotnet-install.sh --channel 9.0 --install-dir /usr/share/dotnet --runtime dotnet \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
WORKDIR /app
COPY --from=build /app ./
ENTRYPOINT ["dotnet", "NetcoreApp.dll"]
.NET version: 9.0
Aspose.Slides version: Aspose.Slides.NET6.CrossPlatform 25.9.0
I hope this will help you. If the issue persists, please share the simplest project with the Dockerfile to reproduce the error on our end.
Did you test with the file “08I23-11 - 03 - 08I23-11, Activación, Bloqueo y Desbloqueo de Cuentas de Ahorros.pptx” attached?