Создание PDF из диаграммы с помощью Node.js через C++
Отображение диаграммы в формат PDF
Чтобы отобразить диаграмму в формате PDF, API Aspose.Cells предоставили метод Chart.toPdf(string) с возможностью сохранить полученный PDF на диск или в поток.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();
// Adding a new worksheet to the Workbook
const sheetIndex = workbook.getWorksheets().add();
// Obtaining the reference of the newly added worksheet by passing its index to WorksheetCollection
const worksheet = workbook.getWorksheets().get(sheetIndex);
// Adding sample values to cells
worksheet.getCells().get("A1").putValue(50);
worksheet.getCells().get("A2").putValue(100);
worksheet.getCells().get("A3").putValue(150);
worksheet.getCells().get("B1").putValue(4);
worksheet.getCells().get("B2").putValue(20);
worksheet.getCells().get("B3").putValue(50);
// Adding a chart to the worksheet
const chartIndex = worksheet.getCharts().add(AsposeCells.ChartType.Column, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
const chart = worksheet.getCharts().get(chartIndex);
// Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.getNSeries().add("A1:B3", true);
// Converting chart to PDF
chart.toPdf(path.join(dataDir, "chartPDF_out.pdf"));
Создание PDF-файла диаграммы с выбранным размером страницы
Вы можете создать PDF диаграммы с желаемым размером страницы, используя Aspose.Cells, и указать, как вы хотите выровнять диаграмму внутри страницы: сверху, снизу, по центру, слева, справа и т.д. Также результативная диаграмма может быть создана в потоке или на диске. Ознакомьтесь с примером кода, который загружает образец файла Excel, получает первую диаграмму в листе и конвертирует её в выходной PDF с нужным размером страницы. Следующий скриншот показывает, что размер страницы в выходном PDF — 7x7, как указано в коде, а диаграмма выровнена по центру как по горизонтали, так и по вертикали.
Образец кода
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const sourceDir = path.join(__dirname, "data");
const outputDir = path.join(__dirname, "output");
// Load sample Excel file containing the chart.
const workbook = new AsposeCells.Workbook(path.join(sourceDir, "sampleCreateChartPDFWithDesiredPageSize.xlsx"));
// Access first worksheet.
const worksheet = workbook.getWorksheets().get(0);
// Access first chart inside the worksheet.
const chart = worksheet.getCharts().get(0);
// Create chart pdf with desired page size.
chart.toPdf(path.join(outputDir, "outputCreateChartPDFWithDesiredPageSize.pdf"), 7, 7, AsposeCells.PageLayoutAlignmentType.Center, AsposeCells.PageLayoutAlignmentType.Center);