C# でマルチページ GIF および TIFF 画像からバーコードを読み取る方法

C#で複数ページの GIF や TIFF から BarCode を読み取る方法

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

IronBarcodeはマルチページのTIFFやアニメーションGIFファイルを手動でフレームを分けることなく自動的に処理し、1つのBarcodeReader.Readメソッドコールを使用して画像ファイル内のすべてのフレームまたはページからすべてのバーコードを抽出します。

クイックスタート:マルチページ TIFF または GIF ファイルからバーコードを完全に読み取る

IronBarcodeはマルチページのTIFFまたはアニメーションGIFファイルを読み込み、1回のメソッド呼び出しですべてのバーコードを抽出します。 フレーム分割や手動での前処理は不要です。ファイルパスを BarcodeReader.Read に渡すと、高速な結果が得られます。

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

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

    PM > Install-Package BarCode

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

    IronBarCode.BarcodeResults results = IronBarCode.BarcodeReader.Read("multiPageImage.tiff");
  3. 実際の環境でテストするためにデプロイする

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

マルチフレーム GIF および TIFF 画像を読むにはどうすればよいですか?

. 。 IronBarcode を使用してマルチフレーム GIF および TIFF 画像を読み取るのは、単一の画像を読み取るのと同じくらい簡単です。IronBarcode はマルチページ画像ファイルを `BarcodeReader.Read` メソッドに簡単に受け入れます。 すべての処理はライブラリに組み込まれているため、画像を準備する必要はありません。 IronBarcodeの機能の包括的な概要については、[機能ページ](https://ironsoftware.com/csharp/barcode/features/)をご覧ください。

なぜIronBarcodeはマルチフレーム画像を自動的に処理するのですか? IronBarcodeはマルチフレーム画像を自動的に処理し、ワークフローを簡素化します。 従来のバーコード読み取りライブラリは、処理前にGIFアニメーションから個々のフレームを抽出したり、TIFFファイルからページを分離したりする必要があることが多い。 これは、不必要な複雑さと潜在的な失敗のポイントを追加します。 IronBarcodeのインテリジェントなフレーム検出は、内部で画像構造を解析し、各フレームまたはページを自動的に繰り返し処理することにより、この負担を軽減します。 このアプローチは、最適化されたメモリ管理によって高いパフォーマンスを維持しながら、フレーム数に関係なく一貫した結果を保証します。 以下のコード例では、マルチページのGIFファイルとTIFFファイルの読み取りを実演しています: ```csharp :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-read-tif.cs ``` ### マルチページ読み取りに対応している画像形式は何ですか? IronBarcodeのマルチページ読み取り機能は、GIFやTIFFフォーマットだけではありません。 このライブラリは、JPEG、PNG、BMP、単一ページ画像用のSVGなど、すべての[標準画像形式](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-images/)をサポートしています。 特にマルチページのサポートについては、TIFFとアニメーションGIFが主なフォーマットです。 TIFFは、さまざまな圧縮方式で複数のフル解像度画像を保存できるため、特に汎用性が高く、文書のスキャニングシーンに最適です。 アニメーションGIFは、256色に制限されていますが、コンパクトでウェブに適した形式で複数のバーコードフレームを保存するのに優れています。 専門的なニーズには、[バーコードが埋め込まれた複数のページを含むことが多い PDF 文書](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-pdf/)からバーコードを読み取ることもできます。 ### バーコードのスキャンにマルチフレーム画像を使用するのはどのような場合ですか? マルチフレーム画像は、いくつかのビジネスシナリオに最適です。 文書管理システムでは、スキャンした請求書、出荷書類、または各ページに異なるBarCodeが含まれる可能性のあるフォームを保存するために、複数ページのTIFFファイルを標準として使用します。 製造およびロジスティクス業務では、複数の BarCode の状態や連続したスキャン手順を示す視覚的なワークフローを作成するために、アニメーション GIF を使用することがよくあります。 バッチ処理アプリケーションでは、ファイル管理のオーバーヘッドを減らすことができるため、マルチフレーム形式のメリットがあります。さらに、[ストリームからの BarCode 読み取り](https://ironsoftware.com/csharp/barcode/how-to/reading-barcodes-from-streams/)を実装する場合、マルチフレーム形式はメモリ割り当てを大幅に削減し、パフォーマンスを向上させます。 ## 画像を GIF や TIFF に変換するにはどうすればよいですか? . 。 私たちのオープンソースライブラリ、[IronDrawing](/open-source/csharp/drawing/docs/)を使って画像をマルチページTIFFやGIFに変換する方法を学びましょう。 以下のコード例は、マルチページのGIFまたはTIFF画像を生成する方法を示しています。 この機能は、効率的な処理のために、さまざまなソースから複数の BarCode 画像を 1 つのファイルに統合する場合に特に役立ちます。 ### マルチフレーム TIFF ファイルを作成するプロセスは何ですか? マルチフレームTIFFファイルを作成するには、複数の画像ソースを1つのTIFFコンテナにまとめる必要があります。 個々の画像をビットマップオブジェクトとしてメモリにロードすることから始めます。 IronDrawingの`AnyBitmap`クラスは、さまざまな画像フォーマットを扱うための統一インターフェースを提供し、フォーマット変換を自動的に管理し、互換性を保証します。 マルチフレームTIFFを作成する際、ライブラリは圧縮設定を最適化し、ファイルサイズと画質のバランスをとる。 ```csharp :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-create-tiff-gif.cs ``` 上のコード スニペットから、まず、画像ファイルを `AnyBitmap` オブジェクトのリストにインポートしてグループ化します。 このリストは、`AnyBitmap.CreateMultiFrameTiff`メソッドおよび`AnyBitmap.CreateMultiFrameGif`メソッドを呼び出して、それぞれマルチページ TIFF オブジェクトおよびマルチページ GIF オブジェクトを取得するときのパラメータとして使用します。 ### バーコード ストレージの GIF と TIFF フォーマットの違いは何ですか? マルチページGIFもTIFFも、画像を1つのファイルにまとめる方法を提供しますが、両者は大きく異なります:
アスペクト マルチページGIF 複数ページのTIFF
圧縮 GIF画像はロスレス圧縮を採用しており、圧縮時に画像データが失われることはありません。そのため、ロスレス圧縮を採用した形式と比較して、ファイルサイズは比較的大きくなります。 TIFFファイルは、可逆圧縮(LZWなど)や非可逆圧縮(JPEGなど)など、様々な圧縮方式に対応しています。この柔軟性により、TIFFファイルはファイルサイズと画質のバランスをとることができます。
カラー深度 GIFは最大256色(8ビットの色深度)をサポートしますが、これは他の形式に比べて制限があります。この制限されたカラーパレットにより、特に写真やグラデーションのある画像では、ディテールや色の正確さが失われる可能性があります。 TIFFは、1ビット(バイナリ)、8ビット(256色)、24ビット(トゥルーカラー)など、様々な色深度をサポートしています。この柔軟性により、TIFFは異なるレベルの色の詳細を持つ画像を保存できます。
透明性 GIFはバイナリ透過性をサポートしており、1つの色を完全に透明にし、残りの色を完全に不透明にすることができます。この部分的な透明化の欠如により、滑らかな遷移を持つ画像でも、エッジがギザギザになることがあります。 TIFFは、バイナリ透明(GIFに類似)やアルファチャンネル透明など、複数の形式の透明度をサポートしています。アルファチャンネル透明度は、滑らかなトランジションと半透明のピクセルを可能にし、高品質の透明効果を実現します。
アニメーション GIFは、複数のフレームを1つのファイルにまとめることで、シンプルなアニメーションを実現します。各フレームには独自の遅延時間を設定することができ、基本的なアニメーションを作成できます。GIFアニメーションはWeb上で広くサポートされています。 TIFFはアニメーション用に設計されたものではありません。複数の画像を保存できますが、GIFのようなアニメーション機能の組み込みサポートはありません。複数ページのTIFFファイルの各ページは、通常、アニメーションシーケンス内のフレームではなく、独立した画像です。
### マルチページバーコード画像にはどの形式を選べばよいですか? 特定のユースケースに基づいて、GIFとTIFFのどちらかを選択してください。 ドキュメントアーカイブやプロフェッショナルスキャニングアプリケーションなど、細部まで正確に保存する必要がある高解像度のBarCode画像を扱う場合は、TIFFを選択してください。 TIFF はさまざまな圧縮方式と色深度をサポートしているため、[2D Data Matrix コード](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/)のような細かいディテールを含む、さまざまな種類のバーコードの品質を維持するのに理想的です。 ファイルサイズが気になり、バーコードが[Code 39](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/)やCode 128のような単純な線形形式である場合は、GIFを選択してください。GIFはウェブとの互換性が高いため、ユーザーがバーコードシーケンスをプレビューするようなオンラインアプリケーションに適しています。 ただし、複雑なQRコードやカラーグラデーションのあるBarCodeは、256色の制限が読みやすさに影響する可能性があるため、GIFは避けてください。 ### ファイルサイズの注意点は何ですか? ファイルサイズはフォーマットによって大きく異なり、保存、送信、処理速度に影響します。 可逆圧縮のTIFFファイルは、通常、バーコード画像1枚あたり10~50KB、300DPIで、アーカイブ品質に適しています。 TIFF内のJPEG圧縮により、バーコードの可読性を維持したまま、サイズを70~80%縮小することができます。 GIFファイルは一般的に小さく、カラーパレットが限られているため、標準的なバーコードの場合、1フレームあたり平均5~15KBです。 [特定のパフォーマンス要件を持つ BarCode 読み取り](https://ironsoftware.com/csharp/barcode/how-to/reading-barcodes-with-speed-options/)を実装する場合、ファイルが小さいほど処理が速くなりますが、エッジケースでは精度が犠牲になる可能性があることを考慮してください。 ## 高度な BarCode 読み取りオプションはどのように設定できますか? . 。 IronBarcode は箱から出してそのまま動作しますが、いくつかの画像では `BarcodeReaderOptions` クラスを設定することで、**正確**で**速い**バーコード読み取りを達成する必要があるかもしれません。 [画像ファイル(jpg, png, gif, tiff, svg, bmp)からBarCodeを読み取る方法](/csharp/barcode/how-to/read-barcodes-from-images/#advance-barcode-read-from-image)"の記事で、このクラスに関する詳細な情報を見つけてください。 詳細な API ドキュメントについては、[BarcodeReaderOptions reference](https://ironsoftware.com/csharp/barcode/object-reference/api/) を参照してください。 ### 精度を高めるには、どのような場合に画像フィルタを使用すればよいですか? 画像フィルタは、最適でない画質を扱う場合に不可欠です。これは、フレームによって画質が異なる可能性のあるマルチフレームファイルでよくあるシナリオです。 スキャナーの制限によりバーコードがぼやけて見えたり、照明条件が悪いためにコントラストが低かったり、圧縮アーチファクトによるノイズが含まれていたりする場合は、フィルターを適用します。 IronBarcode の[画像補正機能](https://ironsoftware.com/csharp/barcode/how-to/image-correction/)には、さまざまな光条件に対する適応閾値処理、モーションブラーに対するシャープニングフィルタ、色あせたプリントに対するコントラスト強調などがあります。 マルチフレームファイルの場合、手作業による介入なしにフレーム間の画質のばらつきを補正するフィルターが特に有用です。 以下のコードスニペットは、`BarcodeReaderOptions`クラスでプロパティを構成することを示しています: ```csharp :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-advance.cs ``` ### マルチページ ファイルにはどのようなパフォーマンス設定を使用すればよいですか? マルチページファイルのパフォーマンスを最適化するには、要件に基づいて速度と精度のバランスを取る必要があります。 速度が重要な大量処理には、`ReadingSpeed.Faster` または `ReadingSpeed.Fastest`を使用してください。これは、スキャンの徹底度を下げますが、スループットを大幅に向上させます。 正確さが最優先されるミッションクリティカルなアプリケーションでは、`ReadingSpeed.Detailed`が、処理時間を犠牲にしても最大の検出率を保証します。`ReadingSpeed.Balanced`の設定は、ほとんどのビジネスアプリケーションに最適な中間点を提供します。 マルチページ ファイルを処理するときは、[非同期読み取りパターン](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/)を実装してフレームを並列処理し、全体のスループットを劇的に向上させることを検討してください。 ### 読む速度と正確さを最適化するにはどうすればよいですか? スピードと精度のトレードオフを最適化するには、いくつかの戦略的な設定が必要です。 まず、`ExpectBarcodeTypes`を使用して予想されるバーコードタイプを指定し、不要なフォーマットチェックを排除します。 次に、バーコードがフレーム間で一貫した位置に表示される場合は、[クロップ領域](https://ironsoftware.com/csharp/barcode/how-to/set-crop-region/)を使用し、検索領域を減らします。 第三に、フレームの最適な並列処理のために、`MaxParallelThreads`プロパティをCPUの能力に合わせて調整します。 精度を最適化するために、フレームに複数のバーコードが含まれる可能性がある場合は、`ExpectMultipleBarcodes`を有効にし、画像の特性に基づいて適切な画像フィルタを適用してください。 [ML信頼度しきい値機能](https://ironsoftware.com/csharp/barcode/examples/confidence-threshold/)は、複雑な画像の誤検出をフィルタリングするのにも役立ちます。 ### 読み取り失敗の一般的なトラブルシューティング手順は何ですか? マルチフレームファイルの読み込みに失敗した場合は、この体系的なアプローチに従ってください。 まず、単一フレームを抽出してテストすることで、個々のフレームの品質を確認します。個々のフレームが失敗する場合、問題はマルチフレーム固有のものではありません。 [不十分なクワイエットゾーン、傾いた BarCode、破損したシンボルなどの一般的な認識問題](https://ironsoftware.com/csharp/barcode/troubleshooting/barcode-not-recognized/)がないか確認してください。 `TryHarder`モードは、処理時間が長くなりますが、困難なバーコードに対して有効にしてください。持続的な問題については、[image Orientation Correction](https://ironsoftware.com/csharp/barcode/how-to/image-orientation-correction/) を実装してください。 通常、BarCodeは200~300DPIで最も読みやすく、400DPIを超えると読みやすさが低下します。 特定の BarCode タイプで問題が解決しない場合は、[supported formats documentation](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/) を参照して互換性を確認してください。 `BarCodeReaderOptions`オブジェクトを設定することはほとんどの場合**オプション**ですが、マルチページのGIFやTIFF画像ファイルからバーコードを読み取るときにIronBarcodeを最大限に活用するのに役立ちます。 本番環境では、デフォルトの設定から始め、特定のパフォーマンス指標と精度の要件に基づいて徐々に最適化してください。

よくある質問

C#で複数ページのTIFFファイルからBarCodeを読み取るには?

IronBarcodeを使用すると、単一のメソッドコールで複数ページのTIFFファイルからバーコードを読み取ることができます:BarcodeReader.Read("multiPageImage.tiff")。IronBarcodeはTIFFファイルの各ページを自動的に処理するため、手動でのフレーム分割や前処理を必要としません。

アニメーションGIFファイルからBarCodeを抽出できますか?

はい、IronBarcodeはアニメーションGIFファイルのすべてのフレームから自動的にバーコードを抽出します。単にGIFファイルのパスをBarCodeReader.Readメソッドに渡すだけで、IronBarcodeは内部で各フレームを解析し、存在するすべてのバーコードを検出して読み取ります。

複数ページの画像から BarCode を読み取る前に、手動でフレームを分割する必要がありますか?

いいえ、IronBarcodeは手作業によるフレーム分割を不要にします。このライブラリのインテリジェントなフレーム検出は、自動的に画像構造を解析し、各フレームまたはページを内部的に繰り返し処理するため、ワークフローが簡素化され、潜在的な障害点が減少します。

マルチページバーコードの読み取りをサポートする画像形式は?

IronBarcodeは主にTIFFとアニメーションGIFフォーマットのマルチページバーコードの読み取りをサポートしています。このライブラリはJPEG、PNG、BMP、SVGのようなシングルページ形式も扱いますが、TIFFとGIFは自動フレーム検出によりマルチページ処理に最適化されています。

複数ページの画像から BarCode を読み取るには、何ステップ必要ですか?

IronBarcodeは5つの簡単なステップを必要とします:C#ライブラリをダウンロードし、GIFやTIFF画像を準備し、Readメソッドに渡し、オプションで精度を上げるために画像フィルターを適用し、必要であれば画像をマルチフレームフォーマットに変換します。

なぜTIFF形式がマルチページバーコードスキャンに特に適しているのですか?

TIFFフォーマットは様々な圧縮方法で複数のフル解像度の画像を保存できるため、IronBarcodeを使用したドキュメントスキャニングシナリオに最適です。この汎用性により、TIFFは複数のページにまたがるBarCodeを含むスキャン文書の処理に特に効果的です。

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