Spire.Doc 14.4.4 现已正式发布。该版本支持将图表保存为模板,并新增 GeneratorName 属性支持在转换 PDF 时配置 Producer 信息。此外,还支持获取图表坐标轴数据值以及读取和设置图表数据标签位置。同时,一些在 Markdown 转换、单元格拆分及文档合并时出现的问题也得以成功修复。更多详情如下。
调整:
- 将 ToPdfParameterList.IsAtlast 属性更名为 ToPdfParameterList.IsAtLeast。
ToPdfParameterList.IsAtlast-->ToPdfParameterList.IsAtLeast
新功能:
- 支持将图表保存为模板。
- 新增 GeneratorName 属性,支持在转换 Word 到 PDF 时配置 Producer 元数据。
- 新增 XValues 和 YValues 属性,支持获取图表指定系列的坐标轴数据值。
- 支持读取和设置图表数据标签的位置。
Document doc = new Document();
doc.LoadFromFile(inputFile);
int count = 1;
foreach (Section sec in doc.Sections)
{
foreach (Spire.Doc.Documents.Paragraph paragraph in sec.Paragraphs)
{
foreach (DocumentObject obj in paragraph.ChildObjects)
{
if (obj is ShapeObject shape)
{
Chart chart = shape.Chart;
if (chart == null)
continue;
string fileName = Path.Combine(outputPath, $"{count}.crtx");
chart.SaveAsTemplate(fileName);
count++;
}
}
}
}
string genName = "Testing For Set Producer";
Document doc = new Document();
doc.LoadFromFile(filename);
ToPdfParameterList toPdf = new ToPdfParameterList();
toPdf.GeneratorName = genName;
doc.SaveToFile("result.pdf", toPdf);
Document doc = new Document();
doc.LoadFromFile(inputFile);
StringBuilder sb = new StringBuilder();
int number = 1;
foreach (Section sec in doc.Sections)
{
foreach (Paragraph paragraph in sec.Paragraphs)
{
for (int i = 0; i < paragraph.ChildObjects.Count; i++)
{
DocumentObject obj = paragraph.ChildObjects[i];
if (obj is ShapeObject)
{
ShapeObject shape = obj as ShapeObject;
Chart chart = shape.Chart;
sb.Append("\r\n\r\n第" + number + "页:\r\n" + "获取所有X轴数据:");
for (int x = 0; x < chart.XValues.Count; x++)
{
ChartValue xVal = chart.XValues[x];
// 获取所有X轴数据值
sb.Append(xVal.StringValue + " ");
}
//获取第一个系列
ChartSeries series = chart.Series[0];
sb.Append("\r\n获取Y轴数据:");
foreach (ChartValue yVal in series.YValues)
{
// 获取第一个系列所有的Y轴数据值
sb.Append(yVal.Value + " ");
}
}
}
}
number++;
}
Document doc = new Document();
foreach (ChartDataLabelPosition position in Enum.GetValues(typeof(ChartDataLabelPosition)))
{
Section section = doc.AddSection();
section.AddParagraph().AppendText(position.ToString());
Spire.Doc.Documents.Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Pie, 500, 300);
Chart chart = shape.Chart;
chart.Series[0].HasDataLabels = true;
chart.Series[0].DataLabels.ShowCategoryName = true;
chart.Series[0].DataLabels.ShowValue = true;
// 设置Position
chart.Series[0].DataLabels.Position = position;
ShapeObject shape2 = newPara.AppendChart(ChartType.Bubble, 500, 300);
Chart chart2 = shape2.Chart;
chart2.Series[0].HasDataLabels = true;
chart2.Series[0].DataLabels.ShowCategoryName = true;
chart2.Series[0].DataLabels.ShowValue = true;
chart2.Series[0].DataLabels.Position = position;
}
doc.SaveToFile(outputFile, FileFormat.Docx);
doc.Dispose();
问题修复:
- 修复了转换 Markdown 文件到 Docx 或 PDF 时,表格转换不正确的问题。
- 修复了拆分表格合并单元格时结果不正确的问题。
- 修复了合并 Word 文档时程序抛出 System.InvalidCastException 异常的问题。
- 修复了加载 HTML 文档时程序抛出 System.NullReferenceException 异常的问题。
获取 Spire.Doc 14.4.4,请点击:







