푸터 콘텐츠로 바로가기
IRONOCR 사용

PDF 데이터 추출 .NET: 완벽한 개발자 가이드

간단한 코드 몇 줄로 .NET에서 IronPDF를 사용하여 PDF의 텍스트, 표, 양식 및 이미지를 추출하세요—NuGet을 통해 설치하고, PDF를 로드하고, ExtractAllText()를 호출하여 5분 이내에 시작할 수 있습니다.

PDF 문서는 비즈니스에서 어디에나 존재합니다: 송장, 보고서, 계약서, 및 매뉴얼. 하지만 필요 정보를 프로그램적으로 얻는 것은 까다로울 수 있습니다. PDF는 데이터 접근보다는 시각적인 측면에 중점을 둡니다. C#의 OCR로 작업하는 개발자에게는 스캔된 문서를 처리할 때 독특한 도전 과제를 제공합니다.

.NET 개발자를 위한 IronPDF는 PDF 파일에서 데이터를 쉽게 추출할 수 있는 강력한.NET PDF 라이브러리입니다. 텍스트, 테이블, 양식 필드, 이미지 및 첨부 파일을 입력 PDF 문서에서 직접 가져올 수 있습니다. 송장 처리 자동화, 지식 기반 구축 또는 보고서 생성 등의 작업을 할 때 이 라이브러리는 상당한 시간을 절약할 수 있습니다. 스캔된 PDF를 처리할 때는 이미지 기반 콘텐츠를 처리하기 위해 PDF OCR 텍스트 추출 기능도 필요할 수 있습니다.

이 가이드는 텍스트 콘텐츠, 표 데이터 및 양식 필드 값을 추출하는 실용적인 예제를 안내하며, 각 코드 조각 뒤에 설명이 있어 자신의 프로젝트에 맞게 조정할 수 있습니다. 다른 문서 유형으로 작업하는 경우 스캔한 문서 읽기 또는 TIFF를 검색 가능한 PDF로 변환을 탐색하는 것이 도움이 될 수 있습니다.

IronPDF로 시작하는 방법은?

IronPDF는 NuGet 패키지 관리자를 통해 몇 초 만에 설치됩니다. 패키지 관리자 콘솔을 열고 다음을 실행하십시오:

Install-Package IronPDF
Install-Package IronPDF
$vbLabelText   $csharpLabel

좀 더 고급 설치 시나리오에 대해서는 NuGet 패키지 문서를 참조하세요. 설치가 완료되면, 즉시 입력 PDF 문서를 처리하기 시작할 수 있습니다. 다음은 IronPDF의 API 단순성을 보여주는 최소한의 .NET 예제입니다:

using IronPdf;
// Load any PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text with one line
string allText = pdf.ExtractAllText();
Console.WriteLine(allText);
using IronPdf;
// Load any PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text with one line
string allText = pdf.ExtractAllText();
Console.WriteLine(allText);
$vbLabelText   $csharpLabel

이 코드는 PDF를 로드하고 모든 텍스트를 추출합니다. IronPDF는 일반적으로 다른 라이브러리에서 문제를 일으키는 복잡한 PDF 구조, 양식 데이터 및 인코딩을 자동으로 처리합니다. PDF 문서에서 추출한 데이터는 텍스트 파일로 저장하거나 추가 분석을 위해 처리할 수 있습니다. 좀 더 복잡한 추출 필요에 대해 전문적인 문서 처리 기술을 탐구하는 것이 좋습니다.

실용적인 팁: 추출된 텍스트를 나중에 처리하거나 데이터베이스, Excel 시트 또는 지식 기반을 채우기 위해 .txt 파일로 저장할 수 있습니다. 이 방법은 보고서, 계약서 또는 원시 텍스트가 빠르게 필요한 PDF에 적합합니다. 테이블을 포함한 시나리오의 경우 더 구조화된 데이터 추출을 위해 문서에서 테이블 읽기에 대해 학습하는 것이 좋습니다.

