Конвертация листа в изображение и листа по страницам с помощью Node.js через C++

Использование Aspose.Cells for Node.js via C++ для преобразования листа в файл изображения

В этой статье объясняется, как создать консольное приложение, преобразовать лист в изображение и осуществить конвертацию листа в один образ для каждого листа с помощью API Aspose.Cells.

Для этого необходимо импортировать в программу или проект несколько важных классов, связанных с функциями рендеринга, таких как SheetRender, ImageOrPrintOptions, WorkbookRender и так далее. Класс SheetRender представляет лист, для которого создаются изображения, и имеет перегруженный метод toImage(number), который позволяет преобразовать лист напрямую в файлы изображений с любыми атрибутами или параметрами. Этот метод возвращает объект изображения, который можно сохранить на диск/в поток. Поддерживаются различные форматы изображений, например BMP, PNG, GIF, JPG, JPEG, TIFF, EMF и другие.

В этой статье объясняется, как:

  • Преобразовать рабочий лист в изображение
  • Преобразовать каждую страницу в рабочем листе в изображение

Это задача показывает, как использовать Aspose.Cells для преобразования рабочего листа из шаблонной рабочей книги в файл изображения.

Установка проекта

  1. Сначала скачайте Aspose.Cells for Node.js via C++.
  2. Установите его на ваш компьютер для разработки. Все компоненты Aspose, при установке, работают в режиме оценки. Режим оценки не ограничен по времени и только накладывает водяные знаки на создаваемые документы. Теперь запустите среду разработки и создайте новое консольное приложение. В этом примере используется консольное приложение Node.js, но вы можете использовать любую платформу, интегрируемую с Node.js. Добавьте ссылку на Aspose.Cells в созданный проект.

Преобразовать рабочий лист в файл изображения

Я создал новую рабочую книгу в Microsoft Excel и добавил некоторые данные в первый рабочий лист: Testbook.xlsx (1 рабочий лист). Затем преобразуйте рабочий лист шаблона в файл изображения под названием SheetImage.jpg.

Ниже приведен используемый компонентом код для выполнения этой задачи. Он преобразует Sheet1 в Testbook.xlsx в файл изображения, чтобы показать, насколько легко осуществляется это преобразование.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// Source directory
const sourceDir = path.join(__dirname, "data");
// Output directory
const outputDir = path.join(__dirname, "output");

// Open a template excel file
const filePath = path.join(sourceDir, "sampleConvertWorksheettoImageFile.xlsx");
const workbook = new AsposeCells.Workbook(filePath);

// Get the first worksheet.
const sheet = workbook.getWorksheets().get(0);

// Define ImageOrPrintOptions
const imgOptions = new AsposeCells.ImageOrPrintOptions();
imgOptions.setOnePagePerSheet(true);

// Specify the image format
imgOptions.setImageType(AsposeCells.ImageType.Jpeg);

// Render the sheet with respect to specified image/print options
const sr = new AsposeCells.SheetRender(sheet, imgOptions);

// Save the image file
const outputFilePath = outputDir + "outputConvertWorksheettoImageFile.jpg";

sr.toImage(0, outputFilePath);

Использование Aspose.Cells for Node.js via C++ для преобразования листа в файл изображения по страницам

В этом примере показано, как использовать Aspose.Cells для преобразования листа из шаблонной книги, которая содержит несколько страниц, в один файл изображения на каждой странице.

Конвертация листа в изображение по страницам

Я создал новую рабочую книгу в Microsoft Excel и добавил некоторые данные в первый рабочий лист: Testbook2.xlsx (1 рабочий лист).

Теперь преобразуйте рабочий лист шаблона Sheet1 в файлы изображений (по одному файлу на страницу). Поскольку я уже создал консольное приложение для выполнения этой задачи, я пропущу шаги создания этого консольного приложения и перейду непосредственно к шагам преобразования рабочего листа.

Следующий код используется компонентом для выполнения задачи. Он конвертирует Sheet1 из Testbook2.xlsx в файлы изображений по страницам.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// Source directory
const sourceDir = path.join(__dirname, "data");
// Output directory
const outputDir = path.join(__dirname, "output");

const filePath = path.join(sourceDir, "sampleConvertWorksheetToImageByPage.xlsx");
const workbook = new AsposeCells.Workbook(filePath);
const sheet = workbook.getWorksheets().get(0);

const options = new AsposeCells.ImageOrPrintOptions();
options.setHorizontalResolution(200);
options.setVerticalResolution(200);
options.setImageType(AsposeCells.ImageType.Tiff);

// Sheet2Image By Page conversion
const sr = new AsposeCells.SheetRender(sheet, options);
for (let j = 0; j < sr.getPageCount(); j++) 
{
sr.toImage(j, outputDir + "outputConvertWorksheetToImageByPage_" + (j + 1) + ".tif");
}