генерувати мініатюри PPTX у C#

Ескізи зазвичай використовуються для створення зменшених версій більших зображень. Вони полегшують перегляд або прокручування списку зображень. MS PowerPoint також надає мініатюри слайдів у презентації. Використовуючи мініатюри слайдів, ви можете легко переглядати презентацію та переходити до певного слайду. У цій статті ви дізнаєтесь, як створити мініатюри PowerPoint PPTX або PPT за допомогою C#. Це може бути корисним у сценаріях, наприклад, коли вам потрібно створити власний веб-переглядач PowerPoint або засіб перегляду на комп’ютері.

.NET API для створення ескізів для PowerPoint PPTX/PPT

Щоб створити мініатюри для презентацій PPTX або PPT, ми будемо використовувати Aspose.Slides for .NET. Це потужний API, який дозволяє створювати документи PowerPoint і OpenOffice і керувати ними. Крім того, він дозволяє конвертувати презентації в інші формати файлів. Ви можете завантажити API або встановити його за допомогою NuGet.

PM> Install-Package Aspose.Slides.NET

Створення мініатюр для PPTX або PPT за допомогою C#

Нижче наведено кроки для створення ескізів презентації PPTX за допомогою C#.

  1. Спочатку створіть екземпляр класу Presentation, щоб завантажити презентацію.
  2. Перегляньте кожен ISlide у колекції Presentation.Slides.
  3. Створіть мініатюру кожного слайда за допомогою методу ISlide.GetThumbnail(1f, 1f) і отримайте посилання на мініатюру в об’єкт Bitmap.
  4. Зрештою, збережіть ескіз у бажаному форматі зображення за допомогою методу Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).

У наведеному нижче прикладі коду показано, як створити мініатюри презентації PPTX за допомогою C#.

// Завантажте презентацію PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
    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);
    }
}

Створення ескізів із визначеними користувачем розмірами

Ви також можете налаштувати розміри мініатюр відповідно до ваших вимог. Цього можна досягти за допомогою властивостей Presentation.SlideSize.Size.Width і Presentation.SlideSize.Size.Height. Нижче наведено кроки для виконання цієї операції.

  1. Спочатку створіть екземпляр класу Presentation, щоб завантажити презентацію.
  2. Потім установіть потрібні розміри мініатюр і масштабуйте значення за допомогою властивостей Width і Height.
  3. Перегляньте кожен ISlide у колекції Presentation.Slides.
  4. Створіть мініатюру кожного слайда за допомогою методу ISlide.GetThumbnail(Single, Single) і отримайте посилання на мініатюру в об’єкт Bitmap.
  5. Нарешті, збережіть мініатюру в бажаному форматі зображення за допомогою методу Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).

У наведеному нижче прикладі коду показано, як створити мініатюри PPTX із налаштованими розмірами.

// Завантажте презентацію PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Визначений користувачем розмір
    int desiredX = 1200;
    int desiredY = 800;

    // Отримання масштабованого значення X і Y
    float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    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);
    }
}

Отримайте безкоштовну ліцензію API

Ви можете використовувати Aspose.Slides for .NET без обмежень оцінки, попросивши тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як створювати мініатюри PowerPoint PPTX або PPT за допомогою C#. Крім того, ви бачили, як генерувати ескізи бажаних розмірів. Крім того, ви можете відвідати документацію, щоб дослідити інші функції API. Ви також можете повідомити нам про свої запити через наш форум.

Дивись також