本文目录导读:

Python 脚本(推荐)
使用 python-barcode 库
# 首先安装库
# pip install python-barcode pillow
import barcode
from barcode.writer import ImageWriter
from PIL import Image
def generate_barcode(data, barcode_type='code128', save_path='barcode.png'):
"""
生成条形码
:param data: 要编码的数据
:param barcode_type: 条形码类型 (code128, ean13, code39等)
:param save_path: 保存路径
"""
# 获取条形码类
barcode_class = barcode.get_barcode_class(barcode_type)
# 生成条形码
code = barcode_class(data, writer=ImageWriter())
# 保存为图片
filename = code.save(save_path.replace('.png', ''))
print(f"条形码已保存: {filename}")
# 可选:显示图片
img = Image.open(filename)
img.show()
# 使用示例
generate_barcode("1234567890", "code128", "my_barcode.png")
generate_barcode("5901234123457", "ean13", "ean13_barcode.png")
Node.js 脚本
// 首先安装依赖
// npm install bwip-js
const bwipjs = require('bwip-js');
const fs = require('fs');
function generateBarcode(data, options = {}) {
const defaultOptions = {
bcid: 'code128', // 条形码类型
text: data, // 显示文本
scale: 3, // 缩放比例
height: 10, // 高度
includetext: true, // 包含文本
textxalign: 'center' // 文本对齐
};
const config = { ...defaultOptions, ...options, text: data };
bwipjs.toBuffer(config, (err, png) => {
if (err) {
console.error('生成失败:', err);
return;
}
const filename = `barcode_${Date.now()}.png`;
fs.writeFileSync(filename, png);
console.log(`条形码已保存: ${filename}`);
});
}
// 使用示例
generateBarcode("ABC123456");
generateBarcode("9876543210", { bcid: 'code39', height: 15 });
Shell 脚本(使用在线API)
#!/bin/bash
# 使用在线API生成条形码
generate_barcode() {
local data=$1
local type=${2:-code128}
local output=${3:-barcode.png}
# 使用 bwip-js 的在线API
curl -s "https://bwipjs-api.metafloor.com/?bcid=$type&text=$data&scale=3&height=10" \
-o "$output"
if [ $? -eq 0 ]; then
echo "条形码已生成: $output"
else
echo "生成失败"
fi
}
# 批量生成
for i in {1..5}; do
generate_barcode "ITEM$i" "code128" "barcode_$i.png"
done
批量生成脚本(Python)
import barcode
from barcode.writer import ImageWriter
import pandas as pd
def batch_generate(csv_file, data_column, barcode_type='code128'):
"""
从CSV文件批量生成条形码
"""
# 读取数据
df = pd.read_csv(csv_file)
for index, row in df.iterrows():
data = str(row[data_column])
try:
# 生成条形码
barcode_class = barcode.get_barcode_class(barcode_type)
code = barcode_class(data, writer=ImageWriter())
# 以数据命名文件
filename = code.save(f"barcode_{data}")
print(f"已生成: {filename}")
except Exception as e:
print(f"生成失败 {data}: {e}")
# 使用示例
# batch_generate('products.csv', 'sku', 'code128')
快速在线生成(使用curl)
# 一行命令生成 curl -s "https://barcode.tec-it.com/barcode.ashx?data=YOUR_DATA&code=Code128&dpi=96" -o barcode.png # 或者使用 Google Charts API(免费) curl -s "https://chart.googleapis.com/chart?cht=qr&chs=100x100&chl=YOUR_DATA" -o barcode.png
安装指南
Python 安装:
pip install python-barcode pillow
Node.js 安装:
npm init -y npm install bwip-js
推荐的条形码类型
- Code128: 通用型,支持字母数字
- EAN-13: 商品条码(13位)
- Code39: 简单型,支持字母数字
- UPC-A: 美国商品条码(12位)
- ITF: 物流条码
快速生成命令速查
# Python一行命令
python -c "import barcode; from barcode.writer import ImageWriter; barcode.get('code128', 'DATA', writer=ImageWriter()).save('barcode')"
# Node.js一行命令
node -e "const b=require('bwip-js'); b.toBuffer({bcid:'code128',text:'DATA',scale:3},(e,p)=>require('fs').writeFileSync('barcode.png',p))"
选择适合你需求的方法,Python脚本最灵活,Shell脚本最快速,Node.js适合Web应用场景。