Створення мініатюр для файлів PDF у C#

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

C# .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 resolution = new Resolution(300);

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

    // Перетворіть певну сторінку та збережіть зображення для потокового перегляду
    jpegDevice.Process(page, imageStream);

    // Закрити потік
    imageStream.Close();
}

Створення ескізів усіх сторінок у PDF на C#

Нижче наведено кроки для створення ескізів для всіх сторінок 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 resolution = new Resolution(300);

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

        // Перетворіть певну сторінку та збережіть зображення для потокового перегляду
        jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);

        // Закрити потік
        imageStream.Close();
    }
}

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

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

Висновок

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

Дивись також