
Возможно, вам потребуется предоставить другим пользователям доступ к страницам PDF-документов в виде файлов изображений. Как разработчик C#, вы можете легко программно преобразовывать PDF-файлы в PNG, JPG, TIFF или BMP в своих приложениях .NET. В этой статье вы узнаете, как конвертировать PDF в изображения с помощью C#.
В этой статье обсуждаются/рассматриваются следующие темы:
- Преобразование PDF в изображение C# API
- Преобразование изображений PDF в PNG с помощью C#
- Преобразование изображений PDF в JPG с помощью C#
- Преобразование PDF в BMP на C#
- Преобразование PDF в TIFF на C#
- Извлечение изображений из PDF-документов с помощью C#
Преобразование PDF в изображение C# API
Для преобразования PDF в изображения я буду использовать Aspose.PDF для .NET API. Это мощный API-интерфейс управления файлами PDF, который позволяет вам управлять документами PDF из приложений .NET. Он позволяет создавать, изменять, преобразовывать, визуализировать, защищать и печатать документы без использования Adobe Acrobat.
Вы можете либо скачать DLL API, либо установить его с помощью NuGet.
Install-Package Aspose.Pdf
Преобразование изображений PDF в PNG с помощью C#
Вы можете программно преобразовать файлы PDF в изображения PNG, выполнив следующие действия:
- Создайте экземпляр класса Document с входным путем к файлу PDF.
- Прокрутите все страницы PDF-файла, используя коллекцию Document.Pages, и выполните следующие действия:
- Создайте экземпляр класса Resolution и установите его значение.
- Создайте экземпляр класса PngDevice и передайте объекты Width, Height и Resolution.
- Вызовите метод Process(Page, String) с номером страницы и выходным путем к изображению PNG, чтобы преобразовать страницу в PNG.
В следующем примере кода показано, как преобразовать страницы PDF в изображения PNG с помощью C#.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
foreach (var page in pdfDocument.Pages)
{
// Определить разрешение
Resolution resolution = new Resolution(300);
// Создать устройство Png с указанными атрибутами
// Ширина, высота, разрешение
PngDevice PngDevice = new PngDevice(500, 700, resolution);
// Преобразование определенной страницы и сохранение изображения в поток
PngDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Png");
}

Преобразование изображений PDF в PNG с помощью C#
Класс Document представляет документ PDF. Он предоставляет несколько свойств и методов для выполнения различных функций. Коллекция Document.Pages — это коллекция страниц документа, и нумерация страниц в коллекции начинается с 1. Класс Resolution определяет разрешение изображения. Класс PngDevice позволяет сохранять страницы документа PDF в изображения PNG. Этот класс предоставляет следующие методы для сохранения страниц в изображения PNG:
- Процесс(Страница, Строка) — Performs some operation on the given page and saves results into the file at given path.
- Процесс(Страница, Поток) — Converts the page into PNG and saves it in the output stream.
Преобразование изображений PDF в JPG с помощью C#
Вы можете программно преобразовать файлы PDF в изображения JPG, выполнив следующие действия:
- Создайте экземпляр класса Document с путем к входному файлу.
- Прокрутите все страницы PDF-файла, используя коллекцию Document.Pages, и выполните следующие действия:
- Создайте экземпляр класса Resolution и установите его значение.
- Создайте экземпляр класса JpegDevice и передайте объект Width, Height и Resolution.
- Вызовите метод Process(Page, String) с номером страницы и путем к выходному изображению JPG, чтобы преобразовать страницу в JPG.
В следующем примере кода показано, как преобразовать страницы PDF в изображения JPG с помощью C#.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
foreach (var page in pdfDocument.Pages)
{
// Определить разрешение
Resolution resolution = new Resolution(300);
// Создать устройство Jpeg с указанными атрибутами
// Ширина, высота, разрешение
JpegDevice JpegDevice = new JpegDevice(500, 700, resolution);
// Преобразование определенной страницы и сохранение изображения в поток
JpegDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Jpg");
}

Преобразование изображений PDF в JPG с помощью C#
Преобразование PDF в BMP с помощью C#
Вы можете программно преобразовать файлы PDF в изображения BMP, выполнив следующие действия:
- Создайте экземпляр класса Document с путем к входному файлу.
- Прокрутите все страницы PDF-файла, используя коллекцию Document.Pages, и выполните следующие действия:
- Создайте экземпляр класса Resolution и установите его значение.
- Создайте экземпляр класса BmpDevice и передайте объекты Width, Height и Resolution.
- Вызовите метод Process(Page, String) с номером страницы и путем к выходному изображению BMP, чтобы преобразовать страницу в BMP.
В следующем примере кода показано, как преобразовать страницы PDF в изображения BMP с помощью C#.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
foreach (var page in pdfDocument.Pages)
{
// Определить разрешение
Resolution resolution = new Resolution(300);
// Создать устройство PNG с указанными атрибутами
// Ширина, высота, разрешение
BmpDevice BmpDevice = new BmpDevice(500, 700, resolution);
// Преобразование определенной страницы и сохранение изображения в поток
BmpDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".bmp");
}

