Конвертация PowerPoint в JPG на C#

Обзор

В этой статье объясняется, как конвертировать презентацию PowerPoint в формат JPG с использованием C#. Рассматриваются следующие темы:

C# PowerPoint в JPG

Для получения примера кода на C# для конвертации PowerPoint в JPG, пожалуйста, ознакомьтесь с разделом ниже т.е. Конвертация PowerPoint в JPG. Код может загружать несколько форматов, таких как PPT, PPTX и ODP в объект Presentation, а затем сохранять его миниатюру слайда в формате JPG. Другие конверсии PowerPoint в изображения, подобные PNG, BMP, TIFF и SVG, обсуждаются в этих статьях.

О конвертации PowerPoint в JPG

С помощью Aspose.Slides .NET API вы можете конвертировать презентацию PowerPoint PPT или PPTX в изображение JPG. Также возможно конвертировать PPT/PPTX в BMP, PNG или SVG. С этими функциями легко реализовать свой собственный просмотрщик презентаций, создать миниатюру для каждого слайда. Это может быть полезно, если вы хотите защитить слайды презентации от копирования, демонстрировать презентацию в режиме только для чтения. Aspose.Slides позволяет конвертировать всю презентацию или определенный слайд в форматы изображений.

todo:image_alt_text

Конвертация PowerPoint PPT/PPTX в JPG

Вот шаги для конвертации PPT/PPTX в JPG:

  1. Создайте экземпляр класса Presentation.
  2. Получите объект слайда типа ISlide из коллекции Presentation.Slides.
  3. Создайте миниатюру каждого слайда, а затем конвертируйте его в JPG. Метод ISlide.GetThumbnail(float scaleX, float scaleY) используется для получения миниатюры слайда, он возвращает объект Bitmap в качестве результата. Метод GetThumbnail должен быть вызван для нужного слайда типа ISlide, значения масштабов полученной миниатюры передаются в метод.
  4. После получения миниатюры слайда вызовите метод Image.Save(string filename, ImageFormat format) из объекта миниатюры. Передайте в него имя результирующего файла и формат изображения.
using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt"))
{
	foreach (ISlide sld in pres.Slides)
	{
		// Создает изображение полного масштаба
		Bitmap bmp = sld.GetThumbnail(1f, 1f);

		// Сохраняет изображение на диск в формате JPEG
		bmp.Save(string.Format("Slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
	}
}

Конвертация PowerPoint PPT/PPTX в JPG с настроенными размерами

Чтобы изменить размеры полученной миниатюры и изображения JPG, вы можете установить значения ScaleX и ScaleY, передав их в метод ISlide.GetThumbnail(float scaleX, float scaleY):

using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx"))
{
	// Определяет размеры
	int желаемыйX = 1200;
	int желаемыйY = 800;
	// Получает масштабированные значения X и Y
	float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * желаемыйX;
	float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * желаемыйY;

	foreach (ISlide sld in pres.Slides)
	{
		// Создает изображение полного масштаба
		Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY);

		// Сохраняет изображение на диск в формате JPEG
		bmp.Save(string.Format("Slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
	}
}

Отображение комментариев при сохранении презентации в изображение

Aspose.Slides для .NET предоставляет возможность отображать комментарии в слайдах презентации при конвертации этих слайдов в изображения. Этот код на C# демонстрирует операцию:

Presentation pres = new Presentation("test.pptx");
Bitmap bmp = new Bitmap(740, 960);

IRenderingOptions opts = new RenderingOptions();
opts.NotesCommentsLayouting.NotesPosition = NotesPositions.BottomTruncated;
opts.NotesCommentsLayouting.CommentsAreaColor = Color.Red;
opts.NotesCommentsLayouting.CommentsAreaWidth = 200;
opts.NotesCommentsLayouting.CommentsPosition = CommentsPositions.Right;

using (Graphics graphics = Graphics.FromImage(bmp))
{
	pres.Slides[0].RenderToGraphics(opts, graphics);
}
bmp.Save("OutPresBitmap.png", ImageFormat.Png);
System.Diagnostics.Process.Start("OutPresBitmap.png");

Смотрите также

Смотрите другие варианты конвертации PPT/PPTX в изображения, такие как: