Экспортировать график в SVG с атрибутом viewBox с помощью Node.js через C++
Contents
[
Hide
]
По умолчанию, когда диаграмма экспортируется в формат SVG, атрибут viewBox не включается в его XML. Однако Aspose.Cells предоставляет свойство ImageOrPrintOptions.getSVGFitToViewPort(), которое, когда установлено в истину, экспортирует диаграмму в SVG с атрибутом viewBox.
Экспорт диаграммы в SVG с атрибутом viewBox
В следующем образце кода диаграмма экспортируется в формат SVG с атрибутом viewBox.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Create workbook object from source file
const workbook = new AsposeCells.Workbook(path.join(dataDir, "SampleChartBook.xlsx"));
// Access first worksheet
const worksheet = workbook.getWorksheets().get(0);
// Access first chart inside the worksheet
const chart = worksheet.getCharts().get(0);
// Set image or print options with SVGFitToViewPort true
const opts = new AsposeCells.ImageOrPrintOptions();
opts.setImageType(AsposeCells.ImageType.Svg);
opts.setSVGFitToViewPort(true);
// Save the chart to svg format
chart.toImage(path.join(dataDir, "Image_out.svg"), opts);
Если вы откроете файл 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>