C#でPDFからバーコードを読む方法

C#でPDFからBarCodeを読み取る方法</#35;

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

IronBarcode を使用すると、PDF 文書を画像に変換することなく BARCODE を直接読み取ることができ、ReadPdf メソッドを用いて、請求書、配送ラベル、レポートからわずか 1 行のコードで BARCODE データを抽出できます。

PDF 文書から BarCode を読み取るとは、PDF ページ内のバーコードを検出してデコードすることです。 この技術は、デジタル文書からエンコードされた情報を直接抽出するため、印刷された BarCode を手作業でスキャンする必要がありません。 このツールは、請求書、出荷ラベル、レポート、および BarCode データを含むその他の文書を処理するワークフローを自動化します。

クイックスタート: PDFから直接バーコードを読み取る

ReadPdfメソッドを使用すると、画像に変換することなくPDFからBARCODEを読み取ることができます。 1行のコードでBarCodeデータを抽出し、必要に応じて高度なオプションを追加します。

  1. IronBarcode をNuGetパッケージマネージャでインストール

    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 ドキュメントから BarCode を読み取るにはどうすればよいですか?

IronBarcode は、画像への変換を必要とせずに、PDF 文書から BARCODE を直接読み取ります。 すべての機能の包括的な概要については、機能のページをご覧ください。 BarcodeReader.ReadPdf() メソッドを使用してください。このメソッドは、以下の PDF 入力形式に対応しています:

  • byte[] array: バイト配列としてのPDFドキュメント。
  • IEnumerable<Byte[]>: コレクションに格納されたバイト配列としてのPDFドキュメント。
  • MemoryStream: MemoryStream 形式の PDF ドキュメント。
  • IEnumerable<Stream>: PDFドキュメントは、MemoryStreamの集合体です。 Read Barcode from Streams ガイドを参照してください。
  • 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() に渡してください。 さまざまなソースからバーコードを読み取る例については、Reading Barcodes in C# / .NET チュートリアルをご覧ください。 PDF内に見つかったすべてのBarCode値を出力するには、ToString()を呼び出します。 この例では、PDF文書名のコレクションをメソッドの引数として使用する例も示します。

一度に複数のPDFを読むにはどうすればよいですか?

IronBarcode は、複数の PDF を同時に処理するための ReadPdfs メソッドを提供します。 この方法では、PDFのリストから効率的にBarCodeを抽出します。 ドキュメント内で複数の BarCode を処理するには、Read Multiple Barcodes のガイドを参照してください。

: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ファイルを取得し、それらをReadPdfsを呼び出します。 このメソッドは BarcodeResults の配列を返します。 結果をループして、各PDFからBarCodeにアクセスします。

どのように PDF BarCode Reader のオプションを設定しますか?

PdfBarcodeReaderOptions を使用して、PDF からの BARCODE 読み取りを設定します。 すべてのリーダー設定の詳細な説明については、Set PDF BarCode Reader Options の例をご覧ください。 これらのプロパティを調整することで、品質、正確さ、パフォーマンスが向上します。 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)を設定します。 これにより、低品質のBarCodeの読み取りが向上します。 整数値を使用してください。 デフォルトのDPIは150です。バーコードが小さかったり、品質が低い場合は、300または600に上げると、より認識されやすくなります。 DPI値が高くなると、処理時間とメモリ使用量が増えます。

ページ番号はいつ指定すべきですか?

特に複数ページのPDFのパフォーマンスを向上させるために、BarCodeを含むページ番号を指定します。 IronBarcode 特定のページ番号を指定すると、BARCODEのないページはスキップされます。 ページ番号は1ベースです(最初のページは0ではなく1です)。 大きな文書の最適化テクニックについては、読書速度オプションのガイドを参照してください。

パスワードで保護されたPDFをどのように扱えばよいですか?

パスワードを文字列入力として提供することで、暗号化されたPDFファイルを扱うことができます。 IronBarcode は PDF のパスワードを取得できません。 アプリケーションに必要なパーミッションがあり、パスワードが安全に保存されていることを確認してください。

小さな BarCode にはどのような倍率を使用すればよいですか?

画像に変換するときに、幅と高さのスケールファクターを制御してください。 Integer 値を受け付け、デフォルトは 3.5 です。拡大率を高くすると、PDF をズームして小さな BarCode を読みやすくなります。 1インチ未満のBarCodeには、スケールファクター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 プロパティを使用してページ番号を設定することもできます。

