[]
        
(Showing Draft Content)

Data Matrix

Data Matrix 是一种高密度的二维条形码,其正方形模块通常以正方形或矩形矩阵模式排列。数据矩阵最常用的应用是标记小对象,因为代码可以在2~3平方毫米的面积上编码50个字符,并且DataMatrix只需要20%的对比率就可以被读取。

下面的图片中展示了PDF文档中的DataMatrix条形码。

Datamatrix barcode

公式定义

你可以使用以下公式在工作表中设置Data Matrix:


=BC_DataMatrix(value, color, backgroudColor, eccMode, ecc200SymbolSize, ecc200EndcodingMode, ecc00_140Symbole, structureAppend, structureNumber, fileIdentifier, quietZoneRight, quietZoneTop, quietZoneBottom)

参数

名称

描述

value

表示Data Matrix编码的字符串。

color

表示Data Matrix条形码颜色。默认值为“rgb(0,0,0)”。

backgroundColor

表示Data Matrix条形码的背景颜色。默认值是"rgb(255, 255, 255)"。

eccMode

表示使用哪种ecc编码规则。它具有以下值:“ECC000、ECC050、ECC080、ECC100、ECC140、ECC200”。

ecc200SymbolSize

ECC200专用设置,用于设置字符编码大小,默认值是"squareAuto"。

ecc200EndcodingMode

ECC200专用设置,用于设置编码格式,默认值是"auto"。

ecc00_140Symbole

用于在ECC000-140中设置字符编码大小,默认值是"auto"。

structureAppend

ECC200专用设置,表示是否是链接编码模式,默认值是false。

structureNumber

ECC200专用设置,表示链接编码模式中的索引,只能是0~15,默认值是0。

fileIdentifier

ECC200专用设置,表示编码的文件标识,只能是1~254,默认值是0。

quietZoneRight

表示右侧空白区域大小的值。

quietZoneTop

表示顶部空白区域大小的值。

quietZoneBottom

表示底部空白区域大小的值。

用例代码

这是一个创建DataMatrix 二维码的实例。

// Create a new workbook
Workbook workbook = new Workbook();
// Set worksheet layout and data
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("B:F").setColumnWidth(15);
worksheet.getRange("4:7").setRowHeight(60);
worksheet.getRange("A:A").setColumnWidth(5);
worksheet.getRange("B2").setValue("Data Matrix");
worksheet.getRange("B2:F2").setMergeCells(true);
worksheet.getRange("B3:F3").setValue(new Object[][] { { "Server", "Data", "Default", "ECC100", "ECC200" } });
worksheet.getRange("B4:C7").setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("B4:C7").setVerticalAlignment(VerticalAlignment.Center);
worksheet.getRange("B2:F3").setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("B2:F3").setVerticalAlignment(VerticalAlignment.Center);
worksheet.getRange("B4:C7")
        .setValue(new Object[][] { { "Police", "911" }, { "Telephone Directory Assistance", "411" },
                { "Non-emergency Municipal Services", "311" }, { "Travel Info Call 511", "511" } });
worksheet.getRange("B4:B7").setWrapText(true);
worksheet.getPageSetup().setPrintGridlines(true);
// Set formula
for (int i = 4; i < 8; i++) {
    String value = "CONCAT(B" + i + ",\":\",C" + i + ")";
    worksheet.getRange("D" + i).setFormula("=BC_DataMatrix" + "(" + value + ")");
    worksheet.getRange("E" + i).setFormula("=BC_DataMatrix" + "(" + value + ", , ,\"ECC000\")");
    worksheet.getRange("F" + i).setFormula("=BC_DataMatrix" + "(" + value + ", , ,\"ECC200\")");
}

// Save to an pdf file
workbook.save("DataMatrix.pdf");

限制

  • Datamatrix ECC(000-140)二维码已过时。因此,生成这类型的二维码将无法被扫描。