Salah satu cara cepat membuat label buku koleksi perpustakaan adalah mencetak labelnya dengan bantuan printer label. Salah satu printer label yang TISA pakai adalah XPrinter XP-D4601B. Berbeda dengan printer label Brother QL-800 dan PTouch Cube PT-P710BT, printer label XPrinter tidak memiliki aplikasi bawaan untuk mencetak label berseri. Jadi, harus pakai aplikasi pihak ketiga atau buat sendiri.
Mari Buat Sendiri
XP-D4601B mendukung emulasi ZPL. Dengan begitu, membuat program khusus untuk mencetak label berseri akan lebih mudah.
Label yang Akan Dibuat
Label yang TISA perlukan adalah label berisi informasi nomor seri eksemplar dalam tiga bentuk, yakni angka biasa, barcode, dan QR. Selain itu, juga mencantumkan judul buku secara singkat.
Karena label ini utamanya akan dipakai untuk menandai buku teks pelajaran, maka akan diperlukan sangat banyak label. Dengan pertimbangan ekonomis dan praktis, dipilihlah label berdimensi 60 x 30 mm.
Kurang lebih, hasil akhirnya akan seperti ini.

Contoh aplikasinya pada buku, akan terlihat seperti ini.

Kode ZPL
Setelah bereksperimen di labelary.com serta pengujian cetak langsung pada printer, maka didapat kode ZPL berikut untuk mencetak label yang diinginkan.
^XA ^PW479 ^FO240,20^AJ,18^FDPAI 8 - KURMER^FS ^FO240,45^A0,58^FD20241786^FS ^FO240,100^BQN,2,5,Q,7^FDQA,20241786^FS ^FO130,40^BY2,3,10^BCR,40,Y,N,N,A^FD20241786^FS ^XZ
Skrip Bash
Selanjutnya, membuat skrip Bash sehingga bisa membuat label secara massal.
Skrip ini akan membuat file teks berisi kode ZPL, tidak langsung mencetaknya. Per label per file. Jadi, jika ada 1.000 label buku (karena ada 1.000 nomor seri), maka skrip ini akan membuat 1.000 file teks. Ini untuk memudahkan dalam proses cetak serta cetak ulang jika nantinya diperlukan.
Skripnya sangat sederhana sebagai berikut.
#!/bin/bash
# --- VARIABEL --- #
SUMBER_DATA="$1"
FOLDER_TUJUAN="$2"
# --- PROSES --- #
echo
echo -n "SEDANG MEMBUAT LABEL"
# Membaca sumber data.
while read line
do
# Tandai sedang proses.
echo -n "."
# Pisahkan kolom pada baris data.
IFS=";" && daftarnya=($line)
# Info.
NOMOR_SERI=${daftarnya[0]}
JUDUL_BUKU=${daftarnya[1]}
# Buat ZPL.
echo -e "^XA\n^PW479\n^FO240,20^AJ,18^FD$JUDUL_BUKU^FS\n^FO240,45^A0,58^FD$NOMOR_SERI^FS\n^FO240,100^BQN,2,5,Q,7^FDQA,$NOMOR_SERI^FS\n^FO130,40^BY2,3,10^BCR,40,Y,N,N,A^FD$NOMOR_SERI^FS\n^XZ" > "$FOLDER_TUJUAN/$NOMOR_SERI.zpl"
wait
done < $SUMBER_DATA
# --- BERES --- #
echo
echo
echo "*** SELESAI! ***"
echo
exit 0;
Simpan skrip tersebut dengan nama skrip.sh atau apalah, lalu tandai sebagai berkas executable.
chmod +x skrip.sh
Membuat Label
Pertama, siapkan lebih dulu data eksemplar yang hendak dibuatkan label. Data terdiri dari nomor seri dan judul singkat. Disimpan dalam format teks biasa. Nomor dan judul dipisahkan tanda titik koma. Disimpan dengan nama file misalnya data.csv. Contohnya seperti ini.
20241001;PJS 8 - KURMER
20241002;PJS 8 - KURMER
20241003;PJS 8 - KURMER
20241004;PJS 8 - KURMER
20241005;PJS 8 - KURMER
20241006;PJS 8 - KURMER
20241007;PJS 8 - KURMER
20241008;PJS 8 - KURMER
20241009;PJS 8 - KURMER
20241010;PJS 8 - KURMER
20241011;IPA 8 - KURMER
20241012;IPA 8 - KURMER
20241013;IPA 8 - KURMER
20241014;IPA 8 - KURMER
20241015;IPA 8 - KURMER
20241016;IPA 8 - KURMER
20241017;IPA 8 - KURMER
20241018;IPA 8 - KURMER
20241019;IPA 8 - KURMER
20241020;IPA 8 - KURMER
Pastikan tidak ada nomor seri yang sama, karena nomor seri akan menjadi nama file hasil pembuatan label. Serta, judul tidak terlalu panjang, karena ukuran label yang tidak begitu besar.
Kedua, siapkan folder hasil pembuatan label. Pastikan foldernya masih kosong, karena nanti akan diisi banyak sekali file.
Ketiga, siap diproses. Buka terminal, kemudian ketikkan perintah berikut.
./skrip.sh data.csv folder_hasil/
Patut diingat, posisi antara “data.csv” dan “folder_hasil/” tidak boleh terbalik. Karena skrip yang kita buat tak begitu “pintar” untuk bisa membedakan keduanya. Hehe.
Selain itu, contoh di atas dengan kondisi bahwa file “skrip.sh”, “data.csv”, dan “folder_hasil” berada pada direktori yang sama.

Instalasi Printer
Sebelum dapat mencetak label yang telah dibuat, pastikan printer label sudah terpasang.
XP-D4601B tidak memerlukan driver tambahan ketika dipasang pada Ubuntu. Pastikan saja driver yang digunakan bertipe Generic, dengan model Text-Only. Kami menggunakan koneksi USB.

Mencetak
Pertama, masuk ke folder hasil pembuatan label.
cd folder_hasil/
Kedua, mulai mencetak dengan pola perintah berikut.
lp {nama file ZPL} -d {nama printer label}
Misalnya, hanya mencetak satu label.
lp 20241005.zpl -d 'XP-D4601B'
Jika hendak mencetak label untuk nomor seri 20241001 sampai 20241009, dapat menggunakan perintah ini.
lp 2024100* -d 'XP-D4601B'
Untuk mencetak label dari nomor 20241010 sampai 20241019, perintahnya seperti ini.
lp 2024101* -d 'XP-D4601B'
Jika hendak mencetak semua label sekaligus, gunakan perintah ini.
lp *.zpl -d 'XP-D4601B'
Oh iya. Sebaiknya, jangan gunakan perintah tersebut kalau labelnya ada ribuan. Kasihan printernya 🙂
Selamat mencoba.