如何用脚本快速生成条形码

wen 实用脚本 2

本文目录导读:

如何用脚本快速生成条形码

  1. Python 脚本(推荐)
  2. Node.js 脚本
  3. Shell 脚本(使用在线API)
  4. 批量生成脚本(Python)
  5. 快速在线生成(使用curl)
  6. 安装指南
  7. 推荐的条形码类型
  8. 快速生成命令速查

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应用场景。

抱歉,评论功能暂时关闭!