viewBox属性を使用してチャートをSVG形式にエクスポート

デフォルトでは、チャートをSVG形式でエクスポートするときには、そのXMLにviewBox属性は含まれません。しかし、Aspose.CellsはImageOrPrintOptions.setSVGFitToViewPort()プロパティを提供しており、それをtrueに設定すると、viewBox属性を含めたSVG形式でチャートをエクスポートできます。

チャートのSVGをNotepadで開くと、次のようなviewBox属性が見つかります。

 <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">

コードスニペット

// 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);

関連記事