1. 제품
  2.   PDF
  3.   .NET
  4.   PdfPig
 
  

PDF 텍스트 추출 및 분석을 위한 무료 C# .NET API

PDF 파일에서 텍스트, 이미지, 메타데이터 및 PDF 구조 정보를 손쉽게 추출할 수 있는 선도적인 오픈 소스 .NET 라이브러리. PDF에 새 페이지, 표, 텍스트 및 도형을 추가하세요.

PdfPig 라이브러리란 무엇인가요?

PdfPig은 C#에서 PDF 파일을 읽고, 구문 분석하며, 콘텐츠를 추출하도록 설계된 오픈 소스 .NET 라이브러리입니다. Apache PDFBox를 .NET 생태계에 맞게 포팅한 것으로, PDF 텍스트 추출, 문서 분석 및 저수준 PDF 처리에 널리 사용됩니다. .NET Standard와 다양한 .NET 버전을 지원하여 최신 개발 환경에 매우 유연합니다. 이 라이브러리는 문서 인덱싱, 검색 엔진, AI/ML 문서 전처리, OCR 후처리, 청구서 자동화, PDF 접근성 도구 및 데이터 추출 시스템에 매우 유용합니다.

PDF 파일은 계약서, 보고서, 청구서, 전자책, 은행 명세서, 연구 논문, 양식 등 어디에나 있습니다. PDF는 주로 프레젠테이션 형식이며 의미론적 문서 형식이 아니기 때문에 PDF에서 구조화된 정보를 추출하는 것은 종종 어렵습니다. PdfPig은 개발자에게 원시 텍스트와 단어, 문자 위치와 경계 상자, 글꼴 및 스타일 정보, 이미지와 메타데이터, 문서 레이아웃 세부 정보를 제공함으로써 이 문제를 간소화합니다. 많은 PDF 라이브러리가 주로 PDF 생성에 초점을 맞추는 반면, PdfPig은 기존 PDF 문서를 읽는 데 특화되어 있습니다. 따라서 검색 엔진, OCR 파이프라인, 청구서 파서, 문서 분석기, 컴플라이언스 도구 또는 콘텐츠 추출 시스템을 구축하는 개발자에게 훌륭한 선택이 됩니다.

Previous Next

PdfPig 시작하기

PdfPig 라이브러리는 NuGet 패키지로 제공됩니다. 따라서 프로젝트에 PdfPig를 설치하려면 NuGet을 사용하는 것이 강력히 권장됩니다. 성공적인 설치를 위해 다음 명령을 사용하십시오.

NuGet 패키지 관리자를 통해 PdfPig 설치

// Package Manager
Install-Package PdfPig

// .NET CLI

dotnet add package PdfPig

수동으로 설치할 수도 있습니다; 최신 릴리스 파일을 GitHub 저장소에서 직접 다운로드하십시오.

.NET을 통해 PDF 문서에서 텍스트 추출

PdfPig의 가장 일반적인 사용 사례 중 하나는 PDF 문서에서 일반 텍스트를 추출하는 것입니다. 소프트웨어 개발자는 PDF를 열어 페이지별로 텍스트를 읽거나 전체 내용을 추출할 수 있습니다. 이는 검색 인덱싱, 키워드 스캔 및 콘텐츠 분석에 특히 유용합니다. 다음은 C# .NET 애플리케이션 내에서 소프트웨어 개발자가 PDF 문서에서 텍스트를 추출하는 방법을 보여주는 간단한 예제입니다. 먼저 PDF 파일을 열고 모든 페이지를 순회한 다음 추출된 텍스트 내용을 읽습니다.

C# API를 통해 PDF 문서에서 텍스트를 추출하는 방법?

using UglyToad.PdfPig;

using (var document = PdfDocument.Open("sample.pdf"))
{
    foreach (var page in document.GetPages())
    {
        string text = page.Text;
        Console.WriteLine(text);
    }
}

대화형 양식 및 삽입 파일 추출

오픈 소스 PdfPig 라이브러리는 인터랙티브 Acrobat Form(AcroForms)의 추출과 PDF 첨부 파일에 숨겨진 파일 읽기를 기본적으로 지원합니다. 이를 통해 개발자는 전역적으로 폼 정의를 확인하고, 체크박스, 텍스트 필드, 푸시버튼과 같은 유형별 인터랙티브 폼 요소를 순회하며, 문서 주석에 포함된 파일의 기본 원시 바이트 데이터를 액세스하여 원활한 시스템 상호 운용성을 제공합니다.

C# .NET 라이브러리를 통해 인터랙티브 폼 데이터를 추출하는 방법은?

using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;

class Program
{
    static void ExtractInteractiveContent(string pdfPath)
    {
        using (PdfDocument document = PdfDocument.Open(pdfPath))
        {
            // Extracting Interactive Form Data
            if (document.TryGetForm(out AcroForm form))
            {
                foreach (var field in form.Fields)
                {
                    Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
                }
            }

            // Extracting Embedded Documents/Attachments
            if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
            {
                foreach (var file in embeddedFiles)
                {
                    Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
                    // File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
                }
            }
        }
    }
}

C#를 사용한 원활한 다중 파일 PDF 병합

콘텐츠 추출을 넘어, PdfPig은 간단한 문서 관리 유틸리티를 제공합니다. PdfMerger 클래스를 활용하면 개발자는 별개의 독립적인 PDF 구조를 단일, 통합된 파일 바이트 배열로 합칠 수 있습니다. 이는 무거운 외부 종속성을 .NET 파이프라인에 추가하지 않고도 프로그래밍된 보고서, 청구서 또는 클라이언트 명세서 문서를 연결하는 효과적인 방법을 제공합니다. 다음 예제는 사용자가 .NET 애플리케이션 내에서 여러 PDF 문서를 결합할 수 있는 방법을 보여줍니다.

C# .NET 앱에서 여러 PDF 파일을 병합하는 방법은?

using System.IO;
using UglyToad.PdfPig.Writer;

class Program
{
    static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
    {
        // Consolidate files into a single continuous byte sequence
        byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
        
        // Output the combined file stream directly to disk
        File.WriteAllBytes(outputPdf, mergedFileBytes);
    }
}

PDF 메타데이터, 양식 및 주석 읽기

텍스트 추출을 넘어, 오픈 소스 PdfPig 라이브러리는 문서 메타데이터(제목, 저자, 제작자), 인터랙티브 폼 필드, 하이퍼링크 및 북마크를 노출하는 기능을 포함하고 있습니다. 이는 콘텐츠와 컨텍스트가 모두 필요한 문서 분류 시스템, 자동화된 양식 처리 및 콘텐츠 인덱싱에 매우 유용합니다.

 한국인