kreativekorp/barcode

从单个PHP文件生成条形码。

安装: 123

依赖: 0

建议者: 0

安全性: 0

星标: 254

关注者: 18

分支: 131

开放问题: 24

语言:HTML

dev-master 2023-02-22 07:27 UTC

This package is not auto-updated.

Last update: 2024-09-19 16:03:18 UTC


README

从单个PHP文件生成条形码。MIT许可证。

  • 输出为PNG、GIF、JPEG或SVG。
  • 生成UPC-A、UPC-E、EAN-13、EAN-8、Code 39、Code 93、Code 128、Codabar、ITF、QR码和数据矩阵。

直接作为PHP脚本使用GET或POST

barcode.php?f={format}&s={symbology}&d={data}&{options}

例如。

barcode.php?f=png&s=upc-e&d=06543217
barcode.php?f=svg&s=qr&d=HELLO%20WORLD&sf=8&ms=r&md=0.8

当使用此方法时,必须使用URL编码转义非字母数字字符,例如%26表示&,或%2F表示?

或作为其他PHP脚本中的库使用

include 'barcode.php';

$generator = new barcode_generator();

/* Output directly to standard output. */
header("Content-Type: image/$format");
$generator->output_image($format, $symbology, $data, $options);

/* Create bitmap image and write to standard output. */
header('Content-Type: image/png');
$image = $generator->render_image($symbology, $data, $options);
imagepng($image);
imagedestroy($image);

/* Create bitmap image and write to file. */
$image = $generator->render_image($symbology, $data, $options);
imagepng($image, $filename);
imagedestroy($image);

/* Generate SVG markup and write to standard output. */
header('Content-Type: image/svg+xml');
$svg = $generator->render_svg($symbology, $data, $options);
echo $svg;

/* Generate SVG markup and write to file. */
$svg = $generator->render_svg($symbology, $data, $options);
file_put_contents($filename, $svg);

当使用此方法时,必须不使用URL编码。

选项

f - 格式。以下之一

    png
    gif
    jpeg
    svg

s - 符号(条形码类型)。以下之一

    upc-a          code-39         qr     dmtx
    upc-e          code-39-ascii   qr-l   dmtx-s
    ean-8          code-93         qr-m   dmtx-r
    ean-13         code-93-ascii   qr-q   gs1-dmtx
    ean-13-pad     code-128        qr-h   gs1-dmtx-s
    ean-13-nopad   codabar                gs1-dmtx-r
    ean-128        itf

d - 数据。对于UPC或EAN,使用*表示缺失的数字。对于Codabar,使用ABCDENT*表示起始和停止字符。对于QR码,以Shift-JIS编码kanji模式。

w - 图像宽度。覆盖sfsx

h - 图像高度。覆盖sfsy

sf - 缩放因子。线性条形码默认为1,矩阵条形码默认为4。

sx - 水平缩放因子。覆盖sf

sy - 垂直缩放因子。覆盖sf

p - 填充。线性条形码默认为10,矩阵条形码默认为0。

pv - 顶部和底部填充。默认为p的值。

ph - 左部和右部填充。默认为p的值。

pt - 顶部填充。默认为pv的值。

pl - 左部填充。默认为ph的值。

pr - 右部填充。默认为ph的值。

pb - 底部填充。默认为pv的值。

bc - 背景颜色,格式为#RRGGBB

cs - 空白颜色,格式为#RRGGBB

cm - 模块颜色,格式为#RRGGBB

tc - 文本颜色,格式为#RRGGBB。仅适用于线性条形码。

tf - SVG输出的文本字体。默认为等宽字体。仅适用于线性条形码。

ts - 文本大小。对于SVG输出,这是以点为单位,默认为10。对于PNG、GIF或JPEG输出,这是GD库内置字体编号(从1到5),默认为1。仅适用于线性条形码。

th - 文本基线到底部模块的距离。默认为10。仅适用于线性条形码。

ms - 模块形状。以下之一:s为方形,r为圆形,或x为X形。默认为s。仅适用于矩阵条形码。

md - 模块密度。一个介于0和1之间的数字。默认为1。仅适用于矩阵条形码。

wq - 静区单元宽度。默认为1。使用0以抑制静区。

wm - 窄模块和空格宽度。默认为1。

ww - 宽模块和空格宽度。仅适用于Code 39、Codabar和ITF。默认为3。

wn - 字符之间的窄空格宽度。仅适用于Code 39和Codabar。默认为1。