zint 是一個開源的條碼編碼庫,它支持超過50種條碼,包括 Code-128, Data Matrix, EAN-128, UPC/EAN, ITF, QR Code, Code 16k, PDF417, MicroPDF417, LOGMARS, Maxicode, GS1 DataBar, Aztec, Composite Symbols 等等,基本上你見過的條碼都能用它來進行編碼,它支持直接輸出 PNG 格式的圖像文件和位圖的字節數組。
要在 .net 中使用需要在 windows 平台下重新進行編譯,下面說說我的編譯過程。
1、首先在 zint 項目官網下載下載 zint 庫的源碼,同時它依賴於 libpng 庫和 zlib 庫,這兩個庫也是開源庫,可以在 sourceforge 網站找到;
2、解壓後,進入 win32 目錄,裡面有 VS 格式的解決方案,打開後切換到 Release 生成模式進行編譯,發現有一些編譯錯誤,這時需要你對項目屬性中的編譯和鏈接選項進行調整,將 libpng 庫和 zlib 庫的頭文件和 lib 文件都包含進來,源項目中使用的是絕對路徑,我們把他修改成相對路徑;
3、對項目中要導出的函數稍微修改一下,加上 __stdcall 的調用約定,這樣我在 VB6 環境下也可以使用;
4、F6 編譯,成功生成 dll 文件。
zint 2.4.2 源碼和編譯好的 dll : http://pan.baidu.com/s/1bn1BlTl
zint 項目: http://sourceforge.net/projects/zint/