Export Chart to SVG with viewBox attribute

By default, when the chart is export to SVG format, the viewBox attribute is not included in its XML. However, Aspose.Cells provides ImageOrPrintOptions.setSVGFitToViewPort() property which when set to true exports the chart to SVG with viewBox attribute.

If you open the chart’s SVG in notepad, you will find the viewBox attribute similar to this.

 <svg xmlns="http://www.w3.org/2000/svg"

     xmlns:xlink="http://www.w3.org/1999/xlink"

     width="100%" height="100%"

     viewBox="0 0 480 288">

Code Snippet

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(ExportCharttoSVG.class);
// Create workbook object from source file
Workbook workbook = new Workbook(dataDir + "source.xlsx");
// 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 = new ImageOrPrintOptions();
opts.setSaveFormat(SaveFormat.SVG);
opts.setSVGFitToViewPort(true);
// Save the chart to svg format
chart.toImage(dataDir + "out.svg", opts);
  • Chart Rendering
  • Export Worksheet or Chart into Image with Desired Width and Height