Browse our Products
Aspose.Slides for .NET 17.8 Release Notes
Key | Summary | Category |
---|---|---|
SLIDESNET-39210 | Exception on loading presentation | Investigation |
SLIDESNET-3102 | Support for embedded fonts | Feature |
SLIDESNET-19163 | Add support for PP2010 PPTX presentations with embedded video | Feature |
SLIDESNET-37588 | Support embedding fonts in the PowerPoint documents | Feature |
SLIDESNET-38901 | Support for switching Rows and Columns of chart data | Feature |
SLIDESNET-39063 | Support for getting loaded fonts list from LoadExternalFonts() | Feature |
SLIDESNET-39101 | Support for setting offset values of stretched picture | Feature |
SLIDESNET-39124 | Adding the picture border feature | Feature |
SLIDESNET-39088 | Difference between organization of text extracted from PPT and PPTX | Feature |
SLIDESNET-38910 | When PPT is converted to PDF, the font in output is changed | Bug |
SLIDESNET-36508 | Presentation with Bezier Chart on it throws exception | Bug |
SLIDESNET-39091 | Hyperlink is not replaced in PPT file | Bug |
SLIDESNET-39199 | Notes are truncated when saving as image | Bug |
SLIDESNET-35364 | Presentation repair message appear on converting PPT to PPTX | Bug |
SLIDESNET-39003 | Table rendered as blurred in exported PDF | Bug |
SLIDESNET-39055 | Equations are improperly rendered inside exported PDF | Bug |
SLIDESNET-39085 | Shape connector does not anchor correctly | Bug |
SLIDESNET-33416 | I’ve got this error calling Presentation.CloneSlide | Bug |
SLIDESNET-36166 | Repair file message appears on opening the generated PPTX file | Bug |
SLIDESNET-36167 | Repair file message appears on opening the generated PPTX file | Bug |
SLIDESNET-36985 | Exception on extracting internal slide hyperlink | Bug |
SLIDESNET-37989 | Animation are changed after saving ppt | Bug |
SLIDESNET-38472 | PPT changed after saving | Bug |
SLIDESNET-38557 | OleObjectFrame with non-Microsoft office document failed to open in PowerPoint | Bug |
SLIDESNET-38602 | Superscript text is improperly displayed for text when viewed in Chrome | Bug |
SLIDESNET-38618 | The line position was changed in a specific PPT file | Bug |
SLIDESNET-38904 | Text in exported SVG is misplaced | Bug |
SLIDESNET-38943 | Gradient and Texture effects are missing in exported HTML | Bug |
SLIDESNET-38956 | Shape outlines on tables/charts are not rendered in PDF/PNG | Bug |
SLIDESNET-38997 | Autofit in Aspose.Slides looks different than in PowerPoint | Bug |
SLIDESNET-39004 | Blank html generated from presentation | Bug |
SLIDESNET-39006 | Compile warning is generated on accessing SlideSize | Bug |
SLIDESNET-39025 | PPT to SWF files not properly converted | Bug |
SLIDESNET-39043 | Information is removed from NotesMaster XML on saving presentation | Bug |
SLIDESNET-39046 | Difference in Language ID for PPT and PPTX files | Bug |
SLIDESNET-39081 | The lines that content between boxes (in PPT) are changed | Bug |
SLIDESNET-39083 | Action on shape are lost on saving PPT | Bug |
SLIDESNET-39092 | Presentation gets corrupt on saving | Bug |
SLIDESNET-39121 | Chart plot area missing in exported PDF | Bug |
SLIDESNET-39126 | Exception on loading presentation | Bug |
SLIDESNET-39140 | Hyperlink of “Run Program” type on text is not recognized in PPT | Bug |
SLIDESNET-39161 | Link with OpenFile ActionType hyperlink is recognized as Hyperlink | Bug |
SLIDESNET-39164 | External font not applied | Bug |
SLIDESNET-39187 | Newline rendering issues in paragraph | Bug |
Public API Changes
Method FontsLoader.GetFontFolders has been added
Returns folders where font files are searched. Those are folders that have been added with LoadExternalFonts method as well as system font folders.
string[] fontFolders = FontsLoader.GetFontFolders();
Method IChartData.SwitchRowColumn() has been added
Swap the data over the axis. Data being charted on the X axis will move to the Y axis and vice versa.
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300);
chart.ChartData.SwitchRowColumn();
pres.Save(outputFileName, SaveFormat.PPTX);
}
New EmbedFontCharacters enum and AddEmbeddedFont methods has been added
To allow embedding fonts into Presentation the new EmbedFontCharacters enum and two overloads of AddEmbeddedFont method have been added:
EmbedFontCharacters enum has two members:
- OnlyUsed: Embed only the characters used in the presentation (best for reducing file size).
- All: Embed all characters (best for editing by other people).
New method AddEmbeddedFont with two overloads has been added to IFontsManager interface and FontsManager implementation class:
To embed font from existed IFontData:
- void AddEmbeddedFont(IFontData fontData, EmbedFontCharacters embedFontRule)
To embed font from a binary data:
- void AddEmbeddedFont(byte[] fontData, EmbedFontCharacters embedFontRule)
Using these methods and choosing the desired embedding rule (represented by EmbedFontCharacters enum), all fonts used in Presentation can be embedded:
IFontData[] allFonts = pres.FontsManager.GetFonts();
IFontData[] embeddedFonts = pres.FontsManager.GetEmbeddedFonts();
foreach (IFontData font in allFonts)
{
if (!embeddedFonts.Contains(font))
{
pres.FontsManager.AddEmbeddedFont(font, EmbedFontCharacters.All);
}
}
Or, using the new features of .NET framework, this snippet can be replaced with the following:
IFontData[] allFonts = pres.FontsManager.GetFonts();
IFontData[] embeddedFonts = pres.FontsManager.GetEmbeddedFonts();
foreach (IFontData font in allFonts.Except(embeddedFonts))
{
pres.FontsManager.AddEmbeddedFont(font, EmbedFontCharacters.All);
}
Please note that an ArgumentException will be thrown if embedded font which is already embedded will be added again using AddEmbeddedFont method.
NotesStyle property has been added to IMasterNotesSlide interface and MasterNotesSlide class
NotesStyle property has been added to IMasterNotesSlide interface and MasterNotesSlide class respectively.
This property specifies the style of a notes text.
using (Presentation presentation = new Presentation(path + "Presentation.pptx"))
{
IMasterNotesSlide notesMaster = presentation.MasterNotesSlideManager.MasterNotesSlide;
if (notesMaster != null)
{
// Get MasterNotesSlide text style
ITextStyle notesStyle = notesMaster.NotesStyle;
//Set symbol bullet for the first level paragraphs
IParagraphFormat paragraphFormat = notesStyle.GetLevel(0);
paragraphFormat.Bullet.Type = BulletType.Symbol;
}
presentation.Save(path + "Presentation-out.pptx", SaveFormat.Pptx);
}
StretchOffsetLeft, StretchOffsetTop, StretchOffsetRight and StretchOffsetBottom properties have been added to IPictureFillFormat interface and PictureFillFormat class
Properties StretchOffsetLeft, StretchOffsetTop, StretchOffsetRight and StretchOffsetBottom has been added to IPictureFillFormat interface and PictureFillFormat class respectively.
These properties specify a fill rectangle. When stretching of an image is specified, a source rectangle is scaled to fit the specified fill rectangle.
Each edge of the fill rectangle is defined by a percentage offset from the corresponding edge of the shape’s bounding box. A positive percentage specifies an inset, while a negative percentage specifies an outset.
For example, a left offset of 25% specifies that the left edge of the fill rectangle is located to the right of the bounding box’s left edge by an amount equal to 25% of the bounding box’s width.
Code example:
using (Presentation presentation = new Presentation())
{
// Get the first slide of presentation
ISlide slide = presentation.Slides[0];
// Add an AutoShape of Rectangle type
IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300);
// Create image
Bitmap img = new Bitmap("image.png");
IPPImage imgEx = presentation.Images.AddImage(img);
// Set shape's fill type
aShape.FillFormat.FillType = FillType.Picture;
// Set shape's picture fill mode
aShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;
// Set image to fill the shape
aShape.FillFormat.PictureFillFormat.Picture.Image = imgEx;
// Specify image offsets from the corresponding edge of the shape's bounding box
aShape.FillFormat.PictureFillFormat.StretchOffsetLeft = 25;
aShape.FillFormat.PictureFillFormat.StretchOffsetRight = 25;
aShape.FillFormat.PictureFillFormat.StretchOffsetTop = -20;
aShape.FillFormat.PictureFillFormat.StretchOffsetBottom = -10;
// Save created presentation
presentation.Save("StretchOffsetExample.pptx", SaveFormat.Pptx);
}