パフォーマンスと精度を向上させるため、BarcodeReaderOptions のような継承されたプロパティ(ExpectMultipleBarcodesExpectBarcodeTypes など)を使用してください。 設定済みの PdfBarcodeReaderOptions を、PDF ファイルのパスを第 1 引数として、BarcodeReader.ReadPdf() の第 2 引数として渡すことで適用してください。

不完全または破損した BarCode を含む PDF の処理については、PDF 処理中に適用できる 画像補正 機能をご覧ください。

よくある質問

C# で PDF ファイルから BarCode を読み取るには?

IronBarcodeはシンプルなReadPdfメソッドを提供し、PDFドキュメントから直接バーコードを読み取ることができます。たった1行のコードでPDFからバーコードデータを抽出することができます: var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");

バーコードリーダーはどのようなPDF入力を受け付けていますか?

IronBarcodeのBarcodeReader.ReadPdf()メソッドは、バイト配列、バイト配列のコレクション、MemoryStreamオブジェクト、MemoryStreamのコレクション、ファイルパス文字列、ファイルパス文字列のコレクションを含む複数のPDF入力タイプを受け入れます。この柔軟性により、様々なソースからのPDFを扱うことができます。

BarCode を読み取る前に PDF を画像に変換する必要がありますか?

いいえ、IronBarcodeは画像に変換することなく、PDFドキュメントから直接バーコードを読み取ります。このライブラリはPDFファイルをネイティブに処理するため、時間を節約し、バーコードデータの元の品質を保持します。

PDFバーコード読み取りを実装するための基本的な手順は何ですか?

IronBarcodeを使ってPDFからバーコードを読み取るには:1) NuGet経由でバーコードライブラリをインストール、2) 高度な設定のために必要であればPdfBarcodeReaderOptionsを作成、3) BarcodeReaderからReadPdfメソッドを使用、4) オプションでBarcodeReaderOptionを使用して追加の読み取りオプションを指定、5) 結果からバーコード値を抽出。

PDF BarCode 抽出の高度な読み取りオプションを設定できますか?

はい、IronBarcodeはPdfBarcodeReaderOptionsを通して高度な読み取り機能をサポートしています。これにより、特定のユースケースに合わせて検出と精度を最適化するために、特定のパラメータやオプションでBarCode読み取りプロセスをカスタマイズすることができます。

PDF BarCode 読み取りのメリットを享受できるドキュメントのタイプは?

IronBarcodeのPDFバーコード読み取りは、請求書、出荷ラベル、レポート、その他バーコードデータを含むビジネス文書を含むワークフローの自動化に最適です。これにより、印刷されたバーコードを手動でスキャンする必要がなくなり、文書処理が効率化されます。

IronBarcodeはバーコードの外観カスタマイズをサポートしていますか?

はい、IronBarcodeはカラー、サイズ、テキスト注釈を含むバーコードの外観に関する詳細なカスタマイズオプションを提供し、特定のデザイン要件に合わせて調整が可能です。

IronBarcodeはビジネスプロセスの効率向上にどのように役立ちますか?

IronBarcodeは迅速かつ正確なバーコード生成と読み取りを可能にし、手動データ入力エラーの減少、在庫および資産追跡の改善などにより、ビジネスプロセスの効率を向上させます。

プロジェクトにIronBarcodeを実装するために必要なプログラミングスキルは何ですか?

IronBarcodeをプロジェクトに実装するためには、C#プログラミングの基本的な知識があれば十分で、開発者をガイドするための簡単なメソッドと包括的なドキュメントが提供されています。

IronBarcodeは小規模プロジェクトと大規模エンタープライズアプリケーションの両方に適していますか?

IronBarcodeはスケーラブルかつ多用途に設計されており、小規模プロジェクトおよび強力なバーコードソリューションを必要とする大規模エンタープライズアプリケーションの両方に適しています。

Hairil Hasyimi Bin Omar
ソフトウェアエンジニア
すべての優れたエンジニアのように、ハイリルは熱心な学習者です。彼はC#、Python、Javaの知識を磨き、その知識を活用してIron Softwareのチームメンバーに価値を追加しています。ハイリルはマレーシアのマラ工科大学からIron Softwareのチームに参加し、化学およびプロセス工学の学士号を取得しました。
準備はできましたか?
Nuget ダウンロード 2,240,258 | バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package BarCode
サンプルを実行する 文字列が BarCode になるのを見る。