.NET에서 PDF에서 데이터를 추출하는 방법
.NET에서 PDF에서 데이터 추출 방법
IronPDF는 .NET에서 PDF 문서에서 텍스트, 테이블, 양식 필드, 첨부 파일을 몇 줄의 코드로 쉽게 추출하여 송장 처리 자동화, 지식 베이스 구축 또는 복잡한 파싱 없이 보고서 생성에 적합합니다.
PDF 문서는 비즈니스에서 어디서든지 볼 수 있습니다; 현대적인 예로 송장, 보고서, 계약서, 매뉴얼이 있습니다. 그러나 그런 문서에서 필요 정보를 프로그램적으로 뽑는 것은 까다로울 수 있습니다. PDF는 데이터 접근보다는 시각적인 측면에 중점을 둡니다.
.NET 개발자를 위한 IronPDF는 PDF 파일에서 데이터를 쉽게 추출할 수 있는 강력한.NET PDF 라이브러리입니다. 텍스트, 테이블, 양식 필드, 이미지, 첨부 파일을 PDF 문서에서 직접 가져올 수 있습니다. 송장 처리 자동화를 하거나, 지식 기반을 구축하거나 보고서를 생성할 때 이 라이브러리는 많은 시간을 절약해 줍니다.
이 가이드는 텍스트 콘텐츠, 테이블 데이터, 양식 필드 값을 추출하는 실제 예를 안내하며, 각 코드 스니펫 후에 설명이 제공되어 여러분의 프로젝트에 맞게 조정할 수 있습니다.
IronPDF로 시작하는 방법은?
설치가 왜 이렇게 빠른가요?
IronPDF는 NuGet 패키지 관리자를 통해 몇 초 안에 설치할 수 있습니다. 패키지 관리자 콘솔을 열고 다음을 실행하십시오:
Install-Package IronPdf
Windows 개발자에게는 설치가 간단합니다. Linux 또는 macOS에 배포하려는 경우에도 IronPDF는 해당 플랫폼을 지원합니다. Docker 컨테이너에서 IronPDF를 실행하거나 Azure 및 AWS에 배포할 수도 있습니다.
텍스트를 추출하는 가장 간단한 방법은 무엇인가요?
설치 후 즉시 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);
Imports IronPdf
' Load any PDF document
Dim pdf = PdfDocument.FromFile("document.pdf")
' Extract all text with one line
Dim allText As String = pdf.ExtractAllText()
Console.WriteLine(allText)
이 코드는 PDF를 로드하고 모든 텍스트를 추출합니다. IronPDF는 일반적으로 다른 라이브러리에서 문제를 일으키는 복잡한 PDF 구조, 양식 데이터 및 인코딩을 자동으로 처리합니다. PDF 문서에서 추출된 데이터는 텍스트 파일로 저장하거나 분석을 위해 추가로 처리할 수 있습니다.
실용적인 팁: 추출된 텍스트를 나중에 처리하기 위해 .txt 파일로 저장하거나 데이터베이스, Excel 시트, 지식 기반을 채우기 위해 파싱할 수 있습니다. 이 방법은 보고서, 계약서 또는 단순히 빠른 원시 텍스트가 필요한 모든 PDF에 잘 작동합니다. 보다 고급 추출 시나리오에 대한 자세한 내용은 포괄적인 파싱 가이드를 확인하십시오.
특정 PDF 페이지에서 데이터를 어떻게 추출하나요?
모든 것을 추출하는 대신 특정 페이지를 대상으로 하는 이유는 무엇인가요?
실제 응용 프로그램은 종종 정밀한 데이터 추출을 요구합니다. IronPDF는 특정 페이지에서 중요한 정보를 타겟팅할 수 있는 여러 방법을 제공합니다. 이 예제에서는 다음 PDF를 사용합니다:
using IronPdf;
// Load PDF from a memory stream if needed
byte[] pdfBytes = File.ReadAllBytes("report.pdf");
var pdfFromStream = PdfDocument.FromBytes(pdfBytes);
// Or load from a URL
var pdfFromUrl = PdfDocument.FromUrl("___PROTECTED_URL_32___");
using IronPdf;
// Load PDF from a memory stream if needed
byte[] pdfBytes = File.ReadAllBytes("report.pdf");
var pdfFromStream = PdfDocument.FromBytes(pdfBytes);
// Or load from a URL
var pdfFromUrl = PdfDocument.FromUrl("___PROTECTED_URL_32___");
Imports IronPdf
' Load PDF from a memory stream if needed
Dim pdfBytes As Byte() = File.ReadAllBytes("report.pdf")
Dim pdfFromStream As PdfDocument = PdfDocument.FromBytes(pdfBytes)
' Or load from a URL
Dim pdfFromUrl As PdfDocument = PdfDocument.FromUrl("___PROTECTED_URL_32___")
추출된 텍스트에서 주요 정보를 어떻게 검색하나요?
다음 코드는 특정 페이지에서 데이터를 추출하여 콘솔에 결과를 반환합니다. 이 기술은 다중 페이지 PDF 작업을 하거나 PDF를 분할하여 처리해야 할 때 특히 유용합니다:
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()}");
}
}
}
Imports IronPdf
Imports System
Imports System.Text.RegularExpressions
' Load any PDF document
Dim pdf = PdfDocument.FromFile("AnnualReport2024.pdf")
' Extract from selected pages
Dim pagesToExtract As Integer() = {0, 2, 4} ' Pages 1, 3, and 5
For Each pageIndex In pagesToExtract
Dim pageText As String = pdf.ExtractTextFromPage(pageIndex)
' Split on 2 or more spaces (tables often flatten into space-separated values)
Dim tokens = Regex.Split(pageText, "\s{2,}")
For Each token As String In tokens
' Match totals, invoice headers, and invoice rows
If token.Contains("Invoice") OrElse token.Contains("Total") OrElse token.StartsWith("INV-") Then
Console.WriteLine($"Important: {token.Trim()}")
End If
Next
Next
이 예제는 PDF 문서에서 텍스트를 추출하고, 주요 정보를 검색하고, 저장을 준비하는 방법을 보여줍니다. ExtractTextFromPage() 메서드는 문서의 읽기 순서를 유지하여 문서 분석 및 콘텐츠 인덱싱 작업에 적합합니다. 고급 텍스트 조작을 위해서 PDF 내에서 텍스트를 검색하고 교체할 수 있습니다.
PDF 문서에서 테이블 데이터를 어떻게 추출하나요?
테이블 추출이 일반 텍스트와 다른 이유는 무엇입니까?
PDF 파일의 표는 고유한 구조를 가지고 있지 않습니다; 이는 단순히 표처럼 보이도록 배치된 텍스트 내용입니다. IronPDF는 레이아웃을 보존하면서 표 데이터를 추출하여 Excel 또는 텍스트 파일로 처리할 수 있도록 합니다. PDF의 이미지가 포함된 더 복잡한 상황의 경우, 이미지를 별도로 추출해야 할 수 있습니다.
추출된 테이블을 CSV 형식으로 어떻게 변환합니까?
using IronPdf;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
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.Text;
using System.Text.RegularExpressions;
using System.IO;
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");
Imports IronPdf
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.IO
Dim pdf = PdfDocument.FromFile("example.pdf")
Dim rawText As String = pdf.ExtractAllText()
' Split into lines for processing
Dim lines() As String = rawText.Split(ControlChars.Lf)
Dim csvBuilder As New StringBuilder()
For Each line As String In lines
If String.IsNullOrWhiteSpace(line) OrElse line.Contains("Page") Then
Continue For
End If
Dim rawCells() As String = Regex.Split(line.Trim(), "\s+")
Dim cells() As String
' If the line starts with "Product", combine first two tokens as product name
If rawCells(0).StartsWith("Product") AndAlso rawCells.Length >= 5 Then
cells = New String(rawCells.Length - 2) {}
cells(0) = rawCells(0) & " " & rawCells(1) ' Combine Product + letter
Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2)
Else
cells = rawCells
End If
' Keep header or table rows
Dim isTableOrHeader As Boolean = cells.Length >= 2 AndAlso (cells(0).StartsWith("Item") OrElse cells(0).StartsWith("Product") OrElse Regex.IsMatch(cells(0), "^INV-\d+"))
If isTableOrHeader Then
Console.WriteLine($"Row: {String.Join("|", cells)}")
Dim csvRow As String = String.Join(",", cells).Trim()
csvBuilder.AppendLine(csvRow)
End If
Next
' Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString())
Console.WriteLine("Table data exported to CSV")
복잡한 테이블을 추출할 때 일반적인 문제는 무엇입니까?
PDF의 표는 보통 격자처럼 보이도록 배치된 텍스트입니다. 이 검사는 선이 표 행 또는 헤더에 속하는지를 결정하는 데 도움을 줍니다. 헤더, 푸터 및 관련 없는 텍스트를 필터링하여 CSV 또는 Excel에 준비된 깨끗한 표 데이터를 PDF에서 추출할 수 있습니다.
이 작업 흐름은 PDF 양식, 금융 문서, 보고서에 적용됩니다. 추출된 데이터를 나중에 xlsx 파일로 변환하거나 zip 파일에 병합할 수 있습니다. 병합된 셀이 있는 복잡한 표의 경우, 열 위치에 기반하여 구문 분석 논리를 조정해야 할 수 있습니다. 스캔된 PDF 작업 시, 먼저 IronOCR를 사용하여 텍스트 인식을 고려하십시오.
![Item, Quantity, Price, Total 값으로 구성된 제품 데이터를 추출한 Excel 스프레드시트, Products A, B, C 대하여] PDF에서 제품 정보와 수량, 가격, 계산된 총액을 보여주는 표 데이터를 성공적으로 추출했습니다.](/static-assets/pdf/blog/pdf-data-extraction-net/pdf-data-extraction-net-5.webp)
PDF에서 양식 필드 데이터를 어떻게 추출합니까?
프로그램matically 양식 필드를 추출하고 수정하는 이유는 무엇입니까?
IronPDF는 또한 양식 필드 데이터 추출 및 수정 기능을 제공합니다. 자동 처리해야 하는 작성 가능한 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");
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");
Imports IronPdf
Imports System.Drawing
Imports System.Linq
Dim pdf = PdfDocument.FromFile("form_document.pdf")
' Extract form field data
Dim form = pdf.Form
For Each 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" Then
field.Value = "Updated Value"
End If
Next
' Save modified form
pdf.SaveAs("updated_form.pdf")
고급 양식 처리를 위해 특정 필드 유형과 함께 작업할 수도 있습니다:
// Work with different form field types
foreach (var field in pdf.Form)
{
switch (field)
{
case TextFormField textField:
Console.WriteLine($"Text field '{field.Name}': {textField.Value}");
break;
case CheckBoxFormField checkBox:
Console.WriteLine($"Checkbox '{field.Name}': {checkBox.Value}");
checkBox.Value = true; // Check the box
break;
case ComboBoxFormField comboBox:
Console.WriteLine($"ComboBox '{field.Name}': {comboBox.Value}");
// Set to first available option
if (comboBox.Choices.Any())
comboBox.Value = comboBox.Choices.First();
break;
}
}
// Work with different form field types
foreach (var field in pdf.Form)
{
switch (field)
{
case TextFormField textField:
Console.WriteLine($"Text field '{field.Name}': {textField.Value}");
break;
case CheckBoxFormField checkBox:
Console.WriteLine($"Checkbox '{field.Name}': {checkBox.Value}");
checkBox.Value = true; // Check the box
break;
case ComboBoxFormField comboBox:
Console.WriteLine($"ComboBox '{field.Name}': {comboBox.Value}");
// Set to first available option
if (comboBox.Choices.Any())
comboBox.Value = comboBox.Choices.First();
break;
}
}
' Work with different form field types
For Each field In pdf.Form
Select Case field
Case textField As TextFormField
Console.WriteLine($"Text field '{field.Name}': {textField.Value}")
Case checkBox As CheckBoxFormField
Console.WriteLine($"Checkbox '{field.Name}': {checkBox.Value}")
checkBox.Value = True ' Check the box
Case comboBox As ComboBoxFormField
Console.WriteLine($"ComboBox '{field.Name}': {comboBox.Value}")
' Set to first available option
If comboBox.Choices.Any() Then
comboBox.Value = comboBox.Choices.First()
End If
End Select
Next
언제 양식 필드 추출을 사용해야 합니까?
이 스니펫은 PDF에서 양식 필드 값을 추출하고 프로그래밍 방식으로 업데이트할 수 있도록 합니다. 이를 통해 PDF 양식을 쉽게 처리하고 분석 또는 보고서를 위해 특정 정보를 추출할 수 있습니다. 이것은 고객 가입, 설문 조사 처리 또는 데이터 유효성 검사 같은 워크플로 자동화에 유용합니다.
일반적인 사용 사례에는 다음이 포함됩니다:
- 디지털 서명 자동화
- 암호로 보호된 PDF 처리
- PDF/A 준수를 위한 데이터 추출
- 맞춤형 워크플로우 구축
![두 PDF 양식의 나란히 비교 - 왼쪽의 샘플 데이터(John Doe)가 포함된 원래 양식과 오른쪽의 새 데이터(Updated Value)가 포함된 업데이트된 양식, .NET에서의 데이터 추출 및 수정 데모] .NET을 사용하여 PDF 양식 데이터 추출 및 수정이 성공적으로 수행됨을 보여주는 이전 및 이후 비교, 하단에 추출된 고객 정보를 표시하는 Visual Studio Debug Console 포함.](/static-assets/pdf/blog/pdf-data-extraction-net/pdf-data-extraction-net-6.webp)
내 다음 단계는 무엇인가요?
IronPDF는 .NET에서 PDF 데이터 추출을 실용적이고 효율적으로 만듭니다. 다양한 PDF 문서, 특히 추가 OCR 처리가 필요한 스캔된 PDF에서 텍스트, 테이블, 양식 필드, 이미지, 첨부 파일을 추출할 수 있습니다.
지식 기반을 구축하든, 보고서 워크플로우를 자동화하든, 금융 PDF에서 데이터를 추출하든, 이 라이브러리는 수동 복사나 오류가 발생하기 쉬운 구문 분석 없이 이를 수행할 수 있는 도구를 제공합니다. 간단하고 빠르며 Visual Studio 프로젝트에 직접 통합됩니다. 한번 시도해 보세요; PDF 작업에서 흔히 겪는 두통을 피하고 많은 시간을 절약할 수 있습니다.
더 고급 시나리오를 위해 탐색하세요:
!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101000101111101010011010101000100000101010100100101010001000101111101010111010010010101010000010111110101010000010 10010010011110100010001010101010000110101010001011111010100010100100100100100101000001010011000101111101000101010110000101010001010100111001000100010001010100111110100001001001001100010011110100001001001100010011110100001101001011--}
애플리케이션에서 PDF 데이터 추출을 구현할 준비가 되셨습니까? IronPDF가 귀하를 위한 .NET 라이브러리로 들리나요? 상업적 용도를 위한 무료 체험판을 시작하세요. 종합적인 가이드를 위해 우리의 문서 및 API 참조를 방문하세요.
자주 묻는 질문
PDF 문서에서 .NET을 사용하여 텍스트를 추출하는 가장 좋은 방법은 무엇인가요?
IronPDF를 사용하면 .NET 애플리케이션에서 PDF 문서에서 텍스트를 쉽게 추출할 수 있습니다. 필요한 콘텐츠에 접근할 수 있도록 효율적으로 텍스트 데이터를 검색하는 방법을 제공합니다.
IronPDF는 스캔된 PDF의 데이터 추출을 처리할 수 있나요?
네, IronPDF는 스캔된 PDF에서 데이터 처리를 위한 OCR(광학 문자 인식)을 지원하여 이미지 기반 문서에서도 텍스트에 접근할 수 있습니다.
C#을 사용하여 PDF에서 표를 어떻게 추출할 수 있습니까?
IronPDF는 C#에서 PDF 문서에서 표를 파싱하고 추출하는 기능을 제공합니다. 특정 방법을 사용하여 표 데이터를 정확하게 식별하고 검색할 수 있습니다.
IronPDF를 사용하여 PDF 데이터 추출의 이점은 무엇인가요?
IronPDF는 텍스트 검색, 표 파싱, 스캔된 문서에 대한 OCR을 포함한 PDF 데이터 추출을 위한 종합적인 솔루션을 제공합니다. 이는 .NET 애플리케이션과 원활하게 통합되어 PDF 데이터를 처리하는 신뢰할 수 있고 효율적인 방법을 제공합니다.
IronPDF를 사용하여 PDF에서 이미지를 추출할 수 있나요?
네, IronPDF는 PDF에서 이미지를 추출할 수 있습니다. 이 기능은 PDF 문서에 포함된 이미지를 접근하고 조작해야 할 때 유용합니다.
IronPDF는 데이터 추출 동안 복잡한 PDF 레이아웃을 어떻게 처리하나요?
IronPDF는 복잡한 PDF 레이아웃을 관리하기 위해 문서를 탐색하고 데이터를 추출할 수 있는 강력한 도구를 제공하여 복잡한 형식 및 구조의 문서를 처리할 수 있도록 설계되었습니다.
.NET 애플리케이션에서 PDF 데이터 추출을 자동화할 수 있나요?
물론입니다. IronPDF는 .NET 애플리케이션에 통합되어 정기적이고 일관된 데이터 검색을 요구하는 프로세스를 간소화하여 PDF 데이터 추출을 자동화할 수 있습니다.
PDF 데이터 추출을 위해 IronPDF와 함께 사용할 수 있는 프로그래밍 언어는 무엇인가요?
IronPDF는 주로 .NET Framework의 C#과 함께 사용되며, 프로그램 방식으로 PDF에서 데이터를 추출하고자 하는 개발자를 위한 광범위한 지원 및 기능을 제공합니다.
IronPDF는 PDF 문서의 메타데이터 추출을 지원하나요?
네, IronPDF는 PDF 문서의 메타데이터를 추출할 수 있으며, 작가, 생성 날짜 및 기타 문서 속성과 같은 정보를 접근할 수 있습니다.
IronPDF를 활용하여 PDF 데이터 추출을 배우기 위한 샘플 코드는 무엇인가요?
개발자 가이드는 .NET 애플리케이션에서 IronPDF를 사용하여 PDF 데이터 추출을 마스터하는 데 도움이 되는 작동하는 코드 예제와 함께 완전한 C# 튜토리얼을 제공합니다.
IronPDF는 새로운 .NET 10 릴리스와 완벽하게 호환되며, 이는 데이터 추출에 어떤 이점을 가져다 주나요?
네 — IronPDF는 .NET 10을 완벽하게 지원하며, 힙 할당 감소, 배열 인터페이스 디버추얼화, 향상된 언어 기능과 같은 모든 성능, API, 실행 환경 개선을 제공합니다. 이러한 개선은 C# 애플리케이션에서 더 빠르고 효율적인 PDF 데이터 추출 워크플로를 이루게 합니다.


