我正在与一家要求我们生成 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 文档中的参数。
“用户可以决定最窄的垂直条有多宽(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
,您可以传递“额外的逗号分隔参数”,但我没有看到关于哪些参数以及按什么顺序传递的文档。