IronOCR 방법 스트림 IronOCR을 사용하여 C#에서 PDF를 읽는 방법 커티스 차우 업데이트됨:1월 10, 2026 다운로드 IronOCR NuGet 다운로드 DLL 다운로드 윈도우 설치 프로그램 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR은 C#에서 단 한 줄의 코드로 PDF 파일에서 텍스트를 추출할 수 있도록 지원하며, 모든 PDF 버전을 지원하고 Tesseract 기반 엔진을 통해 정확한 OCR 결과를 제공합니다. PDF는 "휴대용 문서 형식(Portable Document Format)"의 약자입니다. 어도비에서 개발한 파일 형식으로, 문서를 생성하는 데 사용된 애플리케이션이나 플랫폼에 관계없이 원본 문서의 글꼴, 이미지, 그래픽 및 레이아웃을 그대로 유지합니다. PDF 파일은 일반적으로 어떤 소프트웨어나 하드웨어를 사용하더라도 일관된 형식으로 문서를 공유하고 볼 수 있도록 사용됩니다. IronOCR은 구형 PDF 1.0 규격부터 최신 PDF 2.0 표준까지 다양한 버전의 PDF 문서를 처리할 수 있습니다. 빠른 시작: 몇 초 만에 PDF 파일 OCR 처리 IronOCR으로 OCR을 빠르게 구성하려면 PDF를 가리키는 OcrPdfInput을(를) 구성한 다음 Read을(를) 호출합니다. 이 예시는 IronOCR을 사용하여 PDF에서 텍스트를 추출하는 방법을 보여줍니다. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronOcr 설치하기 PM > Install-Package IronOcr 다음 코드 조각을 복사하여 실행하세요. using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages)); 실제 운영 환경에서 테스트할 수 있도록 배포하세요. 무료 체험판으로 오늘 프로젝트에서 IronOCR 사용 시작하기 Free 30 Day Trial ### 최소 워크플로우(5단계) PDF 파일을 읽는 C# 라이브러리를 다운로드하세요. PDF 문서를 읽을 수 있도록 준비하세요. PDF 파일 경로를 사용하여 **OcrPdfInput** 객체를 생성합니다. 가져온 PDF 파일에 대해 OCR을 수행하려면 `Read` 메서드를 사용하십시오. 페이지 색인 목록을 제공하여 특정 페이지를 읽으십시오. PDF 파일 전체를 어떻게 읽나요? OCR을 수행하기 위해 IronTesseract 클래스를 인스턴스화하는 것부터 시작합니다. 그런 다음 'using' 문을 활용하여 PDF 파일 경로를 전달하여 OcrPdfInput 객체를 생성합니다. 마지막으로 Read 메서드를 사용하여 OCR을 수행합니다. 이 접근 방식은 스캔한 PDF(이미지 기반)와 검색 가능한 PDF(텍스트 기반) 모두에서 작동하며, 다양한 유형의 PDF에서 텍스트를 추출하는 데 적합합니다. /* :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs */ using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add PDF using var pdfInput = new OcrPdfInput("Potter.pdf"); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(pdfInput); // Access the extracted text string extractedText = ocrResult.Text; System.Console.WriteLine(extractedText); /* :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs */ using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add PDF using var pdfInput = new OcrPdfInput("Potter.pdf"); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(pdfInput); // Access the extracted text string extractedText = ocrResult.Text; System.Console.WriteLine(extractedText); $vbLabelText $csharpLabel 대부분의 경우 DPI 속성을 지정할 필요가 없습니다. 그러나 OcrPdfInput의 생성 시 높은 DPI 숫자를 제공하면 읽기 정확도가 향상될 수 있습니다. 대부분의 표준 PDF 문서에는 기본 DPI 설정이 충분하지만, 특수 문서의 경우 조정이 필요할 수 있습니다. DPI 설정은 언제 조정해야 할까요? DPI(인치당 도트 수) 설정은 해상도가 낮은 스캔 문서나 작은 글씨가 포함된 PDF 파일을 다룰 때 매우 중요해집니다. 최적의 결과를 얻으려면 다음과 같은 경우 DPI 설정을 조정하는 것을 고려하십시오. 200 DPI 미만의 스캔 문서 작업 과거 또는 보관용 PDF 파일 처리 복잡한 레이아웃이나 작은 글꼴을 다룰 때 기본 설정에서 정확도 문제가 발생함 대부분의 OCR 작업에는 300 DPI가 권장되지만, 글씨가 매우 작거나 세부 사항이 복잡한 문서의 경우 600 DPI가 필요할 수 있습니다. IronOCR은 PDF 외에 어떤 파일 형식을 지원하나요? IronOCR은 PDF 외에도 다양한 파일 형식을 완벽하게 지원합니다. 다음과 같은 다양한 형식의 이미지를 처리 할 수 있습니다. 일반 사진의 경우 JPEG/JPG 형식입니다. 투명도가 있는 이미지의 경우 PNG 형식입니다. 여러 페이지로 구성된 문서의 경우 TIFF 형식을 사용합니다. BMP는 압축되지 않은 이미지용입니다. 간단한 그래픽용 GIF 또한 IronOCR은 PDF 스트림을 메모리에서 직접 처리할 수 있어 웹 애플리케이션 및 클라우드 서비스에 적합합니다. PDF 콘텐츠 유형 작업하기 PDF 파일을 처리할 때 콘텐츠 유형을 지정하면 성능을 최적화할 수 있습니다. PdfContents 열거형을 사용하여 특정 콘텐츠를 타겟으로 할 수 있습니다: // For text-only PDFs (faster processing) var textOnlyPdf = new OcrPdfInput("document.pdf", PdfContents.Text); // For image-only PDFs (scanned documents) var imageOnlyPdf = new OcrPdfInput("scanned.pdf", PdfContents.Images); // For mixed content (default) var mixedPdf = new OcrPdfInput("mixed.pdf", PdfContents.TextAndImages); // For text-only PDFs (faster processing) var textOnlyPdf = new OcrPdfInput("document.pdf", PdfContents.Text); // For image-only PDFs (scanned documents) var imageOnlyPdf = new OcrPdfInput("scanned.pdf", PdfContents.Images); // For mixed content (default) var mixedPdf = new OcrPdfInput("mixed.pdf", PdfContents.TextAndImages); $vbLabelText $csharpLabel PDF 파일에서 특정 페이지만 읽으려면 어떻게 해야 하나요? PDF 문서에서 특정 페이지를 읽을 때는 가져올 페이지 색인 번호를 지정하십시오. 이렇게 하려면 페이지 인덱스 목록을 PageIndices 매개 변수에 전달하여 OcrPdfInput을(를) 생성합니다. 페이지 색인은 0부터 시작하는 번호를 사용한다는 점을 유념하십시오. 이 기능은 특정 페이지에만 관련 정보가 포함된 대용량 문서를 다룰 때 특히 유용합니다. :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf-pages.cs using IronOcr; using System.Collections.Generic; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Create page indices list List<int> pageIndices = new List<int>() { 0, 2 }; // Add PDF using var pdfInput = new OcrPdfInput("Potter.pdf", PageIndices: pageIndices); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(pdfInput); $vbLabelText $csharpLabel 페이지 번호가 0부터 시작하는 이유는 무엇인가요? 0부터 시작하는 인덱싱은 C#을 비롯한 대부분의 프로그래밍 언어에서 표준적인 관례입니다. 즉, 첫 번째 페이지는 인덱스 0, 두 번째 페이지는 인덱스 1 등입니다. 배열 인덱싱과의 이러한 일관성 덕분에 개발자는 페이지 컬렉션을 프로그래밍 방식으로 더 쉽게 다룰 수 있습니다. 사람이 읽을 수 있는 페이지 번호(1, 2, 3...)를 색인으로 변환할 때는 페이지 번호에서 1을 빼기만 하면 됩니다. 연속되지 않은 페이지를 어떻게 읽을 수 있나요? IronOCR을 사용하면 연속되지 않은 페이지를 읽는 것도 간단합니다. 원하는 페이지 색인을 순서에 상관없이 목록에 추가하기만 하면 됩니다. 예를 들어: // Read pages 1, 3, 5, and 10 (using zero-based indices) List<int> pageIndices = new List<int>() { 0, 2, 4, 9 }; // Or use LINQ for range-based selection var evenPages = Enumerable.Range(0, 10).Where(x => x % 2 == 0).ToList(); // Read pages 1, 3, 5, and 10 (using zero-based indices) List<int> pageIndices = new List<int>() { 0, 2, 4, 9 }; // Or use LINQ for range-based selection var evenPages = Enumerable.Range(0, 10).Where(x => x % 2 == 0).ToList(); $vbLabelText $csharpLabel OCR 엔진은 지정된 페이지만 처리하므로 대용량 문서 처리 성능이 크게 향상됩니다. 잘못된 페이지 번호를 지정하면 어떻게 되나요? 문서의 페이지 수를 초과하는 페이지 인덱스를 지정하면 IronOCR에서 예외가 발생합니다. 처리 전에 오류 처리를 구현하거나 페이지 수를 검증하십시오. 색인이 유효한지 확인하려면 OCR을 수행하기 전에 PDF의 총 페이지 수를 확인할 수 있습니다. PDF 파일의 특정 영역을 OCR로 인식하려면 어떻게 해야 하나요? 읽어야 할 영역을 좁히면 읽기 효율을 크게 높일 수 있습니다. 이를 위해서는 가져온 PDF 파일에서 읽어야 할 정확한 영역을 지정해야 합니다. 아래 코드 예시에서 IronOCR은 장 번호와 제목만 추출하는 데 초점을 맞춥니다. 이 기술은 이미지에 대한 OCR 영역을 정의하는 것과 유사하게 속도와 정확도를 모두 향상시킵니다. :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-specific-region.cs using IronOcr; using IronSoftware.Drawing; using System; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Specify crop regions Rectangle[] scanRegions = { new Rectangle(550, 100, 600, 300) }; // Add PDF using (var pdfInput = new OcrPdfInput("Potter.pdf", ContentAreas: scanRegions)) { // Perform OCR OcrResult ocrResult = ocrTesseract.Read(pdfInput); // Output the result to console Console.WriteLine(ocrResult.Text); } $vbLabelText $csharpLabel 직사각형의 정확한 좌표를 어떻게 구할 수 있나요? 정확한 좌표를 찾으려면 PDF의 좌표계를 이해해야 합니다. Rectangle 생성자는 네 가지 매개 변수를 받습니다: X (수평 위치), Y (수직 위치), Width, 그리고 Height. 모든 측정값은 픽셀 단위입니다. 눈금자 기능이 있는 PDF 뷰어나 디버깅 유틸리티와 같은 도구를 사용하면 정확한 좌표를 식별하는 데 도움이 될 수 있습니다. 또는 시행착오를 통해 작은 조정을 거듭하여 선택 영역을 구체화할 수도 있습니다. 보다 정확한 영역 정의를 위해 디버깅용 텍스트 강조 표시 기능을 활용하여 처리 중인 영역을 시각화할 수 있습니다. 한 번의 작업으로 여러 지역을 지정할 수 있나요? 네, IronOCR은 단일 OCR 작업에서 여러 지역을 지원합니다. 단순히 여러 Rectangle 객체를 배열에 추가합니다. Rectangle[] scanRegions = { new Rectangle(50, 50, 200, 100), // Header region new Rectangle(50, 200, 500, 300), // Main content region new Rectangle(50, 550, 200, 50) // Footer region }; Rectangle[] scanRegions = { new Rectangle(50, 50, 200, 100), // Header region new Rectangle(50, 200, 500, 300), // Main content region new Rectangle(50, 550, 200, 50) // Footer region }; $vbLabelText $csharpLabel 각 지역은 별도로 처리되며, 결과는 지정된 순서대로 통합됩니다. 전체 페이지 OCR 대신 영역별 OCR을 사용하는 이유는 무엇일까요? 지역별 OCR은 다음과 같은 몇 가지 장점을 제공합니다. 성능 : 더 작은 영역을 처리하는 속도가 훨씬 빠릅니다. 정확성 : 특정 지역에 집중함으로써 관련 없는 콘텐츠로 인한 노이즈를 줄일 수 있습니다. 구조 : 양식과 표에서 데이터를 더욱 안정적으로 추출합니다. 비용 효율성 : 처리 시간이 짧아지면 계산 비용이 절감됩니다. 이 접근 방식은 데이터가 예측 가능한 위치에 나타나는 송장, 양식 또는 보고서와 같은 구조화된 문서를 다룰 때 특히 유용합니다. 복잡한 문서 구조의 경우, 문서 내 표를 읽어 추출하는 특수 기법을 활용해 보세요. 어떤 고급 PDF OCR 기능이 있나요? IronOCR은 기본적인 텍스트 추출을 넘어 PDF 처리를 위한 다양한 추가 기능을 제공합니다. 스캔한 문서에서 검색 가능한 PDF를 만들 수 있으며, 원본 레이아웃을 유지하면서 검색 및 복사를 위한 텍스트 레이어를 추가할 수 있습니다. 이 라이브러리는 대규모 PDF 모음의 빠른 처리를 위해 멀티스레딩 도 지원합니다. .NET 애플리케이션에서 OCR을 시작하려는 개발자라면 간단한 OCR 예제를 살펴보는 것만으로도 IronOCR의 기능과 모범 사례를 이해하는 데 탄탄한 기초를 다질 수 있습니다. 복잡한 PDF 시나리오 처리 IronOCR은 까다로운 PDF 문서를 처리할 때 다음과 같은 여러 고급 기능을 제공합니다. 이미지 전처리 : 텍스트 선명도를 높이기 위해 이미지 필터를 적용합니다. 다국어 지원 : 여러 언어 로 작성된 문서를 동시에 처리합니다. 사용자 지정 구성 : 특정 문서 유형에 맞게 OCR 설정을 세밀하게 조정합니다. 내보내기 옵션 : 검색 가능한 PDF 및 hOCR HTML을 포함한 다양한 형식으로 결과를 저장할 수 있습니다. 이러한 기능 덕분에 IronOCR은 기업 수준의 PDF 처리 요구 사항을 충족하는 포괄적인 솔루션이 되었습니다. 자주 묻는 질문 C#에서 PDF 파일에서 텍스트를 추출하는 방법은 무엇인가요? IronOCR을 사용하면 단 한 줄의 코드로 PDF 파일에서 텍스트를 추출할 수 있습니다. IronTesseract 인스턴스를 생성하고 OcrPdfInput을 사용하여 Read 메서드를 호출하기만 하면 됩니다. 예: `using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));`. IronOCR은 스캔된 PDF(이미지 기반)와 검색 가능한 PDF(텍스트 기반) 모두를 처리합니다. 텍스트 추출에 지원되는 PDF 버전은 무엇입니까? IronOCR은 구형 PDF 1.0부터 최신 PDF 2.0 표준까지 모든 PDF 버전을 지원합니다. OCR 엔진은 Tesseract 기술을 기반으로 구축되어 어떤 PDF 버전을 사용하든 정확한 텍스트 추출을 보장합니다. PDF 문서 전체를 읽는 대신 특정 페이지만 읽을 수 있나요? 네, IronOCR은 페이지 인덱스를 제공하여 PDF에서 특정 페이지를 읽을 수 있도록 지원합니다. 전체 문서를 처리하는 대신 OcrPdfInput 객체를 사용하여 텍스트를 추출할 페이지를 지정할 수 있으므로 대용량 문서의 OCR 처리 효율을 높일 수 있습니다. PDF 파일에서 OCR을 수행하기 위한 최소한의 워크플로는 무엇입니까? IronOCR의 최소 워크플로는 5단계로 구성됩니다. 1) C# 라이브러리 다운로드, 2) PDF 문서 준비, 3) PDF 파일 경로를 사용하여 OcrPdfInput 객체 생성, 4) Read 메서드를 사용하여 OCR 수행, 5) 선택적으로 페이지 인덱스를 지정하여 특정 부분만 읽기. PDF OCR의 DPI 설정은 언제 조정해야 하나요? IronOCR의 기본 DPI 설정은 대부분의 표준 PDF에서 잘 작동하지만, 저해상도 스캔 문서(200 DPI 미만) 또는 작은 텍스트가 포함된 PDF를 처리할 때는 DPI를 조정하는 것이 좋습니다. OcrPdfInput 구문에서 DPI 설정을 높이면 특수 문서의 읽기 정확도를 크게 향상시킬 수 있습니다. OCR 엔진은 스캔한 PDF 파일과 검색 가능한 PDF 파일 모두에서 작동합니까? 네, IronOCR은 스캔한 PDF(이미지 기반)와 검색 가능한 PDF(텍스트 기반)를 모두 효과적으로 처리합니다. Tesseract 기반 엔진은 다양한 PDF 유형을 자동으로 처리하므로, 별도의 접근 방식 없이 여러 PDF 형식에서 텍스트를 추출할 수 있는 다재다능한 도구입니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 검토자: 제프리 T. 프리츠 .NET 커뮤니티 팀의 수석 프로그램 관리자 제프는 .NET 및 Visual Studio 팀의 수석 프로그램 관리자이기도 합니다. 그는 .NET Conf 가상 컨퍼런스 시리즈의 총괄 프로듀서이며, 개발자를 위한 라이브 스트림 'Fritz and Friends'를 주 2회 진행하며 시청자들과 함께 기술에 대해 이야기하고 코드를 작성합니다. 제프는 Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit 등 주요 Microsoft 개발자 행사를 위한 워크숍, 프레젠테이션 및 콘텐츠 기획을 담당합니다. 시작할 준비 되셨나요? Nuget 다운로드 5,525,971 | 버전: 2026.3 방금 출시되었습니다 무료 체험 시작하기 NuGet 무료 다운로드 총 다운로드 수: 5,525,971 라이선스 보기 아직도 스크롤하고 계신가요? 빠른 증거를 원하시나요? PM > Install-Package IronOcr 샘플을 실행하세요 이미지가 검색 가능한 텍스트로 바뀌는 것을 확인해 보세요. NuGet 무료 다운로드 총 다운로드 수: 5,525,971 라이선스 보기