C#에서 PDF 파일의 바코드를 읽는 방법

PDF에서 C#에서 바코드 읽는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode을 사용하면 이미지를 먼저 변환할 필요 없이 PDF 문서에서 BARCODE를 직접 읽을 수 있으며, ReadPdf 메서드를 사용하여 단 한 줄의 코드로 청구서, 배송 라벨 및 보고서에서 BARCODE 데이터를 추출할 수 있습니다.

PDF 문서에서 바코드를 읽는 것은 PDF 페이지 내에서 바코드를 감지하고 디코딩하는 것을 의미합니다. 이 기술은 인쇄된 바코드의 수동 스캔을 필요로 하지 않고, 디지털 문서에서 인코딩된 정보를 직접 추출합니다. 이는 송장, 배송 라벨, 보고서 및 바코드 데이터를 포함한 다른 문서 처리 워크플로우를 자동화합니다.

빠른 시작: PDF에서 직접 바코드 읽기

IronBarcodeReadPdf 메서드를 사용하여 PDF를 이미지로 변환하지 않고 BARCODE를 읽을 수 있습니다. 한 줄의 코드로 바코드 데이터를 추출하고 필요에 따라 고급 옵션을 추가하세요.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/BarCode 설치하기

    PM > Install-Package BarCode
  2. 다음 코드 조각을 복사하여 실행하세요.

    var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronBarcode 사용 시작하기

    arrow pointer

PDF 바코드를 읽는 기본 단계는 무엇입니까?

  1. 바코드 파일을 처리하기 위해 바코드 라이브러리를 설치하세요. NuGet 패키지 가이드를 참조하여 플랫폼별 설치 정보를 확인하세요.
  2. 필요한 경우 PdfBarcodeReaderOptions를 생성하십시오.
  3. BarcodeReaderReadPdf 메서드를 사용하여 PDF에서 BARCODE를 읽으십시오.
  4. BarcodeReaderOption을 사용하여 추가 BARCODE 판독 옵션을 지정하십시오.
  5. 바코드 값을 추출하세요.

PDF 문서에서 바코드를 직접 어떻게 읽습니까?

IronBarcode은 이미지를 변환할 필요 없이 PDF 문서에서 BARCODE를 직접 읽을 수 있습니다. 모든 기능에 대한 포괄적인 개요는 기능 페이지를 방문하세요. 다음과 같은 PDF 입력 형식을 지원하는 BarcodeReader.ReadPdf() 방식을 사용하십시오:

  • byte[] 배열: 바이트 배열 형태의 PDF 문서.
  • IEnumerable<Byte[]>: 컬렉션에 저장된 바이트 배열 형태의 PDF 문서.
  • MemoryStream: MemoryStream 형식의 PDF 문서.
  • IEnumerable<Stream>: MemoryStream의 모음으로서의 PDF 문서. 스트림에서 바코드 읽기 가이드를 참조하세요.
  • String: 프로젝트에 복사된 경우 문자열 또는 파일 이름 형식의 PDF 문서 경로.
  • IEnumerable<String>: 컬렉션에 저장된 PDF 문서 경로/이름 문자열.

BarcodeReader.ReadPdf() 메서드는 다음 섹션에서 설명할 고급 읽기 기능을 위해 PdfBarcodeReaderOptions도 지원합니다. PDF 문서의 BARCODE를 읽기 위해 BarcodeReader.ReadPdf()을 사용하는 방법은 다음과 같습니다:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-1.cs
using IronBarCode;
using System;
using System.Collections.Generic;

List<String> docs = new List<String>();
docs.Add(@"pdf_a.pdf");
docs.Add(@"pdf_b.pdf");

var myBarcode = BarcodeReader.ReadPdfs(docs);   //can also accept individual PDF document file path as argument

foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic

Private docs As New List(Of String)()
docs.Add("pdf_a.pdf")
docs.Add("pdf_b.pdf")

Dim myBarcode = BarcodeReader.ReadPdfs(docs) 'can also accept individual PDF document file path as argument

For Each value In myBarcode
	Console.WriteLine(value.ToString())
Next value
$vbLabelText   $csharpLabel