추출된 텍스트는 어떻게 보이나요?

PDF 문서에서 'PDF란 무엇인가?'를 설명하는 페이지가 왼쪽에 있고, 해당 PDF에서 추출된 텍스트가 Visual Studio 콘솔 창에 오른쪽에 표시된 화면 분할입니다

특정 페이지에서 데이터를 어떻게 추출할 수 있습니까?

실제 응용 프로그램은 종종 정밀한 데이터 추출을 요구합니다. IronPDF는 PDF 내 특정 페이지에서 귀중한 정보를 타겟으로 하는 여러 가지 방법을 제공합니다. 이 접근 방식은 이미지의 특정 영역 OCR 추출과 유사하지만, PDF용입니다. 이 예제에서는 다음 PDF를 사용합니다:

2024년 연간 보고서를 보여주는 PDF 뷰어로 청구서 번호, 날짜 및 금액이 포함된 청구서 요약 테이블, 부서 성과 및 재무 개요 섹션이 포함된 화면입니다

다음 코드는 이 PDF 내 특정 페이지에서 데이터를 추출하여 콘솔에 결과를 반환합니다. 다중 페이지 TIFF 처리 기술은 유사한 문제에 유용할 수 있습니다.

using IronPdf;
using System;
using System.Text.RegularExpressions;
// Load any PDF document
var pdf = PdfDocument.FromFile("AnnualReport2024.pdf");
// Extract from selected pages
int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5
foreach (var pageIndex in pagesToExtract)
{
    string pageText = pdf.ExtractTextFromPage(pageIndex);
    // Split on 2 or more spaces (tables often flatten into space-separated values)
    var tokens = Regex.Split(pageText, @"\s{2,}");
    foreach (string token in tokens)
    {
        // Match totals, invoice headers, and invoice rows
        if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-"))
        {
            Console.WriteLine($"Important: {token.Trim()}");
        }
    }
}
using IronPdf;
using System;
using System.Text.RegularExpressions;
// Load any PDF document
var pdf = PdfDocument.FromFile("AnnualReport2024.pdf");
// Extract from selected pages
int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5
foreach (var pageIndex in pagesToExtract)
{
    string pageText = pdf.ExtractTextFromPage(pageIndex);
    // Split on 2 or more spaces (tables often flatten into space-separated values)
    var tokens = Regex.Split(pageText, @"\s{2,}");
    foreach (string token in tokens)
    {
        // Match totals, invoice headers, and invoice rows
        if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-"))
        {
            Console.WriteLine($"Important: {token.Trim()}");
        }
    }
}
$vbLabelText   $csharpLabel

이 예제는 PDF 문서에서 텍스트를 추출하고, 주요 정보를 검색하며, 데이터를 파일이나 지식 기반에 저장하기 위해 준비하는 방법을 보여줍니다. ExtractTextFromPage() 메서드는 문서의 읽기 순서를 유지하여 문서 분석 및 콘텐츠 인덱싱 작업에 완벽합니다. 이미지 최적화 필터를 사용하면 낮은 품질의 PDF 작업 시 정확성을 향상시킬 수 있습니다.

Microsoft Visual Studio Debug Console showing extracted invoice data with invoice summary, dates, amounts, and final total of $2,230.00

재무 언어 팩은 전문 용어의 정확성을 향상시킬 수 있습니다. 또한, 대량 문서 배치의 추출 성능을 모니터링하는 진행 상황 추적이 유용할 수 있습니다.

PDF에서 표를 어떻게 추출하나요?

PDF 파일의 표는 고유의 구조가 없으므로 단지 표처럼 보이도록 배치된 텍스트입니다. IronPDF는 레이아웃을 보존하면서 표 데이터를 추출하여 Excel 또는 텍스트 파일로 처리할 수 있도록 합니다. OCR 드로잉 추출과 유사하지만, 표 형식 콘텐츠에 최적화되어 있습니다. 이 예제에서는 이 PDF를 사용합니다:

