Aspose.Slides for .NET 20.2 Release Notes

SLIDESNET-41521Wrong shape fill colorInvestigation
SLIDESNET-41674Extremely slow PPT to PDF ConversionFeature
SLIDESNET-40977Support for getting size of paragaph and portion inside table cell text frameFeature
SLIDESNET-36546Update custom document properties directly on the source documentFeature
SLIDESNET-41347 Same result when saving without and with excluding fontsBug
SLIDESNET-41686 Unknown decision exception when saving into HTML with different ILinkEmbedController implementationsBug
SLIDESNET-41532 On conversion to PDF on dotnet-Linux platform images are missingBug
SLIDESNET-41695PptxReadException on loading the fileBug
SLIDESNET-41669The infinite loop on resaving the PTTX fileBug
SLIDESNET-41725 PPT to PDF java.lang.NullPointerExceptionBug
SLIDESNET-41697The conversion to PDF lasts too longBug
SLIDESNET-41719 PPT to PDF rectangle cannot have width or height equal to 0Bug
SLIDESNET-41720 PPT to PDF Index of connection site must be less than StartShapeConnectedTo.ConnectionSiteCountBug
SLIDESNET-41717PPT to PDF throws StackOverflowErrorBug
SLIDESNET-41716 PPT to PDF PptxReadExceptionBug
SLIDESNET-41610Text boxes are cut off on converting PPTX to SVGBug
SLIDESNET-41715PPT to PDF PptxReadExceptionBug
SLIDESNET-41609Text overlaps on converting PPTX to SVGBug
SLIDESNET-41723PPT to PDF Requested a name string that is not present in the fontBug
SLIDESNET-41722 PPT to PDF Specified argument was out of the range of valid valuesBug
SLIDESNET-41664Issue with the graph while resaving PPTXBug
SLIDESNET-41724PPT to PDF java.lang.NullReferenceExceptionBug
SLIDESNET-35593Slide master gets changed after savingBug
SLIDESNET-37830WordArt changes after saving pptBug
SLIDESNET-37832Title position is changed on saving presentationBug
SLIDESNET-41640ODP not properly converted to PDFBug
SLIDESNET-41681Aspose Slides HTML EMF Images Missing (Windows Environment)Bug
SLIDESNET-41332 Part of EMF image is missing in generated PDF with NotesBug
SLIDESNET-41727 Missing content in PDF fileBug
SLIDESNET-41612Exception on loading PresentationBug
SLIDESNET-41533Image missing in slide thumbanailBug
SLIDESNET-41688Exception on saving presentaitonBug
SLIDESNET-41665Exception: NullReferenceException on embedding OTF fontBug
SLIDESNET-41694 Application hangs when converting a PPTX to PDFBug
SLIDESNET-37474 Improper table rendering in generated PDFBug
SLIDESNET-41525Exception on converting Presentation to PDFBug
SLIDESNET-41673Export to PDF never completesBug
SLIDESNET-41676 Wrong font is embedded in exported PDFBug
SLIDESNET-41564 Exception on saving presentation with table to PDFBug
SLIDESNET-41683 Method WriteAsSvg terminates linux docker container when invoked a second time for the same slide (.NET Core Linux)Bug
SLIDESNET-40596OutOfMemory is thrown for converting to PDF in AzureBug
SLIDESNET-41566Chart (emf) missing when converting pptx to pdfBug
SLIDESNET-41710Aspose.Slides PptxReadException when create presentation with commentsBug
SLIDESNET-40649Thumbnails not properly generatedBug
SLIDESNET-37730Text placed on wrong position in generated thumbnailBug
SLIDESNET-40984 Convertering slide with image to PDF disapper the imageBug

Public API Changes

Slides on Android via Xamarin

Xamarin is the set of tools and libraries that extend .NET and allows to build applications for Android using C# and Visual Studio. We have added support for Xamarin platform, and now you can use it to build your C# application with Aspose.Slides for Android.

Get Text Location in a Table Cell

Method IPortion.GetRect() has been added. This method extends and actually replaces method IPortion.GetCoordinates() which is marked as obsolete now.

Methods IPortion.GetRect() and IParagraph.GetRect() can be applied to text within table cells. The following example shows how the properties work.

Let’s say, we have a table with some text inside and a simple AutoShape nearby.


The code snippet below generates these objects:

using (Presentation pres = new Presentation())
	ITable tbl = pres.Slides[0].Shapes.AddTable(50, 50, new double[] { 50, 70 }, new double[] { 50, 50, 50 });
	IParagraph paragraph0 = new Paragraph();
	paragraph0.Portions.Add(new Portion("Text "));
	paragraph0.Portions.Add(new Portion("in0"));
	paragraph0.Portions.Add(new Portion(" Cell"));

	IParagraph paragraph1 = new Paragraph();
	paragraph1.Text = "On0";

	IParagraph paragraph2 = new Paragraph();
	paragraph2.Portions.Add(new Portion("Hi there "));
	paragraph2.Portions.Add(new Portion("col0"));

	ICell cell = tbl.Rows[1][1];

    IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 400, 100, 60, 120);
	autoShape.TextFrame.Text = "Text in shape";

The source code snippet below will add a yellow frame to all paragraphs and a blue frame to all portions which contain substring “0”.

  1. First, we get coordinates of the left top corner of the table cell:
double x = tbl.X + cell.OffsetX;
double y = tbl.Y + cell.OffsetY;
  1. Then, we use IParagrap.GetRect() and IPortion.GetRect() methods to add frame to portions and paragraphs:
foreach (IParagraph para in cell.TextFrame.Paragraphs)
   if (para.Text == "")

   RectangleF rect = para.GetRect();

   IAutoShape shape =
		   rect.X + (float)x, rect.Y + (float)y, rect.Width, rect.Height);

   shape.FillFormat.FillType = FillType.NoFill;
   shape.LineFormat.FillFormat.SolidFillColor.Color = Color.Yellow;
   shape.LineFormat.FillFormat.FillType = FillType.Solid;

   foreach (IPortion portion in para.Portions)
	   if (portion.Text.Contains("0"))
		   rect = portion.GetRect();
		   shape =
				   rect.X + (float)x, rect.Y + (float)y, rect.Width, rect.Height);

		   shape.FillFormat.FillType = FillType.NoFill;
  1. Now we should add a frame to AutoShape paragraphs:
foreach (IParagraph para in autoShape.TextFrame.Paragraphs)
	RectangleF rect = para.GetRect();
	IAutoShape shape =
        rect.X + autoShape.X, rect.Y + autoShape.Y, rect.Width, rect.Height);

	shape.FillFormat.FillType = FillType.NoFill;
	shape.LineFormat.FillFormat.SolidFillColor.Color = Color.Yellow;
	shape.LineFormat.FillFormat.FillType = FillType.Solid;