IronPythonからZXing.Net

 13th August 2022 at 3:48pm

ZXing.Netは、ZXingベースの.Net用バーコード画像処理ライブラリです。

ZXing(zebra crossing)は、Javaで実装されたオープンソースのマルチフォーマット1D / 2Dバーコード画像処理ライブラリで、バーコード(QRコード、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabarなど)の読取りや生成を行うことができます。

IronPythonから利用するための手順

IronPythonからC#のライブラリを利用する の手順で行いますが、一から説明するのは大変なので、こちら のソリューションを使って説明します。

  • 新規にプロジェクトを作成します。
    (上のサンプルを使う場合は不要です。)

  • NugetでZXing.Netをインストールします。

  • 簡単なプログラムを作成します。
  • 上のサンプルでは「Form1.cs」に簡易なテストプログラムを書いています。
  • 後でIronPythonのライブラリにしたいので、出力パスを ..\x64\[Release or Debug]\zxing\ にしています。「ExampleOfZXingDotNET」プロジェクトのプロパティを確認してください。

  • ビルドして動作を確認します。
  • 上のサンプルではqrcode.gifのバーコードを読み込んで表示します。

  • __ini__.pyを作成します。
  • 面倒くさいのは、パスを通す設定と参照設定です。上のサンプルの __ini__.py において8割方がそうです。
  • 今回は便利関数なども作成しません。ただし、C#のBitmapクラスやPixelFormatクラスが使いやすいようにしておきます。

  • 最後にReleaseでビルドし、生成された zxingフォルダを、IronPythonの Libフォルダにコピーします。
  • 上のサンプルにおいては、 example.py も用意しています。


環境変数パスIRONPYTHON_HOMEの設定を忘れないようにしてください。(例:C:\IronPython27)

ひとこと

OpenCVでQRコードを読めるようになったようですが、定番の「ZXing」を使えるようにしておくことにはメリットがあると思います。


HomeへIronPythonの記事Topへ