Sample invoice showing structured data with customer details, itemized products, and total amount of $180.00

목표는 표의 자체 내 데이터를 추출하여 IronPDF의 표 데이터 해석 능력을 입증하는 것입니다. 문서에서 표 읽기는 복잡한 표 구조에 머신러닝을 사용합니다.

using IronPdf;
using System;
using System.Text;
using System.Text.RegularExpressions;
var pdf = PdfDocument.FromFile("example.pdf");
string rawText = pdf.ExtractAllText();
// Split into lines for processing
string[] lines = rawText.Split('\n');
var csvBuilder = new StringBuilder();
foreach (string line in lines)
{
    if (string.IsNullOrWhiteSpace(line) || line.Contains("Page"))
        continue;
    string[] rawCells = Regex.Split(line.Trim(), @"\s+");
    string[] cells;
    // If the line starts with "Product", combine first two tokens as product name
    if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5)
    {
        cells = new string[rawCells.Length - 1];
        cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter
        Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2);
    }
    else
    {
        cells = rawCells;
    }
    // Keep header or table rows
    bool isTableOrHeader = cells.Length >= 2
                           && (cells[0].StartsWith("Item") || cells[0].StartsWith("Product")
                               || Regex.IsMatch(cells[0], @"^INV-\d+"));
    if (isTableOrHeader)
    {
        Console.WriteLine($"Row: {string.Join("|", cells)}");
        string csvRow = string.Join(",", cells).Trim();
        csvBuilder.AppendLine(csvRow);
    }
}
// Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString());
Console.WriteLine("Table data exported to CSV");
using IronPdf;
using System;
using System.Text;
using System.Text.RegularExpressions;
var pdf = PdfDocument.FromFile("example.pdf");
string rawText = pdf.ExtractAllText();
// Split into lines for processing
string[] lines = rawText.Split('\n');
var csvBuilder = new StringBuilder();
foreach (string line in lines)
{
    if (string.IsNullOrWhiteSpace(line) || line.Contains("Page"))
        continue;
    string[] rawCells = Regex.Split(line.Trim(), @"\s+");
    string[] cells;
    // If the line starts with "Product", combine first two tokens as product name
    if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5)
    {
        cells = new string[rawCells.Length - 1];
        cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter
        Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2);
    }
    else
    {
        cells = rawCells;
    }
    // Keep header or table rows
    bool isTableOrHeader = cells.Length >= 2
                           && (cells[0].StartsWith("Item") || cells[0].StartsWith("Product")
                               || Regex.IsMatch(cells[0], @"^INV-\d+"));
    if (isTableOrHeader)
    {
        Console.WriteLine($"Row: {string.Join("|", cells)}");
        string csvRow = string.Join(",", cells).Trim();
        csvBuilder.AppendLine(csvRow);
    }
}
// Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString());
Console.WriteLine("Table data exported to CSV");
$vbLabelText   $csharpLabel

PDF의 표는 보통 격자처럼 보이도록 배치된 텍스트입니다. 이 검사는 선이 표 행 또는 헤더에 속하는지를 결정하는 데 도움을 줍니다. 헤더, 푸터 및 관련 없는 텍스트를 필터링하여 CSV 또는 Excel에 준비된 깨끗한 표 데이터를 PDF에서 추출할 수 있습니다. 복잡한 레이아웃의 영수증 및 송장을 처리하려면 AdvancedScan 확장을 확인하십시오.

이 워크플로는 PDF 형식, 재무 문서 및 보고서에 적합합니다. 나중에 PDF에서 데이터를 xlsx 파일로 변환하거나 모든 유용한 데이터를 포함한 zip 파일에 병합할 수 있습니다. 병합된 셀이 있는 복잡한 표의 경우, 열 위치에 따라 구문 분석 논리를 조정해야 할 수 있습니다. 데이터 출력 문서는 구조화된 결과를 처리하기 위한 자세한 지침을 제공합니다.

