ASPOSE.SLIDES FOR XAMARIN · NOT A SEPARATE PRODUCT · THE .NET PACKAGE, REFERENCED FROM A XAMARIN PROJECT
The .NET library, from a Xamarin project.
Aspose.Slides for Xamarin is not a separate product. It is Aspose.Slides for .NET referenced from a Xamarin project: the same NuGet package, Aspose.Slides.NET, the same download page, the same licence file. A Xamarin target restores and compiles against the package’s netstandard2.0 asset, so the classes you call are the .NET classes. No Xamarin-specific assembly ships in the package any more — Aspose.Slides.Droid.dll last shipped in 22.10 and was gone from 22.11 — although the assembly still embeds Xamarin.Forms project templates among its XAML-export resources. What nobody has established since is how much of the library runs on an Android device: that asset depends on System.Drawing.Common, and Android has no GDI+ behind it.
- NuGet CLI
dotnet add package Aspose.Slides.NET- Package Manager
Install-Package Aspose.Slides.NET
Aspose.Slides.NET restores and compiles against a Xamarin.Android target through its netstandard2.0 asset, byte for byte the one a .NET Standard 2.0 class library gets. That is where the checkable part stops. Aspose removed its last Xamarin-specific assembly in 22.11 (2022-11-23). Its Xamarin documentation page is still live and still tells you to reference Aspose.Slides.Droid.dll — that assembly is not in any release from 22.11 onward; ignore it. The netstandard2.0 asset depends on System.Drawing.Common 5.0.3, which has no working GDI+ backend on Android, and that dependency is loaded by the Presentation constructor itself, not only at render time. Compiling is not running, and nothing on this page has been run on a Xamarin.Android device, so prove any of it on real hardware before you ship it, or do that work server-side and return the file. NuGet also lists Xamarin.iOS, Xamarin.Mac, tvOS and watchOS as compatible frameworks, but that is NuGet’s netstandard2.0 compatibility table rather than a support statement, and Android is the only Xamarin target Aspose ever documented. Microsoft ended support for every Xamarin SDK on 2024-05-01. No Microsoft Office, no COM automation and no network call: the work happens in your own process.
Prefer not to host it yourself? The same work is available as a hosted REST API through Aspose.Slides Cloud.
1
NuGet package to install, Aspose.Slides.NET, and one download page. There is no Xamarin-specific package and no Xamarin download: releases.aspose.com/slides/xamarin/ returns 404.
netstandard2.0
The asset a Xamarin target resolves out of that package. The 26.8 package ships netstandard2.0, net6.0 and net462 and nothing else, and the netstandard2.0 group pulls System.Drawing.Common 5.0.3 with it.
0
Xamarin-specific assemblies in the release you install. Aspose.Slides.Droid.dll last shipped in 22.10 and was gone from 22.11, released 2022-11-23; the Aspose.Slides.Drawing.Xamarin types went with it.
2024-05-01
The day Microsoft ended support for every Xamarin SDK, Xamarin.Forms included. New mobile work belongs on .NET for Android or .NET MAUI, which reference this same package.
Five things people actually write
All examples on GitHub →Each sample is the whole program, C# as shipped. Pick the job on the left.
using System.IO;
using Aspose.Slides;
public static int CountSlides(Stream source)
{
using (MemoryStream buffer = new MemoryStream())
{
source.CopyTo(buffer);
buffer.Position = 0;
using (Presentation presentation = new Presentation(buffer))
{
return presentation.Slides.Count;
}
}
}using System.IO;
using System.Text;
using Aspose.Slides;
public static string ReadDeckText(Stream source)
{
using (MemoryStream buffer = new MemoryStream())
{
source.CopyTo(buffer);
buffer.Position = 0;
IPresentationText text = PresentationFactory.Instance.GetPresentationText(
buffer, TextExtractionArrangingMode.Unarranged);
StringBuilder builder = new StringBuilder();
foreach (ISlideText slide in text.SlidesText)
{
builder.AppendLine(slide.Text);
builder.AppendLine(slide.NotesText);
}
return builder.ToString();
}
}using System.IO;
using Aspose.Slides;
using Aspose.Slides.Export;
public static void ReplaceText(Stream source, Stream output, string find, string replacement)
{
using (Presentation presentation = new Presentation(source))
{
foreach (ISlide slide in presentation.Slides)
{
foreach (IShape shape in slide.Shapes)
{
IAutoShape autoShape = shape as IAutoShape;
if (autoShape != null && autoShape.TextFrame != null)
{
foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs)
{
foreach (IPortion portion in paragraph.Portions)
{
portion.Text = portion.Text.Replace(find, replacement);
}
}
}
}
}
presentation.Save(output, SaveFormat.Pptx);
}
}using System.IO;
using Aspose.Slides;
public static void ApplyLicense(Stream licenseStream)
{
// Once per process, before the first Presentation is constructed.
License license = new License();
license.SetLicense(licenseStream);
}What goes in, what comes out
Read in only
Other content read inplaced into a presentation rather than opened as one
- HTML
- raster image
Read onlyno writer in the API
- PPT95
Aspose.Slides
12 formats read and written — presentation files, proven by writing each one and reading it back.
- FODP
- ODP
- OTP
- POT
- POTM
- POTX
- PPS
- PPSM
- PPSX
- PPT
- PPTM
- PPTX
Written out only
Written onlyexport targets, not presentation files
- GIF
- HTML
- HTML5
- MD
- SWF
- TIFF
- XML
- XPS
Slide imagesrendered from a slide
- BMP
- EMF
- GIF
- JPEG
- PNG
- SVG
- TIFF
Capabilities, one line each
The object model here is the .NET object model — one assembly, the same class and method names — so a call written in a Xamarin project is the call you would write in a console app. Every strip below is plain stream-in, stream-out C#, kept to the C# 7.3 that a classic Xamarin.Android project compiles by default, and none of it rasterises a slide. System.Drawing.Common is loaded by the Presentation constructor itself, not only by rendering and export, and nothing here has been run on a Xamarin.Android device, so prove any of it on real hardware before you depend on it or move the work server-side. Do not lean on the device’s fonts either: bundle the faces your decks need and register them with FontsLoader.LoadExternalFonts. And ignore Aspose’s own Xamarin documentation page — it still tells you to look for a separate Aspose.Slides.Droid.dll, four years after that assembly stopped shipping.
As of 2026-08-18. 49 presentation SDKs and services surveyed. Next re-test: November 2026.
- ✓Reads OOXML presentations
- ✓Writes .pptx
- ✓Reads legacy binary PowerPoint
- ✓Writes legacy binary .ppt
- ✓Reads OpenDocument presentations
- ✓Writes .odp
- ✓Exports to PDF
- ✓Imports PDF into a presentation
- ✓Exports slides to raster images
- ✓Exports to HTML
- ✓Extracts text / Markdown / JSON
- ✓Runs entirely on the customer's own infrastructure
- ✓Offered as a hosted API the customer calls — through Aspose.Slides Cloud, a separate product
- ✓Runs without a Microsoft Office / LibreOffice installation
- ✓Works with no outbound network access
- ✓Create from nothing
- ✓Open, modify, save back
- ✓Preserve untouched content
- ✓Merge or append presentations
- ✓Slide thumbnails
- ✓Create charts
- ✓Published performance numbers — one published capacity figure, no benchmark suite
- ✓Air-gapped install and licensing
- ✓.NET · Java / JVM · Python · C / C++
- ✓JavaScript / TypeScript / Node · PHP
- ✓Android, SharePoint and JasperReports integrations
- ✓Language-agnostic REST/HTTP API — through Aspose.Slides Cloud, a separate product
- ✓Public API reference and guides
- ✓Runnable sample projects
- ✓Paid support and escalation
Runs where your code already runs
Where a build of this library is supported, and what each target is for.
Aspose.Slides for .NET
The library this page is about, called directly. One package carries the net6.0, net462 and netstandard2.0 assets, and a Xamarin project picks the last of the three.
WINDOWS · LINUX · MACOS
.NET for Android and .NET MAUI
Microsoft's supported successors to Xamarin.Android and Xamarin.Forms. The same package is the one you would reference, and Aspose publishes no supported-platform statement for either, so prove anything that renders on a device before you commit a mobile target.
ANDROID · IOS
Aspose.Slides for Android via Java
The build Aspose actually ships for Android, on the Java engine rather than reached through Mono. The route when the app is Kotlin or Java instead of C#.
ANDROID
Aspose.Slides for Java
Pure Java library and the engine behind the Android build. Needs a JVM and no .NET at all.
WINDOWS · LINUX · MACOS
Aspose.Slides for C++
Native library for C++ codebases, with no managed runtime to install alongside it.
WINDOWS · LINUX · MACOS
Building for Android today? Aspose.Slides for Android via Java is the build Aspose actually ships for the platform. The same object model also ships for .NET, Java, C++, Python, PHP and Node.js.All high-code APIs →
Start with the trial, license when you ship
The trial is the full API. It applies an evaluation watermark when a presentation is opened or saved and caps text extraction at one slide, so you can test the formats you actually care about before you talk to anyone. A temporary licence lifts both for 30 days.
If you don't want a library
Aspose.Slides Cloud is a hosted REST API for loading, creating, editing and converting presentations.
No-code apps
In use
The product worked as advertised, the documentation was easy to follow, and the support forums were all the help we needed. The final solution that we deployed has exceeded our initial expectations by a great deal.
— BRUCE BRIEN · STRATASCOPE INC, USA