Как извлечь изображение из PDF-файла на C# и .NET

SautinSoft.Pdf поддерживает экспорт изображений из PDF-файлов в форматах JPEG, BMP, PNG и TIFF. Извлечение изображений из PDF-документов может быть важной задачей для различных приложений, таких как анализ данных, цифровое архивирование и перепрофилирование контента. Используя C# и .NET, вы можете эффективно извлекать изображения из PDF-файлов с помощью библиотеки SautinSoft.PDF.

Извлечение изображений из PDF-файлов может быть полезно для:

  • Повторное использование изображений в других документах или презентациях.
  • Анализ визуальных данных.
  • Архивирование изображений отдельно для лучшей организации.
  • Совершенствование систем управления контентом.

В следующем примере показано, как экспортировать отдельное изображение из PDF-файла:

  1. Добавить SautinSoft.PDF из NuGet.
  2. Загрузить PDF-документ.
  3. Выполнить итерацию по страницам PDF.
  4. Получить все элементы содержимого изображения на странице.
  5. Экспортировать первый элемент изображения в файл изображения.
  6. Сохранить изображение.

Входной файл:

Выходной результат:

Полный код

using System;
using System.IO;
using System.Linq;
using SautinSoft;
using SautinSoft.Pdf;
using SautinSoft.Pdf.Content;

namespace Sample
{
    class Sample
    {
        /// <summary>
        /// Export and import images to PDF file.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/pdf/help/net/developer-guide/extract-images-from-pdf.php
        /// </remarks>
        static void Main(string[] args)
        {
            // Before starting this example, please get a free trial key:
            // https://sautinsoft.com/start-for-free/

            // Apply the key here:
            // PdfDocument.SetLicense("...");

            string pdfFile = Path.GetFullPath(@"..\..\..\simple text.pdf");

            using (var document = PdfDocument.Load(pdfFile))
            {
                // Iterate through PDF pages.
                foreach (var page in document.Pages)
                {
                    // Get all image content elements on the page.
                    var imageElements = page.Content.Elements.All().OfType<PdfImageContent>().ToList();

                    // Export the first image element to an image file.
                    if (imageElements.Count > 0)
                    {
                        imageElements[0].Save("Export Images.jpeg");
                        System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo("Export Images.jpeg") { UseShellExecute = true });
                        break;
                    }
                }
            }
        }
    }
}

Download

Option Infer On

Imports System
Imports System.IO
Imports System.Linq
Imports SautinSoft
Imports SautinSoft.Pdf
Imports SautinSoft.Pdf.Content

Namespace Sample
	Friend Class Sample
		''' <summary>
		''' Export and import images to PDF file.
		''' </summary>
		''' <remarks>
		''' Details: https://sautinsoft.com/products/pdf/help/net/developer-guide/extract-images-from-pdf.php
		''' </remarks>
		Shared Sub Main(ByVal args() As String)
			' Before starting this example, please get a free trial key:
			' https://sautinsoft.com/start-for-free/

			' Apply the key here:
			' PdfDocument.SetLicense("...");

			Dim pdfFile As String = Path.GetFullPath("..\..\..\simple text.pdf")

			Using document = PdfDocument.Load(pdfFile)
				' Iterate through PDF pages.
				For Each page In document.Pages
					' Get all image content elements on the page.
					Dim imageElements = page.Content.Elements.All().OfType(Of PdfImageContent)().ToList()

					' Export the first image element to an image file.
					If imageElements.Count > 0 Then
						imageElements(0).Save("Export Images.jpeg")
						System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo("Export Images.jpeg") With {.UseShellExecute = True})
						Exit For
					End If
				Next page
			End Using
		End Sub
	End Class
End Namespace

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.