Создание миниатюр для PDF-файлов в C#

Часто вам может понадобиться создать миниатюры при встраивании документов PDF в веб-приложение. Также миниатюры страниц необходимы при создании просмотрщика PDF. Для таких сценариев в этой статье рассказывается, как создавать миниатюры PDF-файла программным способом в C# .NET. Мы подробно расскажем, как создать миниатюру определенной страницы или всех страниц в файле PDF.

С# .NET API для создания миниатюр PDF

Aspose.PDF for .NET — это библиотека классов C#, позволяющая создавать PDF-документы и управлять ими в приложениях .NET. Используя API, вы можете легко выполнять как базовые, так и расширенные операции автоматизации PDF. Мы будем использовать этот API для создания миниатюр PDF-файла. API можно загрузить как DLL или установить через NuGet.

PM> Install-Package Aspose.Pdf

Создание миниатюры PDF-файла в C# .NET

Обычно для PDF-документа необходимо создать одно миниатюрное изображение. Страница для эскиза может быть титульной страницей или любой другой страницей по вашему выбору. Ниже приведены шаги для создания миниатюры нужной страницы PDF-файла на C#.

  • Загрузите файл PDF с помощью класса Document.
  • Получить ссылку на нужную страницу из коллекции Document.Pages.
  • Создайте новый FileStream для файла изображения.
  • Создайте экземпляр класса Resolution, чтобы задать разрешение миниатюры изображения.
  • Создайте экземпляр JpegDevice и установите высоту, ширину, разрешение и качество изображения.
  • Создайте миниатюру с помощью метода JpegDevice.Process(Page, FileStream).
  • Закройте файловый поток.

В следующем примере кода показано, как создать миниатюру PDF-файла на C#.

// Открыть документ
Document pdfDocument = new Document("file.pdf");

int pageIndex = 0;

// Получить страницу нужного индекса из коллекции
var page = pdfDocument.Pages[pageIndex];

// Создать поток для файла изображения
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
    // Создать объект разрешения
    Resolution resolution = new Resolution(300);

    // Создайте экземпляр JpegDevice и установите высоту, ширину, разрешение и качество изображения.
    JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

    // Преобразование определенной страницы и сохранение изображения в поток
    jpegDevice.Process(page, imageStream);

    // Закрыть поток
    imageStream.Close();
}

Создание миниатюр всех страниц в PDF на С#

Ниже приведены шаги для создания эскизов для всех страниц в PDF на C#.

  • Загрузите файл PDF с помощью класса Document.
  • Прокрутите все страницы в PDF, используя коллекцию Document.Pages.
  • На каждой итерации выполните следующие операции:
    • Создайте новый FileStream для файла изображения.
    • Создайте экземпляр класса Resolution, чтобы задать разрешение миниатюры изображения.
    • Создайте экземпляр JpegDevice и установите высоту, ширину, разрешение и качество изображения.
    • Создайте миниатюру с помощью метода JpegDevice.Process(Page, FileStream).
    • Закройте файловый поток.

В следующем примере кода показано, как создать миниатюры для всех страниц в PDF.

// Открыть документ
Document pdfDocument = new Document("file.pdf");

// Пролистывать страницы
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
    // Создать поток для каждого изображения
    using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
    {
        // Создать объект разрешения
        Resolution resolution = new Resolution(300);

        // Создайте экземпляр JpegDevice и установите высоту, ширину, разрешение и качество изображения.
        JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

        // Преобразование определенной страницы и сохранение изображения в поток
        jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);

        // Закрыть поток
        imageStream.Close();
    }
}

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы использовать Aspose.PDF для .NET без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как создавать миниатюры для PDF-файлов на C#. Вы видели, как создать миниатюру определенной страницы или всех страниц в файле PDF. Кроме того, вы можете узнать больше о C# PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

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