Преобразование PDF в изображения с помощью C#

Возможно, вам потребуется предоставить другим пользователям доступ к страницам PDF-документов в виде файлов изображений. Как разработчик C#, вы можете легко программно преобразовывать PDF-файлы в PNG, JPG, TIFF или BMP в своих приложениях .NET. В этой статье вы узнаете, как конвертировать 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#

Преобразование изображений PDF в PNG с помощью C#

Класс Document представляет документ PDF. Он предоставляет несколько свойств и методов для выполнения различных функций. Коллекция Document.Pages — это коллекция страниц документа, и нумерация страниц в коллекции начинается с 1. Класс Resolution определяет разрешение изображения. Класс PngDevice позволяет сохранять страницы документа PDF в изображения PNG. Этот класс предоставляет следующие методы для сохранения страниц в изображения PNG:

Преобразование изображений 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 в 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 в 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#

Преобразование 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#

Извлечение изображений из PDF-документов с помощью C#

Класс XImage представляет X-объект изображения. Он предоставляет несколько свойств и методов для работы с изображениями. Класс XImage предоставляет следующие методы для сохранения объекта изображения:

Коллекция Page.Resources.Images представляет собой набор изображений для конкретной страницы.

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

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

Вывод

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

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