Spire.Presentation 10.4.6 已发布。该版本支持在PPT表格的单元格中插入公式以及读取 Shape 的 CustomerData 数据。此外,一些在转换 PPT 到 PDF、SVG,以及打开文档时出现的问题也已成功被修复。详情请查看下文。
新功能:
- 支持读取Shape的CustomerData数据。
- 支持在表格单元格中插入公式
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
List dataList = ppt.Slides[0].Shapes[1].CustomerDataList;
Console.WriteLine(dataList.Count);
for(int i = 0; i < dataList.Count; i++)
{
string name = dataList[i].Name;
string content = dataList[i].XML;
File.WriteAllText(outputFile + name, content);
}
// 创建PPT文档
Presentation presentation = new Presentation();
Double[] widths = new double[] { 100, 100, 150, 100, 100 };
Double[] heights = new double[] { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 };
// 添加表格
ITable table = presentation.Slides[0].Shapes.AppendTable(presentation.SlideSize.Size.Width / 2 - 275, 90, widths, heights);
String[,] dataStr = new String[,]{
{"Name", "Capital", "Continent", "Area", "Population"},
{"Venezuela", "Caracas", "South America", "912047", "19700000"},
{"Bolivia", "La Paz", "South America", "1098575", "7300000"},
{"Brazil", "Brasilia", "South America", "8511196", "150400000"},
{"Canada", "Ottawa", "North America", "9976147", "26500000"},
{"Chile", "Santiago", "South America", "756943", "13200000"},
{"Colombia", "Bagota", "South America", "1138907", "33000000"},
{"Cuba", "Havana", "North America", "114524", "10600000"},
{"Ecuador", "Quito", "South America", "455502", "10600000"},
{"Paraguay", "Asuncion","South America", "406576", "4660000"},
{"Peru", "Lima", "South America", "1285215", "21600000"},
{"Jamaica", "Kingston", "North America", "11424", "2500000"},
{"Mexico", "Mexico City", "North America", "1967180", "88600000"}
};
// 在表格中添加数据
for (int i = 0; i < 13; i++)
for (int j = 0; j < 5; j++)
{
//Fill the table with data
table[j, i].TextFrame.Text = dataStr[i, j];
//Set the Font
table[j, i].TextFrame.Paragraphs[0].TextRanges[0].LatinFont = new TextFont("Arial Narrow");
}
// 设置对齐方式
for (int i = 0; i < 5; i++)
{
table[i, 0].TextFrame.Paragraphs[0].Alignment = TextAlignmentType.Center;
}
string latexMathCode = @"x^{2}+\sqrt{x^{2}+1}=2";
table[2, 3].TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexMathCode);
// 设置表格样式
table.StylePreset = TableStylePreset.LightStyle3Accent1;
// 保存结果文件
presentation.SaveToFile("Output.pptx", FileFormat.Pptx2010);
问题修复:
- 修复了PPT转PDF ,一些文本乱码的问题。
- 修复了将GroupShape添加到新的PPT中,程序抛异常“System.NullReferenceException”的问题。
- 修复了将PPT转PDF,文本有丢失的问题。
- 修复了打开使用Presentation.GetStream() 方法保存的文件报错的问题。
- 修复了使用Ungroup() 方法后,形状的位置发生变化的问题。
- 修复了PPT 转SVG,程序抛异常“NullReferenceException”的问题。
- 修复了PPT 转SVG,形状显示不正确的问题。
获取Spire.Presentation 10.4.6,请点击:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html