ZXing 3.2 Java:如何设置数据矩阵的单元格数?

ZXing 3.2 Java:如何设置数据矩阵的单元格数?,java,zxing,datamatrix,Java,Zxing,Datamatrix,我使用ZXing 3.2 java库,需要生成一个矩形数据矩阵16*48个单元格(16个单元格表示高度,48个单元格表示宽度) 我没有办法这样做。有人知道怎么做吗 代码段示例: Hashtable<EncodeHintType,Object> hints=null; hints=new Hashtable<EncodeHintType,Object>(1); hints.put(EncodeHintType.DATA_MATRIX_SHAPE,SymbolShapeHin

我使用ZXing 3.2 java库,需要生成一个矩形数据矩阵16*48个单元格(16个单元格表示高度,48个单元格表示宽度)

我没有办法这样做。有人知道怎么做吗

代码段示例:

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);
哈希表提示=null;
提示=新哈希表(1);
put(EncodeHintType.DATA\u MATRIX\u SHAPE,SymbolShapeHint.FORCE\u RECTANGLE);
MultiFormatWriter writer=新的MultiFormatWriter();
比特矩阵结果=writer.encode(“50位”,格式,48,16,提示);
结果是数据矩阵,16个单元格表示身高,35个单元格表示体重。在encode函数中更改宽度对结果没有影响。 高度始终设置为16个单元格


感谢您抽出时间

一种方法是在数据中填充空格,使其达到所需长度(例如,70个字符表示一个漂亮的16*48模式)

但是,这将导致最小的错误更正,因为所有可用空间都将充满数据

更好的方法是实施
MIN\u SIZE
MAX\u SIZE
,如下所示:

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