2011-12-15 45 views
5

我一直在尋找解決方案,迄今爲止我認爲我的項目最好的解決方案是使用免費的Code 39字體。但是,我試過打印一些樣品,而我的條碼掃描儀無法讀取它們。條碼(code 39)代

我研究了一點,並偶然發現this

我打印使用該庫的Code 39條形碼,它工作得很好,掃描儀能夠讀取它們。

問題是,庫是用C#編寫的,但不是用於ASP.net。我嘗試過使用代碼,但對於我的基礎知識來說太複雜了。該庫代碼中包含許多功能,並且有很多其他條形碼類型,這使我很難分析。

是否有其他方法可以生成Code 39條形碼? codeproject中的庫似乎對我的需求有點複雜。

+3

你確定問題是與發生器?條形碼掃描器必須進行編程才能接受不同的條形碼類型,除此之外,讀取條形碼的能力取決於打印質量,並確保如果圖像大小調整,則按比例進行。有一次,我們在線提供的優惠券有一個標準的UPC條形碼,但許多客戶的打印機設置的質量很低,相同的條形碼只有50%的時間工作,所以我們放棄在我們的網站上使用它們。我們無法控制客戶端的計算機/打印機設置。 – David 2011-12-15 15:53:06

+0

嗨,我也試過使用幾個移動條形碼閱讀器應用程序,他們仍然無法閱讀由免費code39字體生成的條形碼。 (http://www.squaregear.net/fonts/free3of9.shtml)但是,當我嘗試使用此庫生成條形碼(http://www.codeproject.com/KB/graphics/BarcodeLibrary.aspx)時,閱讀器應用程序可以閱讀它。 – 2011-12-19 03:53:14

回答

2

首先,你說這個庫不是爲ASP.NET編寫的,但是如果你可以用它生成圖像,那麼最簡單的方法是編寫一個HttpHandler,它位於庫的頂端,並返回生成的圖像到瀏覽器。如果它是一個.NET庫,我不認爲有任何理由不應該這樣做。

話雖這麼說,有幾件事情看出來產生Code39條形碼時:

  1. 你產生一個有效的39碼條碼(見其他答案,一個39碼的條碼應該開始與*結束) ?
  2. 您打印的條碼是否足夠清晰以供掃描?

對於#1,我會檢查以確保從Code39字體打印的圖像與庫中的圖像相同。如果是,那麼圖像質量可能是問題。

就#2而言,我已經成功地使用了一個免費的Code 39字體和GDI +來生成條形碼圖像,然後在HTML頁面中顯示用於打印的條形碼圖像。我試圖掃描打印的條形碼圖像時碰到的一個問題是,圖像不夠銳利(條形碼行的邊緣模糊)並且無法被掃描儀讀取。

我得到低質量圖像的方式是生成一個大的Code39條形碼圖像(比如說1000 x 400),然後在顯示該條形碼的<img>標籤上,我會將寬度設置得小一些,比如說(200像素或2.0英寸)。我一定會只設置寬度,高度將與圖像成比例地縮放。這會在打印時有效地增加圖像的DPI,使我們能夠生成易於掃描的條形碼圖像(尤其是使用激光打印機進行打印時)。

編輯

差點忘了,當產生這些條形碼是總是打印你的條形編碼的條形碼圖像下面有什麼用另外一個很好的做法。這是您的故障安全,以防條形碼圖像因任何原因無法掃描。如果您查看任何標準的UPC符號,可以看到這個示例。底部的數字正好是掃描時條形碼的讀數。

5

條形碼掃描儀需要您的代碼39條形碼前綴和後綴星號讀取。例如:*12345*

相關問題