用于PHP中条形码图像样式的zend库

时间:2018-06-16 09:46:44

标签: zend-framework barcode

这是否可以创建像'image1'这样的条形码图像。使用Zend条形码库我创建图像(image2),但它的不同。代码提到下面

   TextModeLayout tl = new TextModeLayout(2, 1);
    Container credentials = new Container(tl);
    credentials.setUIID("MyContainer01");
    TextComponent email = new TextComponent().label("FieldEmail");
    TextComponent password = new TextComponent().label("FieldPassword");
    Validator val = new Validator();
    val.addConstraint(email, RegexConstraint.validEmail());
    val.addConstraint(password, new LengthConstraint(8));
    val.addSubmitButtons(loginButton);
    email.getField().setConstraint(TextField.EMAILADDR);
    password.getField().setConstraint(TextField.PASSWORD);
    InputComponent.group(email, password);
    credentials.add(email);
    credentials.add(password);

image1

image2

1 个答案:

答案 0 :(得分:1)

Zend Framework手册列出了此页面上支持的条形码符号:

https://framework.zend.com/manual/2.1/en/modules/zend.barcode.objects.html

示例中的第二个条形码不适合UPC-A格式,这是用于第一个示例条形码的格式。如果您的客户只需要数字数据,那么您的代码应如下所示:

$this->load->library('zend');
this->zend->load('Zend/Barcode');
$imageResource = Zend_Barcode::factory('UPC-A', 'image', array('text' => "689076996624", 'barHeight'=> 50,'factor'=> 4), array())->draw();
imagepng($imageResource, $path);

我不确定库底是否生成了'4'。我的猜测是你必须自己创建校验和。

另一方面,如果您的客户需要条形码,他们可以嵌入字母和符号,您必须使用Code 128.在Zend Framework页面上,他们错误地将校验和列为可选项。我不相信这一点。

条形码字体不仅仅是像Helvetica或Times New Roman一样,您必须编写一些代码才能使其看起来像扫描的内容以及您的客户会喜欢的内容。