TBarCode SDK是一款能夠在任意應用程序和打印機下生成和打印全部條碼的條碼軟件組件。TBarCode SDK對於Microsoft Office用戶以及軟件開發者提供條碼打印。使用此款條碼軟件組件您能夠以完美效果生成和打印全部用於工業和商業條碼符號。 部署Web應用程序後出現錯誤的圖像格式異常html
在部署ASP.NET項目到您的IIS Web服務器以後,會提示System.BadImageFormatException(嘗試加載格式不正確的程序),但在開發過程當中沒有這樣的問題。瀏覽器
緣由:Visual Studio是32位應用程序,開發服務器一般以32位進程運行。所以32位版本的TECIT.TBarCode.DLL如今做爲./bin文件夾中的一部分已嵌入到您的項目中。可是您的IIS以64位進程運行工做線程,因此出現加載錯誤。 方法一:部署64位版本的程序集緩存
使用C:\ Program Files \ Common Files \ TEC-IT \ TBarCode \ [version]文件夾中的版本(這是x64版本)交換目標系統上的../bin/TECIT.TBarCode.dll文件。 方法二:讓GAC開始工做服務器
從bin文件夾中徹底刪除TECIT.TBarCode.dll。在這種狀況下,將加載來自全局程序集緩存(GAC)的TECIT.TBarCode.dll。公共語言運行庫將自動加載正確的版本,由於GAC同時包含32和64位版本。這種方法的先決條件是必須在目標服務器上執行TBarCode SDK的設置,安裝程序會爲您安裝GAC中的DLL文件。 提升ASP.NET中標籤打印機的條碼質量優化
若是在熱敏標籤打印機上從瀏覽器中打印條形碼,則一般會遇到質量問題,好比條碼的寬度不相等,不適合輸出分辨率等。爲了不條碼寬度產生像差,您必須在96 dpi瀏覽器和203 dpi打印機分辨率下找到徹底匹配的像素。對於線性條形碼,按下列所示解決方案將會建立一個像素對齊203 dpi光柵和具備良好可讀性的條形碼:線程
位圖建立:使用203 dpi和優化的模塊寬度(2或3個像素)建立條形碼位圖。經過根據須要添加空白區域,使整個位圖精確地爲3或4英寸寬(3 * 203像素或4 * 203像素)。 位圖縮放:根據您在建立位圖期間選擇的內容,在瀏覽器中顯示寬度正好爲3或4英寸(3 * 203像素或4 * 203像素)的條形碼圖像。
如下ASP.NET C#代碼顯示瞭如何使用TBarCode .NET實現此優化:code
double dpi = 203; // printer resolution (8 lines/mm) int numberOfPixels = 3; // number of pixels for 1 module (= 0.375 mm) double moduleWidth = numberOfPixels * 25.4 / dpi; // module width in mmorm
BCControl.Barcode.Dpi = dpi; // 1 bitmap pixel = 1 module BCControl.Barcode.SizeMode = TECIT.TBarCode.SizeMode.CustomModuleWidth; BCControl.Barcode.ModuleWidth = (float) (moduleWidth + 0.001); BCControl.Barcode.AdjustModuleWidthToPixelRaster = true;htm
BCControl.Width = new Unit(96 * 4, UnitType.Pixel); // always a multiple of 96 !!!進程
ASP: Library Not Registered
若是收到此錯誤消息,則須要更改IUSR_MACHINE註冊表中類型庫條目的用戶賬戶的讀取權限。請按照如下步驟操做:
打開regedit或RegEdt32.exe。 選擇HKEY_CLASSES_ROOT。 TBarCode OCX V8:搜索類型庫UUID {07EC89D3-07F6-4B94-8A6A-C2347DB5C9EC}。 TBarCode OCX V9:搜索類型庫UUID {E06A2F00-D769-46FE-B2D6-E795C0CEE76E}。 TBarCode OCX V10:搜索類型庫UUID {132760F3-28BE-4E8A-B12B-12810EAA1EA3}。 右鍵單擊registry entry,而後從下拉菜單中選擇Permissions,或者也能夠Edit->Permission。 在下一個對話框中,設置IUSR_MachineName或EveryOne賬戶的讀取權限。
如何在VB ASP.NET中生成像素優化的PDF417
將此代碼插入Page_Load事件:
Me.BarcodeControl1.Barcode.BarcodeType = BarcodeType.Pdf417 Me.BarcodeControl1.Barcode.Data = data
' TBarCode V7, V8: Dim horizModules As Integer Dim verticRows As Integer
horizModules = Me.BarcodeControl1.Barcode.CalculateXColumnsOf2DBarcode() verticRows = Me.BarcodeControl1.Barcode.CalculateNumberOfRows()
Me.BarcodeControl1.Barcode.SizeMode = SizeMode.FitToBoundingRectangle ' for the dpi use at least 3 times the screen res (or >= 300 dpi) Me.BarcodeControl1.Barcode.Dpi = 96 * 3 Me.BarcodeControl1.Width = New Unit(horizModules) ' for the height use a multiplier of 3 - 5
Me.BarcodeControl1.Height = New Unit(verticRows * 5)
End Sub
Web應用程序中的條形碼優化
當生成條形碼做爲圖像流時,條形(或空格)應始終在生成的位圖的像素網格上對齊。原則上,在600-1200 dpi的激光打印機上打印96 dpi圖像時不會有任何問題。在將96 dpi轉換爲600/1200 dpi時可能會出現一些很小的打印容差。
注意:若是瀏覽器中沒有任何縮放圖像,則始終以96 dpi顯示。具備1個像素的細條一般爲1/96英寸寬。
將條形碼調整到特定尺寸或將打印分辨率調整爲300 dpi或更低時狀況可能會更復雜。在這種狀況下,您應將條形碼模塊寬度調整爲打印機的點寬。
未完待續~