使用C++导出带有viewBox属性的SVG图表
Contents
[
Hide
]
默认情况下,将图表导出为SVG格式时,其XML中不包括viewBox属性。但是,Aspose.Cells提供了ImageOrPrintOptions.GetSVGFitToViewPort()属性,将其设置为true时会导出具有viewBox属性的SVG图表。
导出带有viewBox属性的SVG图表
以下示例代码将图表导出为带有viewBox属性的SVG格式。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Create workbook object from source file
U16String sampleChartBook = srcDir + u"SampleChartBook.xlsx";
Workbook workbook(sampleChartBook);
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access first chart inside the worksheet
Chart chart = worksheet.GetCharts().Get(0);
// Set image or print options with SVGFitToViewPort true
ImageOrPrintOptions opts;
opts.SetImageType(ImageType::Svg);
opts.SetSVGFitToViewPort(true);
// Save the chart to svg format
U16String outputSvg = srcDir + u"Image_out.svg";
chart.ToImage(outputSvg, opts);
std::cout << "Chart saved successfully in SVG format!" << std::endl;
Aspose::Cells::Cleanup();
}
如果在记事本中打开图表的SVG文件,将会找到类似于这样的viewBox属性。
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
<span class="n">width</span><span class="o">=</span><span class="s">"100%"</span> <span class="n">height</span><span class="o">=</span><span class="s">"100%"</span>
<span class="n">viewBox</span><span class="o">=</span><span class="s">"0 0 480 288"</span><span class="o">></span></code></pre></div>