Преобразование Листа в изображение с использованием параметров 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"); |