PDF(Portable Document Format)는 Adobe에서 개발한 대중적이고 널리 사용되는 문서 형식입니다. PDF 문서는 형식이 지정된 텍스트, 이미지, 주석, 양식 필드 등을 비롯한 다양한 콘텐츠를 포함할 수 있습니다. 프로그래밍 방식으로 PDF 문서를 구문 분석하는 것은 널리 사용되는 사용 사례이며 텍스트를 추출하는 여러 가지 방법이 있습니다. 그러나 PDF 문서에서 이미지를 추출하는 것은 복잡한 작업입니다. 이 문서에서는 C#에서 프로그래밍 방식으로 PDF 문서에서 이미지를 얼마나 쉽게 추출할 수 있는지 보여줍니다.

PDF 파일에서 이미지를 추출하는 .NET API

GroupDocs.Parser for .NET API는 PDF 파일에서 이미지를 추출하는 역할을 합니다. PDF와 함께 API는 워드 프로세싱 문서, 스프레드시트, 전자책, 프리젠테이션, 이메일, ZIP 아카이브 및 기타 많은 문서 형식에서 이미지의 구문 분석 및 추출을 지원합니다.

다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 .NET 애플리케이션에 API를 설치할 수 있습니다.

PM> Install-Package GroupDocs.Parser

C#을 사용하여 PDF 문서에서 이미지를 추출하는 단계

몇 줄의 C# 코드를 사용하여 PDF 파일에서 이미지를 가져오는 방법을 단계별로 빠르게 살펴보겠습니다.

  1. 새 프로젝트를 만듭니다.
  2. 위에서 언급한 대로 API를 다운로드하거나 최신 API 버전으로 업데이트하십시오.
  3. 다음 네임스페이스를 추가합니다.
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. Parser 클래스를 사용하여 PDF 문서를 로드합니다.
// Parser 클래스의 인스턴스 생성
using (Parser parser = new Parser("path/document.pdf"))
{
  // 귀하의 코드는 여기에 있습니다.
}
  1. GetImages 메서드를 사용하여 문서에서 이미지를 추출합니다.
// 이미지 추출
IEnumerable<PageImageArea> images = parser.GetImages();

// 이미지 추출이 지원되는지 확인
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. 컬렉션의 각 이미지에 액세스하고 Save 메서드를 사용하여 저장합니다.
// 검색된 이미지를 반복
foreach (PageImageArea image in images)
{
    // 이미지 저장
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

JPG, PNG, BMP, WebP 또는 GIF와 같은 다양한 이미지로 이미지를 저장할 수 있습니다.

C# 전체 코드 – PDF에서 이미지 추출

다음은 PDF 파일에서 모든 이미지를 가져올 수 있는 전체 코드입니다.

// C#을 사용하여 PDF에서 이미지 추출
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // 이미지 추출이 지원되는지 확인
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // 검색된 이미지를 반복
    foreach (PageImageArea image in images)
    {
        // 이미지 저장
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

결과

샘플 PDF 문서

추출할 이미지가 있는 PDF 문서.

추출된 이미지

PDF에서 이미지를 추출했습니다.

필요한 경우 C#을 사용하여 PDF 문서의 특정 페이지에서 이미지 추출하는 방법에 대해서도 별도의 기사에서 설명합니다.

더 읽어보기

문서를 사용하여 .NET 데이터 추출 API에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문을 공유할 수 있습니다.

또한보십시오