将条形码保存到数据库中。

3
我想知道是否可以将条形码保存在数据库中。我使用的是"Code 39"类型的条形码,条形码将从变量生成。如果可能,我希望将其保存到数据库中。我已经从"http://www.barcodebakery.com"下载了库。有人能给我建议如何做吗?
代码运行良好,它显示图片,稍后我将使用条形码扫描仪查找产品,每个产品都将包含条形码。
<?php
    require_once('class/BCGFontFile.php');
    require_once('class/BCGColor.php');
    require_once('class/BCGDrawing.php');
    require('class/BCGcode39.barcode.php');

    $font = new BCGFontFile('font/Arial.ttf', 18);
    $color_black = new BCGColor(0, 0, 0);
    $color_white = new BCGColor(255, 255, 255);

    $barcode="3RC402A00";

    // Barcode Part
    $code = new BCGcode39();
    $code->setScale(2);
    $code->setThickness(30);
    $code->setForegroundColor($color_black);
    $code->setBackgroundColor($color_white);
    $code->setFont($font);
    $code->parse($barcode);

    // Drawing Part
    $drawing = new BCGDrawing('', $color_white);
    $drawing->setBarcode($code);
    $drawing->draw();
    header('Content-Type: image/png');
    $drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>

非常感谢您的建议。

谢谢。


将图像保存为数据库中的 blob,或仅将 $barcode 保存在数据库中,并具有 genbarcode.php 页面,您可以在其中包含生成条形码的 img src =“”位(这是我在我的系统中执行此操作的方式)。 - Dave
2
我不明白,你是想把条形码保存为图像吗?仅保存代码有什么问题吗?这样更简单、更轻巧。 - martskins
2个回答

2

您可以:

  1. 将实际代码(字符串)保存在数据库中,并根据需要重新生成生成代码。这是首选方法。
  2. 将图像保存到您的系统中,并使用数据库中的位置(路径)链接到图像文件。
  3. 将图像保存为BLOB字段存储在数据库中。
  4. 您可能能够序列化$drawing对象,并在此之后重新创建它。不要这样做。

因此,底线是:将字符串保存到数据库中,但如果您真的无法根据需要重新创建代码,请保存图像并链接到该图像。


感谢您的快速回复。我想要存储一张图片,以便在每个产品之后可以打印出该图片。除此之外,我还将编写一个脚本来通过条形码识别产品,这就是为什么我需要字符串和图片的原因。 - user3651819
字符串和图像是相同的信息。如果你有字符串,你可以创建图像。因此实际上不需要保存图像,对吗?如果你保存了字符串,并且想要打印图像,调用上面的代码,创建图像,然后随意处理它(例如打印)。如果不能运行代码(这将很奇怪,所以你可能正在修复错误的问题),但如果是这种情况,你可以选择选项2或3。 - Nanne

0

感谢您的快速回复。我想存储一张图片,以便稍后可以在每个产品之后打印该图片。除此之外,我将编写一个脚本来通过条形码识别产品,这就是我需要字符串和图像的原因。 - user3651819
好的,我明白你的问题。假设你使用的是MySQL数据库,你需要在其中使用BLOB类型字段,并将图像数据保存在其中。请参考这里:https://dev59.com/_WMm5IYBdhLWcg3wTtji - Veeru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接