Item, Quantity, Price, Total 계산된 값을 위한 열이 있는 제품 인벤토리를 보여주는 Excel 스프레드시트입니다

컴퓨터 비전 기술을 사용하면 테이블 영역 자동 탐지를 통해 복잡한 레이아웃의 정확성을 높일 수 있습니다. 이 접근 방식은 복잡한 레이아웃에서 결과를 크게 향상시킬 수 있습니다.

양식 필드 데이터를 어떻게 추출합니까?

IronPDF는 양식 필드 데이터 추출 및 수정도 가능하여 여권 읽기 기능과 유사한 구조화된 문서에 대한 기능을 제공합니다:

using IronPdf;
using System.Drawing;
using System.Linq;
var pdf = PdfDocument.FromFile("form_document.pdf");
// Extract form field data
var form = pdf.Form;
foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable
{
    Console.WriteLine($"{field.Name}: {field.Value}");
    // Update form values if needed
    if (field.Name == "customer_name")
    {
        field.Value = "Updated Value";
    }
}
// Save modified form
pdf.SaveAs("updated_form.pdf");
using IronPdf;
using System.Drawing;
using System.Linq;
var pdf = PdfDocument.FromFile("form_document.pdf");
// Extract form field data
var form = pdf.Form;
foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable
{
    Console.WriteLine($"{field.Name}: {field.Value}");
    // Update form values if needed
    if (field.Name == "customer_name")
    {
        field.Value = "Updated Value";
    }
}
// Save modified form
pdf.SaveAs("updated_form.pdf");
$vbLabelText   $csharpLabel

이 코드는 PDF에서 양식 필드 값을 추출하고 프로그램적으로 업데이트할 수 있게 하여 PDF 양식을 처리하거나 분석 또는 보고서 생성에 필요한 정보를 쉽게 추출할 수 있습니다. 이것은 고객 가입, 설문 조사 처리 또는 데이터 유효성 검사 같은 워크플로 자동화에 유용합니다. 신분증 OCR 모범 사례를 탐색하십시오.

데이터 추출 결과를 보여주는 두 개의 PDF 양식의 나란히 비교 - 왼쪽에는 'John Doe' 데이터가 있는 원본 양식, 오른쪽에는 'Updated Value'를 보여주는 업데이트된 양식으로 성공적인 데이터 추출 및 수정을 보여줍니다

체크박스 및 라디오 버튼이 포함된 양식을 처리할 때는 특별한 필드 유형을 위한 바코드 및 QR 읽기와 유사한 사용자 지정 논리가 필요할 수 있습니다. OcrResult Class 문서는 다양한 결과 유형을 처리하는 데 대해 포괄적인 세부 정보를 제공합니다.

다음에는 무엇을 해야 하나요?

IronPDF는 .NET에서 PDF 데이터 추출을 실용적이고 효율적으로 만듭니다. 이미지, 텍스트, 표, 양식 필드를 추출하고, 추가 OCR이 필요한 스캔 PDF를 포함한 다양한 PDF 문서에서 첨부 파일을 추출할 수 있습니다. IronOCR 기능과 결합하면 스캔된 문서에 대해 포괄적인 문서 처리 기능을 제공합니다.

지식 기반을 구축하거나, 보고 워크플로를 자동화하거나, 금융 PDF에서 데이터를 추출하는 경우에도 이 라이브러리로 수작업의 복사나 오류가 발생하기 쉬운 구문 분석 없이 작업을 완료할 수 있는 도구를 제공합니다. 간단하고 빠르며 Visual Studio 프로젝트에 직접 통합됩니다. IronPDF는 다양한 플랫폼을 지원하여 Windows, Linux, Docker, AWSAzure와 같은 클라우드 플랫폼을 포함합니다.

