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

C#でPDFからBarCodeを読み取る方法

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

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

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

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

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

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronBarcode をインストールします

    PM > Install-Package BarCode

  2. このコード スニペットをコピーして実行します。

    var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronBarcode を使い始めましょう
    arrow pointer

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

  1. バーコードファイルを処理するためのバーコードライブラリをインストールします。 プラットフォーム固有のインストールについては、NuGetパッケージガイドを確認してください。
  2. 必要に応じてPdfBarcodeReaderOptionsを作成します。
  3. BarcodeReaderReadPdfメソッドを使用してPDFからバーコードを読み取ります。
  4. BarcodeReaderOptionを使用して追加のバーコード読み取りオプションを指定します。
  5. バーコードの値を抽出します。

直接 PDF ドキュメントから BarCode を読み取るにはどうすればよいですか?

IronBarcodeは、画像に変換することなく、PDF文書から直接バーコードを読み取ります。 すべての機能の包括的な概要については、機能のページをご覧ください。 これらのPDF入力タイプを受け入れるBarcodeReader.ReadPdf()メソッドを使用してください:

  • byte[]配列: バイト配列としてのPDFドキュメント。
  • IEnumerable<Byte[]>: コレクションに格納されたバイト配列としてのPDFドキュメント。
  • MemoryStream: MemoryStreamタイプとしてのPDFドキュメント。
  • IEnumerable<Stream>: MemoryStreamのコレクションとしてのPDFドキュメント。 Read Barcode from Streams ガイドを参照してください。
  • 文字列:プロジェクトにコピーする場合は、文字列またはファイル名としてのPDFドキュメントのパス。
  • IEnumerable<String>: コレクションに格納されたPDFドキュメントのパス/名前文字列。

BarcodeReader.ReadPdf()メソッドは、次のセクションで説明する高度な読み取り機能のためのPdfBarcodeReaderOptionsも受け入れます。 ここでは、BarCodeReader.ReadPdf()を使ってPDF文書内のバーコードを読み取る方法を説明します:

: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());
}
$vbLabelText   $csharpLabel

PDFファイルのパス文字列をBarcodeReader.ReadPdf()に渡して、バーコードの値を読み取ります。 さまざまなソースからバーコードを読み取る例については、Reading Barcodes in C# / .NET チュートリアルをご覧ください。 PDFで見つかったすべてのBarCode値を印刷するには、foreachループを使って結果を繰り返し、各要素で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);
    }
}
$vbLabelText   $csharpLabel

このコードは、ディレクトリからすべてのPDFファイルを取得し、それらをList<string>に追加し、リストを入力としてReadPdfsを呼び出します。 このメソッドは、BarcodeResultsの配列を返します。 結果をループして、各PDFからBarCodeにアクセスします。

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

PdfBarcodeReaderOptionsを使用してPDFからBarCode読み取りを設定します。 すべてのリーダー設定の詳細な説明については、Set PDF BarCode Reader Options の例をご覧ください。 これらのプロパティを調整することで、品質、正確さ、パフォーマンスが向上します。 PdfBarcodeReaderOptionsは、すべてのBarcodeReaderOptionsプロパティを継承し、PDF固有のオプションを追加します。 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
};
$vbLabelText   $csharpLabel

BarcodeReaderOptionsから継承されたプロパティ以外にも、PdfBarcodeReaderOptionsで利用可能なプロパティを探します。

DPI設定はバーコードの読み取りにどのように影響しますか?

PDF文書内のバーコード画像のDPI(Dots Per Inch)を設定します。 これにより、低品質のBarCodeの読み取りが向上します。 整数値を使用してください。 デフォルトのDPIは150です。バーコードが小さかったり、品質が低い場合は、300または600に上げると、より認識されやすくなります。 DPI値が高くなると、処理時間とメモリ使用量が増えます。

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

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

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

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

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

画像に変換するときに、幅と高さのスケールファクターを制御してください。 Integer 値を受け付け、デフォルトは 3.5 です。拡大率を高くすると、PDF をズームして小さな BarCode を読みやすくなります。 1インチ未満のBarCodeには、スケールファクター5.0以上を使用してください。 高い尺度がパフォーマンスに影響します。

PDFから高度なバーコードを読み取るにはどうすればよいですか?

PdfBarcodeReaderOptionsプロパティをプロジェクトに適用して、PDF文書からのバーコード読み取りを強化します。 バーコードが認識されない場合のその他のトラブルシューティングのヒントについては、バーコードが認識されないガイドを参照してください。

: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());
}
$vbLabelText   $csharpLabel

PdfBarcodeReaderOptionsを変数名で初期化し、プロパティにアクセスして調整します。 特定のページに設定を適用するために、初期化時に引数としてページ番号を渡します。 また、PageNumbersプロパティを使ってページ番号を設定することもできます。

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

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

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