Преобразование Листа в изображение с использованием параметров ImageOrPrint

Сохранение листов в изображения - различные подходы

Иногда вам может понадобиться представить ваши рабочие листы в виде изображения. Вам может потребоваться вставлять изображения в документ Word, файл PDF, презентацию PowerPoint или использовать их в другом сценарии. Просто говоря, вам нужен рабочий лист, отображенный как изображение, чтобы вы могли использовать его в другом месте. Aspose.Cells поддерживает конвертацию рабочих листов в файлы изображений. Также Aspose.Cells поддерживает установку различных параметров, таких как формат изображения, разрешение (вертикальное и горизонтальное), качество изображения и другие параметры изображения и печати.

Вы можете попробовать автоматизацию Office, но у автоматизации Office есть свои недостатки. Существует несколько причин и проблем: например, безопасность, стабильность, масштабируемость и скорость, цена и функции. Короче говоря, есть множество причин, причем основной причиной является то, что сама Microsoft настоятельно рекомендует отказаться от использования автоматизации Office в программных решениях.

В этой статье показано, как создать консольное приложение в Visual Studio. NET, выполнить преобразование листа в изображение с использованием различных параметров изображения и печати с помощью нескольких простых строк кода с использованием API Aspose.Cells.

Вам нужно импортировать пространство имен Aspose.Cells.Rendering в вашу программу / проект. В нем есть несколько ценных классов, например, SheetRender, ImageOrPrintOptions, WorkbookRender и т. Д.

Класс Aspose.Cells.Rendering.SheetRender представляет собой лист, который генерирует изображения для листа, у него есть перегруженный метод ToImage, который может непосредственно преобразовать лист в файл изображения с заданными вами атрибутами или параметрами. Он может возвращать объект System.Drawing.Bitmap, и вы можете сохранить файл изображения на диск/поток. Поддерживаются различные форматы изображений, например, BMP, PNG, GIFF, JPEG, TIFF, EMF и т. Д.

Использование Aspose.Cells для преобразования листа в изображение с использованием параметров ImageOrPrint.

Создание шаблонной книги в Microsoft Excel

Я создал новую книгу в MS Excel и добавил некоторые данные на первый лист. Теперь я преобразую лист шаблона файла “Лист1” в файл изображения “SheetImage.tiff” и применю различные параметры изображения, такие как горизонтальное и вертикальное разрешение, сжатие Tiff и т. Д.

Загрузите и установите Aspose.Cells

Сначала вам нужно скачать Aspose.Cells для .Net. Установите его на свой разработочный компьютер. Все Aspose компоненты, когда они установлены, работают в режиме оценки. Режим оценки не имеет ограничения по времени и вносит в документы только водяной знак.

Создайте проект

Запустите Visual Studio. Net и создайте новое консольное приложение. В этом примере будет показано консольное приложение на C#, но вы также можете использовать VB.NET.

Добавьте ссылки

Этот проект будет использовать Aspose.Cells. Поэтому вам нужно добавить ссылку на компонент Aspose.Cells в ваш проект. Например, добавьте ссылку на ….\Program Files\Aspose\Aspose.Cells for .NET\Bin\Net1.0\Aspose.Cells.dll

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

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
//Open template
Workbook book = new Workbook(sourceDir + "sampleWorksheetToAnImage.xlsx");
// Get the first worksheet
Worksheet sheet = book.Worksheets[0];
// Apply different Image and Print options
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
// Set Horizontal Resolution
options.HorizontalResolution = 300;
// Set Vertical Resolution
options.VerticalResolution = 300;
// Set TiffCompression
options.TiffCompression = Aspose.Cells.Rendering.TiffCompression.CompressionLZW;
// Set Image Format
options.ImageType = Drawing.ImageType.Tiff;
// Set printing page type
options.PrintingPage = PrintingPageType.Default;
// Render the sheet with respect to specified image/print options
SheetRender sr = new SheetRender(sheet, options);
// Render/save the image for the sheet
int pageIndex = 3;
sr.ToImage(pageIndex, outputDir + @"outputWorksheetToAnImage_"+ (pageIndex + 1) + ".tiff");

Опции конвертации

Можно сохранить конкретные страницы в изображение. Следующий код преобразует первый и второй рабочие листы в книге в изображения JPG.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
// Open a template excel file
Workbook book = new Workbook(sourceDir + "sampleSpecificPagesToImages.xlsx");
// Get the first worksheet.
Worksheet sheet = book.Worksheets[0];
// Define ImageOrPrintOptions
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
// Specify the image format
imgOptions.ImageType = Drawing.ImageType.Jpeg;
// Render the sheet with respect to specified image/print options
SheetRender sr = new SheetRender(sheet, imgOptions);
//Specify page index to be rendered
int idxPage = 3;
// Render the third image for the sheet
Bitmap bitmap = sr.ToImage(idxPage);
// Save the image file
bitmap.Save(outputDir + "outputSpecificPagesToImage_"+ (idxPage+1)+".jpg");

Конвертация изображения с помощью WorkbookRender

TIFF-изображение может содержать более одного кадра. Вы можете сохранить всю книгу в одно TIFF-изображение с несколькими кадрами или страницами:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook(sourceDir + "sampleUseWorkbookRenderForImageConversion.xlsx");
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.ImageType = Drawing.ImageType.Tiff;
WorkbookRender wr = new WorkbookRender(wb, opts);
wr.ToImage(outputDir + "outputUseWorkbookRenderForImageConversion.tiff");