이전 게시물에서 Java 문서에서 이미지를 추출하는 방법에 대해 논의했습니다. 오늘 우리는 C#을 사용하여 동일한 목표를 달성하려고 합니다. 지난 포스트를 방문하지 않으셨다면 걱정마세요. 이 기사에서는 문서 구문 분석 .NET API를 사용하여 C# 응용 프로그램의 PDF, Excel, PowerPoint 및 Word 문서에서 이미지를 프로그래밍 방식으로 추출하는 방법을 배웁니다.

.NET의 문서에서 이미지 추출

여기에서는 다음 주제를 다룹니다.

이미지, 텍스트 및 메타데이터 추출 .NET API

.NET에서 문서 구문 분석 및 데이터 추출

GroupDocs.Parser for .NET은 문서 파싱 및 데이터 추출 .NET API입니다. 워드 프로세싱 문서, 스프레드시트, 프레젠테이션, 아카이브에서 문서 구문 분석이미지, 텍스트메타데이터 추출을 지원합니다. 이메일 문서. 기사 말미에는 이미지 추출을 위해 API에서 지원하는 문서 형식이 언급되어 있습니다.

이 기사에서는 이 API를 사용하므로 해당 바이너리를 다운로드하거나 NuGet에서 API를 설치하여 환경을 준비하는 것이 좋습니다.

C#의 PDF 문서에서 이미지 추출

이미지를 추출하는 PDF 문서

다음의 간단한 단계에 따라 모든 PDF 문서에서 모든 이미지를 쉽게 검색할 수 있습니다.

  1. 소스 문서로 Parser 클래스 개체를 인스턴스화합니다.
  2. Parser 클래스의 GetImages 메서드를 호출하여 PageImageArea 개체의 모든 이미지 컬렉션을 가져옵니다.
  3. PageImageArea를 반복하여 모든 이미지를 가져옵니다.
  4. PageImageAreaSave 메서드를 사용하여 디스크에 이미지를 저장합니다.

추출된 이미지는 BMP, GIF, JPEG, PNG, WebP 형식으로 저장할 수 있습니다. 전체 단계를 보여주기 위해 전체 코드가 아래에 나와 있습니다.

// GroupDocs.Parser for .NET을 사용하여 C#의 Word, Excel, PPT, PDF에서 이미지 추출
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;
    // 검색된 이미지 반복
    foreach (PageImageArea image in images)
    {
        // 이미지 저장 및 페이지 인덱스, 직사각형 및 이미지 유형 인쇄:
        Console.WriteLine(string.Format("Page: {0}, R: {1}, Type: {2}", image.Page.Index, image.Rectangle, image.FileType));
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
        imageNumber++;
    }
}
GroupDocs.Parser를 사용하여 문서에서 추출된 이미지

C#의 Word, Excel, PowerPoint 파일에서 이미지 추출

PDF 형식에 국한되지 않고 변경되지 않은 코드 기반으로 워드 프로세서 문서, 스프레드시트, 프레젠테이션에서 모든 이미지를 가져올 수 있습니다. 파일 확장자로 소스 문서 경로를 변경하기만 하면 문서가 구문 분석되어 모든 이미지를 추출하고 디스크에 저장합니다.

using (Parser parser = new Parser("path/document.docx")) // Word Document
// using (Parser parser = new Parser("path/document.xlsx")) // Excel Spreadhseet
// using (Parser parser = new Parser("path/document.pptx")) // Presentation
// using (Parser parser = new Parser("path/document.pdf")) // PDF Document

C#의 특정 문서 페이지에서 이미지 추출

문서의 특정 페이지에서 이미지를 추출하려는 경우 아래 단계와 C# 코드를 사용하여 쉽게 수행할 수 있습니다.

  • GetDocumentInfo 메서드를 사용하여 문서에 대한 정보를 가져옵니다.
  • 문서 정보에서 전체 PageCount 및 기타 정보를 빼냅니다.
  • GetImages(pageIndex) 메서드를 사용하여 대상 페이지 인덱스를 전달합니다.
  • 검색된 이미지를 저장하려면 이미지 컬렉션을 탐색하고 저장 방법을 사용하여 개별 이미지를 저장합니다.
// .NET용 GroupDocs.Parser를 사용하여 C#의 Word, Excel, PowerPoint, PDF의 특정 페이지에서 이미지 추출
using (Parser parser = new Parser("path/document.pdf"))
{
    // 문서 정보 얻기
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;

    // 페이지 반복
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // 페이지 번호 인쇄 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // 이미지를 반복합니다. 예제에서 null 체크 무시
        foreach (PageImageArea image in parser.GetImages(pageIndex))
        {
            // 직사각형 및 이미지 유형 인쇄
            Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
            image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
            imageNumber++;
        }
    }
}

C#에서 이미지 추출에 지원되는 형식

다음은 이미지 추출을 위해 GroupDocs.Parser for .NET API에서 지원하는 문서 형식입니다.

GroupDocs.Parser에 대한 추가 정보

@ 무료 지원 포럼

관련 기사