BARCODE 값을 읽으려면 PDF 파일 경로 문자열을 BarcodeReader.ReadPdf()에 전달하십시오. 다양한 소스에서 바코드를 읽는 예시를 더 보고 싶다면 C# / .NET에서 바코드 읽기 튜토리얼을 확인하세요. PDF에서 발견된 모든 BARCODE 값을 인쇄하려면 foreach 루프를 사용하여 결과를 반복 처리하고 각 요소에 대해 ToString()을 호출하십시오. 이 예는 또한 메소드 인자로 PDF 문서 이름의 컬렉션을 사용하는 것을 보여줍니다.

여러 PDF를 한 번에 어떻게 읽을 수 있습니까?

IronBarcode는 여러 PDF 파일을 동시에 처리하는 ReadPdfs 메서드를 제공합니다. 이 메소드는 PDF 목록에서 바코드를 효율적으로 추출합니다. 문서 안의 여러 바코드를 처리하려면 여러 바코드 읽기 가이드를 참조하세요.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-read-from-multiple-pdf.cs
using IronBarCode;
using System;
using System.Collections.Generic;
using System.IO;

// Get all PDF files from a directory and add to list
string folderPath = @"PATH_TO_YOUR_FOLDER";
List<string> docs = new List<string>(Directory.GetFiles(folderPath, "*.pdf"));

// Read barcodes from all PDFs
var docResult = BarcodeReader.ReadPdfs(docs);

