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

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

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

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

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

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

画像に変換せずに PDF からバーコードを読み取りたい場合は、IronBarcodeReadPdf メソッドを使用します。 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. PDF からバーコードを読み取ります。BarcodeReaderReadPdf メソッドを使用します。
  4. BarcodeReaderOption を使用して追加のバーコード読み取りオプションを指定します。
  5. バーコードの値を抽出します。

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

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

  • byte[] 配列: バイト配列としての PDF ドキュメント。
  • IEnumerable<Byte[]> : コレクションに格納されたバイト配列としての PDF ドキュメント。
  • MemoryStream : MemoryStream タイプの PDF ドキュメント。
  • IEnumerable<Stream> : PDF ドキュメントを MemoryStream のコレクションとして保存します。 Read Barcode from Streams ガイドを参照してください。
  • String : プロジェクトにコピーされた場合の 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 内で見つかったすべてのバーコード値を印刷するには、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 からのバーコード読み取りを構成します。 すべてのリーダー設定の詳細な説明については、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から高度なバーコードを読み取るにはどうすればよいですか?

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

: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 プロパティを使用します。 構成された PdfBarcodeReaderOptionsBarcodeReader.ReadPdf() の 2 番目の引数として渡し、PDF ファイル パスを最初の引数として適用します。

不完全または破損した 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,121,847 | バージョン: 2026.3 リリース
Still Scrolling Icon

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

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