2015-09-10 29 views
2

我使用ZXing 3.2 java庫,我需要生成矩形數據矩陣16 * 48個單元格(高度爲16個單元,寬度爲48個單元格)。ZXing 3.2 Java:如何設置數據矩陣的單元號?

我發現沒有辦法做到這一點。有誰知道如何做到這一點?

片段例如:

Hashtable<EncodeHintType,Object> hints=null; 
hints=new Hashtable<EncodeHintType,Object>(1); 
hints.put(EncodeHintType.DATA_MATRIX_SHAPE,SymbolShapeHint.FORCE_RECTANGLE); 

MultiFormatWriter writer = new MultiFormatWriter(); 
BitMatrix   result = writer.encode("50 digits",format,48,16,hints); 

結果是具有16個單元爲身高和35重量數據矩陣。在編碼功能中改變寬度對結果沒有影響。 高度始終設置爲16個單元格。

謝謝您的時間

回答

0

的方法之一是墊的空間所需的長度的數據(例如,70個字符提供一個很好的16 * 48模式)。

但是,這將導致最小的錯誤更正,因爲所有可用空間都將填充數據。

一個更好的辦法是執行MIN_SIZEMAX_SIZE因爲這些not deprecated for Data Matrix

hints.put(EncodeHintType.MIN_SIZE, new Dimension(48, 16)); 
hints.put(EncodeHintType.MAX_SIZE, new Dimension(48, 16));