시도해 보십시오—PDF 작업 시 시간 절약과 일반적인 골칫거리를 피할 수 있습니다. 라이선스 옵션에는 여러분의 필요에 따라 유연하게 성장할 수 있는 계획이 포함되어 있습니다. 또한 라이선스 키 구현을 탐색하여 프로덕션 배포에 사용할 수 있습니다.

애플리케이션에서 PDF 데이터 추출을 구현할 준비가 되셨습니까? IronPDF가 귀하를 위한 .NET 라이브러리로 들리나요? 무료 체험판을 시작하여 모든 기능에 액세스하거나 상업적 사용을 위한 라이선스 옵션을 탐색하십시오. 종합적인 가이드와 API 참조는 문서를 방문하세요. 빠른 구현을 위해 데모코드 예제를 확인하여 몇 분 안에 시작할 수 있습니다.

자주 묻는 질문

PDF 문서에서 데이터를 추출할 때 가장 큰 어려움은 무엇입니까?

PDF 문서는 주로 특정 레이아웃으로 콘텐츠를 표시하도록 설계되었기 때문에 데이터 접근성보다는 외관에 중점을 두어 프로그램 방식으로 데이터를 추출하기가 어렵습니다.

IronOCR .NET 에서 PDF 데이터 추출을 어떻게 지원할 수 있습니까?

IronOCR 광학 문자 인식(OCR) 기술을 활용하여 텍스트 이미지를 기계가 읽을 수 있는 데이터로 변환함으로써 스캔한 문서를 포함한 PDF 파일에서 텍스트와 데이터를 추출하는 도구를 제공합니다.

IronOCR 스캔한 PDF 문서를 처리할 수 있습니까?

네, IronOCR 고급 OCR 기술을 사용하여 스캔한 PDF 문서에서 이미지를 인식하고 텍스트를 추출할 수 있습니다.

IronOCR 에서 PDF 데이터 추출에 사용되는 프로그래밍 언어는 무엇입니까?

IronOCR C#과 함께 사용하도록 설계되었으므로 .NET Framework 에서 PDF에서 데이터를 추출하는 개발자에게 탁월한 선택입니다.

IronOCR 사용하여 PDF 데이터를 추출하는 코드 예제가 있습니까?

예, 해당 가이드에는 IronOCR 사용하여 PDF 파일에서 데이터를 효과적으로 추출하는 방법을 보여주는 완전한 C# 코드 예제가 포함되어 있습니다.

IronOCR PDF 문서에서 표를 분석할 수 있습니까?

IronOCR PDF 문서에서 표를 구문 분석하는 기능이 포함되어 있어 개발자가 구조화된 데이터를 효율적으로 추출할 수 있습니다.

IronOCR 어떤 유형의 PDF 콘텐츠를 추출할 수 있나요?

IronOCR PDF에서 텍스트, 표, 스캔 이미지의 데이터 등 다양한 유형의 콘텐츠를 추출할 수 있어 다재다능한 데이터 추출 도구입니다.

칸나오팟 우돈판트
소프트웨어 엔지니어
카나팟은 소프트웨어 엔지니어가 되기 전 일본 홋카이도 대학교에서 환경 자원학 박사 학위를 취득했습니다. 학위 과정 중에는 생물생산공학과 소속 차량 로봇 연구실에서 활동하기도 했습니다. 2022년에는 C# 기술을 활용하여 Iron Software의 엔지니어링 팀에 합류했고, 현재 IronPDF 개발에 집중하고 있습니다. 카나팟은 IronPDF에 사용되는 대부분의 코드를 직접 작성하는 개발자로부터 배울 수 있다는 점에 만족하며, 동료들과의 소통을 통해 배우는 것 외에도 Iron Software에서 일하는 즐거움을 누리고 있습니다. 코딩이나 문서 작업을 하지 않을 때는 주로 PS5로 게임을 하거나 The Last of Us를 다시 시청하는 것을 즐깁니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me