Преобразование PDF в BMP с помощью C#
Преобразование PDF в TIFF с использованием C#
Вы можете программно конвертировать PDF-файлы в TIFF, выполнив следующие действия:
- Создайте экземпляр класса Document с путем к входному файлу.
- Инициализируйте экземпляр класса Resolution и установите его значение.
- Создайте экземпляр класса TiffSettings.
- Установите различные свойства, такие как сжатие, глубина, форма и пропуск пустых страниц и т. д.
- Создайте экземпляр класса TiffDevice с объектами Resolution и TiffSettings.
- Вызовите метод Process(Document, String) с объектом Document и выходным путем к файлу TIFF, чтобы преобразовать документ в TIFF.
В следующем примере кода показано, как преобразовать PDF-файл в TIFF с помощью C#.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
// Определить разрешение
Resolution resolution = new Resolution(300);
// Создать объект TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
Compression = CompressionType.None,
Depth = ColorDepth.Default,
Shape = ShapeType.Portrait,
SkipBlankPages = false
};
// Создать TIFF-устройство
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// Преобразование определенной страницы и сохранение изображения в поток
tiffDevice.Process(pdfDocument, "C:\\Files\\AllPagesToTIFF_out.tif");

Преобразование PDF в TIFF с использованием C#
Класс TiffSettings предоставляет несколько настроек для преобразования PDF в TIFF. Вы можете установить яркость, сжатие, тип координаты, глубину, поля, форму и пропуск пустых страниц при преобразовании PDF в TIFF.
Извлечение изображений из PDF-документов с помощью C#
Вы можете программно извлечь все изображения из любого PDF-файла, выполнив следующие действия:
- Создайте экземпляр класса Document с путем к входному файлу.
- Для каждой страницы создайте экземпляр XImage для каждого изображения в коллекции Page.Resources.Images.
- Создайте экземпляр класса FileStream с путем к файлу выходного изображения.
- Вызовите метод Save() с объектом FileStream, чтобы сохранить изображение.
- Наконец, закройте FileStream с помощью метода Close().
В следующем примере кода показано, как извлечь изображения из документа PDF с помощью C#.
// Открыть документ
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
// Пролистывать страницы
foreach (var page in pdfDocument.Pages)
{
int imageCounter = 1;
// Перебрать все изображения
foreach (XImage image in page.Resources.Images)
{
// Создать файловый поток для изображения
FileStream outputImage = new FileStream(String.Format("C:\\Files\\Page{0}_Image{1}.jpg", page.Number, imageCounter), FileMode.Create);
// Сохранить выходное изображение
image.Save(outputImage);
// Закрыть поток
outputImage.Close();
imageCounter++;
}
}

Извлечение изображений из PDF-документов с помощью C#
Класс XImage представляет X-объект изображения. Он предоставляет несколько свойств и методов для работы с изображениями. Класс XImage предоставляет следующие методы для сохранения объекта изображения:
- Сохранить (поток) — Saves image data into stream as JPEG image.
- Сохранить (поток, формат изображения) — Saves image into stream with requested format.
- Метод Save(Stream, Int32) — сохраняет данные изображения в поток как изображение JPEG с указанным разрешением.
- Метод Save(Stream, ImageFormat, Int32) — Сохраняет изображение в поток с заданным форматом и указанным разрешением.
Коллекция Page.Resources.Images представляет собой набор изображений для конкретной страницы.
Получить бесплатную лицензию
Вы можете попробовать API без ограничений на пробную версию, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как преобразовать страницы PDF-файла в изображения с помощью C#. Вы также узнали, как программно конвертировать PDF в PNG, PDF в JPG, PDF в BMP и PDF в TIFF. Кроме того, вы узнали, как извлекать изображения из PDF-файла с помощью C#. API также предлагает параметры сжатия, создание и манипулирование таблицами, функции графиков и изображений, расширенные функции гиперссылок, задачи штампов и водяных знаков, расширенные элементы управления безопасностью и обработку настраиваемых шрифтов. Вы можете узнать больше об Aspose.PDF для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.