0

我正在与一家要求我们生成 PDF417 条形码的公司合作开发 API。在他们发送给我们的文档中,他们要求我们使用以下设置:

XDim = 0.02
YDim = 0.03
Bar Height = 0.30
Aspect = 0.25
Columns = 16 or 18
Rows = 0
ECC = 4
Containment area is about 1000 X 5000 unit of pixels

根据我正在使用的 tc-lib-barcode 库文档中的唯一示例,这些是我可以使用的参数:

// generate a barcode
$bobj = $barcode->getBarcodeObj(
    'QRCODE,H',                     // barcode type and additional comma-separated parameters
    'https://tecnick.com',          // data string to encode
    -4,                             // bar width (use absolute or negative value as multiplication factor)
    -4,                             // bar height (use absolute or negative value as multiplication factor)
    'black',                        // foreground color
    array(-2, -2, -2, -2)           // padding (use absolute or negative values as multiplication factors)
    )->setBackgroundColor('white'); // background color

如您所见,公司和 tc-lib-barcode 对参数使用不同的名称,或者 tc-lib-barcode 可能只是不支持我需要更改的参数。tc-lib-barcode 文档中没有关于“XDim”、“YDim”等的内容。所以我正在尝试将公司的规范映射到 tc-lib-barcode 文档中的参数。

根据关于 PDF417 的维基百科文章

“用户可以决定最窄的垂直条有多宽(X 维度),以及行有多高(Y 维度)。”

所以也许XDim== bar width

\src\Type\Square\PdfFourOneSeven.php中,我看到:

 /**
     * Row height respect X dimension of single module
     *
     * @var int
     */
    protected $row_height = 2;

所以我想也许YDim== $row_height。我将 $row_height 更改为,.03但随后出现错误(Undefined offset: 2由第 85 行抛出\src\Type\Raw.php)。

我似乎以错误的方式解决这个问题,并且真的可以使用一些帮助。我已经联系了该公司,但他们只是告诉我购买可以生成兼容条形码的 2 个软件包之一。许可证超出了我们的预算,而且由于 PDF417 是 ISO 标准,因此几乎不可能生成与任何软件包兼容的条形码。

我注意到在 的第一个参数中getBarcodeObj,您可以传递“额外的逗号分隔参数”,但我没有看到关于哪些参数以及按什么顺序传递的文档。

4

0 回答 0