// Print results
foreach (var doc in docResult)
{
    foreach (var item in doc)
    {
        Console.WriteLine("Barcode " + item.ToString() + " found at page " + item.PageNumber);
    }
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Imports System.IO

' Get all PDF files from a directory and add to list
Dim folderPath As String = "PATH_TO_YOUR_FOLDER"
Dim docs As New List(Of String)(Directory.GetFiles(folderPath, "*.pdf"))

' Read barcodes from all PDFs
Dim docResult = BarcodeReader.ReadPdfs(docs)

' Print results
For Each doc In docResult
    For Each item In doc
        Console.WriteLine("Barcode " & item.ToString() & " found at page " & item.PageNumber)
    Next
Next
$vbLabelText   $csharpLabel

이 코드는 디렉터리에서 모든 PDF 파일을 가져와 List<string>에 추가한 다음, 해당 목록을 입력으로 사용하여 ReadPdfs를 호출합니다. 이 메서드는 BarcodeResults 배열을 반환합니다. 결과를 반복하여 각 PDF에서 바코드를 액세스하세요.

PDF 바코드 리더 옵션을 어떻게 구성합니까?

PdfBarcodeReaderOptions을 사용하여 PDF에서 BARCODE 읽기를 구성합니다. 모든 리더 설정에 대한 자세한 설명은 PDF 바코드 리더 옵션 설정 예제를 방문하세요. 이 속성을 조정하면 품질, 정확성, 성능이 향상됩니다. PdfBarcodeReaderOptionsBarcodeReaderOptions의 모든 속성을 상속하며 PDF/A 전용 옵션을 추가합니다. PdfBarcodeReaderOptions을 인스턴스화할 때 페이지 번호를 명시하십시오:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-2.cs
using IronBarCode;
using System.Collections.Generic;

List<int> pageNumber = new List<int>() { 1, 2, 3 };

PdfBarcodeReaderOptions PdfOptions = new PdfBarcodeReaderOptions(pageNumber)  // can also use individual page number as argument
{
    // Properties of PDF Barcode reader options
};
Imports IronBarCode
Imports System.Collections.Generic

Private pageNumber As New List(Of Integer)() From {1, 2, 3}

Private PdfOptions As New PdfBarcodeReaderOptions(pageNumber)
$vbLabelText   $csharpLabel

PdfBarcodeReaderOptions에서 BarcodeReaderOptions로부터 상속받은 것 외에도 사용할 수 있는 추가 속성을 살펴보세요.

DPI 설정이 바코드 읽기에 어떻게 영향을 미칩니까?

PDF 문서의 바코드 이미지의 DPI(Dots Per Inch)를 설정하세요. 이는 저품질 바코드 읽기를 개선합니다. 정수값을 사용하세요. 기본 DPI는 150입니다. 더 작은 또는 저품질 바코드의 경우, 인식을 개선하기 위해 300 또는 600으로 증가시키세요. 높은 DPI 값은 처리 시간과 메모리 사용량을 증가시킵니다.

페이지 번호를 언제 지정해야 하나요?

특히 다중 페이지 PDF의 경우 성능을 향상시키기 위해 바코드를 포함하는 페이지 번호를 지정하세요. IronBarcode은 특정 페이지 번호를 지정하면 BARCODE가 없는 페이지는 건너뜁니다. 페이지 번호는 1 기반이며(첫 페이지는 1, 0이 아님). 대형 문서에서의 최적화 기법은 읽기 속도 옵션 안내를 참조하세요.

암호로 보호된 PDF 파일은 어떻게 처리해야 하나요?

암호화된 PDF 파일과 작업하려면 문자열 입력으로 비밀번호를 제공하세요. IronBarcode는 PDF 암호를 복구할 수 없습니다. 필요한 권한을 확인하고 애플리케이션에서 비밀번호를 안전하게 저장하세요.

작은 바코드에 어떤 스케일 팩터를 사용해야 하나요?

이미지로 변환할 때 너비와 높이에 대한 스케일 팩터를 제어하세요. 기본값 3.5를 가진 정수 값을 허용합니다. 높은 스케일 팩터는 PDF를 확대하여 작은 바코드를 읽는 데 도움이 됩니다. 1인치 미만의 바코드에는 스케일 팩터 5.0 이상을 사용하세요. 높은 스케일 팩터는 성능에 영향을 미칩니다.

PDF에서 고급 바코드 읽기를 구현하려면 어떻게 해야 하나요?

프로젝트에 PdfBarcodeReaderOptions 속성을 적용하여 PDF 문서에서 BARCODE를 더 정확하게 읽을 수 있도록 하십시오. 바코드가 인식되지 않을 때 추가 문제 해결 팁은 바코드 인식 불가 가이드를 참조하십시오.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-3.cs
using IronBarCode;
using System;
using System.Collections.Generic;

List<int> pageNumber = new List<int>() { 1, 2, 3 };

PdfBarcodeReaderOptions PdfOptions = new PdfBarcodeReaderOptions(pageNumber)
{
    DPI = 150,
    //PageNumbers = pageNumber,      //this property is not needed if page numbers has been specified as the argument in PdfBarcodeReaderOptions
    Password = "barcode",
    Scale = 3.5,
    //properties below are some of the properties inherited from BarcodeReaderOptions
    Speed = ReadingSpeed.Detailed,
    ExpectBarcodeTypes = BarcodeEncoding.Code93,
    ExpectMultipleBarcodes = true
};

var myBarcode = BarcodeReader.ReadPdf(@"pdf_a_filepath.pdf", PdfOptions);
foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic

Private pageNumber As New List(Of Integer)() From {1, 2, 3}

Private PdfOptions As New PdfBarcodeReaderOptions(pageNumber) With {
	.DPI = 150,
	.Password = "barcode",
	.Scale = 3.5,
	.Speed = ReadingSpeed.Detailed,
	.ExpectBarcodeTypes = BarcodeEncoding.Code93,
	.ExpectMultipleBarcodes = True
}

Private myBarcode = BarcodeReader.ReadPdf("pdf_a_filepath.pdf", PdfOptions)
For Each value In myBarcode
	Console.WriteLine(value.ToString())
Next value
$vbLabelText   $csharpLabel

PdfBarcodeReaderOptions에 변수 이름을 지정하여 속성에 접근하고 조정하십시오. 초기화 시 페이지 번호를 인수로 전달하여 특정 페이지에 설정을 적용하세요. 또는 PageNumbers 속성을 사용하여 페이지 번호를 설정할 수 있습니다.

성능과 정확도를 높이기 위해 ExpectMultipleBarcodesExpectBarcodeTypes와 같은 상속된 BarcodeReaderOptions 속성을 사용하십시오. PdfBarcodeReaderOptions을 구성한 후, PDF 파일 경로를 첫 번째 인수로, PdfBarcodeReaderOptions을 두 번째 인수로 전달하여 적용하십시오.

완벽하지 않거나 손상된 바코드가 있는 PDF를 처리하려면 PDF 처리 중에 적용할 수 있는 이미지 수정 기능을 탐색하세요.

자주 묻는 질문

C#에서 PDF 파일의 바코드를 어떻게 읽을 수 있나요?

IronBarcode는 PDF 문서를 이미지로 변환하지 않고도 바코드를 직접 읽을 수 있는 간단한 ReadPdf 메서드를 제공합니다. 단 한 줄의 코드로 PDF에서 바코드 데이터를 추출할 수 있습니다. 예: var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");

바코드 판독기는 어떤 유형의 PDF 파일을 지원합니까?

IronBarcode의 BarcodeReader.ReadPdf() 메서드는 바이트 배열, 바이트 배열 모음, MemoryStream 객체, MemoryStream 모음, 파일 경로 문자열 및 파일 경로 문자열 모음을 포함한 다양한 PDF 입력 유형을 허용합니다. 이러한 유연성을 통해 다양한 출처의 PDF 파일을 처리할 수 있습니다.

바코드를 읽기 전에 PDF 파일을 이미지 파일로 변환해야 하나요?

아니요, IronBarcode는 이미지 변환 없이 PDF 문서에서 바코드를 직접 읽습니다. 이 라이브러리는 PDF 파일을 기본적으로 처리하므로 시간을 절약하고 바코드 데이터의 원본 품질을 유지합니다.

PDF 바코드 판독을 구현하기 위한 기본적인 단계는 무엇입니까?

IronBarcode를 사용하여 PDF에서 바코드를 읽는 방법은 다음과 같습니다. 1) NuGet을 통해 바코드 라이브러리를 설치합니다. 2) 고급 설정을 위해 필요한 경우 PdfBarcodeReaderOptions를 생성합니다. 3) BarcodeReader의 ReadPdf 메서드를 사용합니다. 4) 선택적으로 BarcodeReaderOption을 사용하여 추가 읽기 옵션을 지정합니다. 5) 결과에서 바코드 값을 추출합니다.

