Часто вам может понадобиться создать миниатюры при встраивании документов 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, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.