PDF 바코드 추출을 위한 고급 읽기 옵션을 설정할 수 있나요?

네, IronBarcode는 PdfBarcodeReaderOptions를 통해 고급 바코드 판독 기능을 지원합니다. 이를 통해 특정 매개변수 및 옵션을 설정하여 바코드 판독 프로세스를 사용자 지정하고, 특정 사용 사례에 맞게 감지 및 정확도를 최적화할 수 있습니다.

PDF 바코드 판독을 통해 어떤 유형의 문서가 이점을 얻을 수 있습니까?

IronBarcode의 PDF 바코드 판독 기능은 송장, 배송 라벨, 보고서 및 바코드 데이터가 포함된 기타 모든 비즈니스 문서와 관련된 워크플로를 자동화하는 데 이상적입니다. 이를 통해 인쇄된 바코드를 수동으로 스캔할 필요가 없어지고 문서 처리가 간소화됩니다.

IronBarcode가 바코드 외관 사용자화를 제공하나요?

네, IronBarcode는 바코드 외관에 대한 광범위한 사용자화 옵션을 제공하여 컬러, 크기 및 텍스트 주석을 포함해 특정 디자인 요구에 맞출 수 있습니다.

IronBarcode가 비즈니스 프로세스 효율성을 어떻게 향상시킬 수 있나요?

IronBarcode는 빠르고 정확한 바코드 생성 및 읽기를 가능하게 하여 수동 데이터 입력 오류를 줄이고, 재고 및 자산 추적을 향상시킴으로써 비즈니스 프로세스 효율성을 향상시킵니다.

IronBarcode를 프로젝트에 구현하려면 어떤 프로그래밍 기술이 필요하나요?

C# 프로그래밍의 기본 지식만 있으면 IronBarcode를 프로젝트에 구현하기에 충분합니다. IronBarcode는 개발자를 안내할 수 있는 간단한 메서드와 포괄적인 문서를 제공합니다.

IronBarcode는 소규모 프로젝트와 대규모 Enterprise 응용 프로그램 모두에 적합합니까?

IronBarcode는 확장 가능하고 다재다능하게 설계되어 소규모 프로젝트뿐만 아니라 견고한 바코드 솔루션이 필요한 대규모 Enterprise 응용 프로그램에 적합합니다.

하릴 하시미 빈 오마르
소프트웨어 엔지니어
모든 훌륭한 엔지니어처럼, 하이릴은 열정적인 학습자입니다. 그는 C#, Python, Java에 대한 지식을 갈고닦아 Iron Software의 팀원들에게 가치를 더하고 있습니다. 하이릴은 말레이시아의 Universiti Teknologi MARA에서 화학 및 공정 공학 학사 학위를 취득한 후 Iron Software 팀에 합류했습니다.
시작할 준비 되셨나요?
Nuget 다운로드 2,240,258 | 버전: 2026.5 just released
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package BarCode
샘플을 실행하세요 실이 바코드로 변하는 모습을 지켜보세요.