由于新的欧盟法律,每个食品包装标签必须通过在成分列表中加粗或加下划线来勾勒出可能引起过敏的成分.
目前我正在通过ZPL将我的标签打印到斑马打印机上.我检查了ZPL manuel 1和2,并没有找到如何用粗体或下划线打印的方法.有没有办法做到这一点?
示例:"成分:水,糖,牛奶,奶酪,巧克力"
应该是现在:"成分:水,糖,牛奶,奶酪,巧克力"
我目前的成分标签代码是:
^CF0,15
^FO13,245
^FB530,2,,L,
^FH^FD__VAR_INGREDIENTS__
^FS
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助,
斯特凡
我只想从网页上调用打印机的API.并且只是想在其中打印一些东西.到目前为止我已经完成了.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Sample DYMO Label Plug-In</title>
<script src="http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js"
type="text/javascript" charset="UTF-8">
function OnLoad()
{
//GetCurrentPlugin();
GetDYMOPrinters();
//GetPaperTray();
//GetMRUList();
//GetObjectNames();
//GetLabelImage();
}
function GetDYMOPrinters()
{
alert(" Testing 1");
var printers = dymo.label.framework.getPrinters();
if (printers.length == 0)
throw "No DYMO printers are installed. Install DYMO printers.";
alert("dfdsfd");
var printerName = "";
for (var i = 0; i < printers.length; ++i)
{
var printer = printers[i];
if (printer.printerType == "LabelWriterPrinter")
{
printerName = printer.name;
break; …Run Code Online (Sandbox Code Playgroud) 有人使用Barby gem(https://github.com/toretore/barby)来生成和打印条形码吗?我正在生成和打印png条形码文件,它们模糊不清.请注意,生成的PNG文件看起来很棒,即使在条形图上进行缩放时也是如此,但是在打印时边缘是模糊的.我正在打印相同尺寸和格式的条形码,我在同一台打印机上的其他地方,它们看起来很漂亮.
这是我正在使用的代码,以防任何人有任何想法如何让它看起来更好.它现在无法使用,因为扫描仪无法读取它.
我注意到创建的png有72 dpi,似乎没有办法让它更高.这可能与也可能没有关系.
require 'barby'
require 'barby/barcode/code_128'
require 'barby/outputter/png_outputter'
fnsku = 'ABC123'
barcode = Barby::Code128A.new(fnsku)
outputter = Barby::PngOutputter.new(barcode)
outputter.height = 50
outputter.xdim = 1
filepath = 'barcode.png'
File.open(filepath, 'w'){ |f| f.write outputter.to_png }
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我一直在尝试打印到 SATO GL408e 打印机。我正在尝试通过 USB 接口发送数据,但没有示例代码可以执行此操作。我尝试使用此处的示例代码: http: //support.microsoft.com/kb/322091,但它运行时没有错误,也没有打印。有人知道如何将数据发送到 SATO 打印机吗?
谢谢!
(这是我正在使用的代码)
private void PrintLabels_Click(object sender, EventArgs e)
{
string PrintCommand = "";
string EmployeeNo = EmployeeList.SelectedRows[0].Cells[0].Value.ToString();
string YearNumber = EmployeeList.SelectedRows[0].Cells[7].Value.ToString();
string FirstTraceCode = (int.Parse(EmployeeList.SelectedRows[0].Cells[5].Value.ToString()) + 1).ToString();
string SecondTraceCode = (int.Parse(EmployeeList.SelectedRows[0].Cells[5].Value.ToString()) + 2).ToString();
string LabelQuantity = "15";
MessageBox.Show(EmployeeNo.Substring(0, 2) + "-" + EmployeeNo.Substring(2, 4) + "-" + YearNumber + "-" + FirstTraceCode);
PrintCommand = "\x02\x1bA\x1bIG1\x1bZ\x03\x02\x1bA\x1b#E3\x1bZ\x03\x02\x1bA\x1bCS5\x1bZ\x03\x02\x1bA\x1bEX0\x1bZ\x03\x02\x1bA\x1b*&\x1bZ\x03\x02\x1bA\x1bA3H0001V0001\x1bZ\x03\x02\x1bA\x1bV0000\x1bH0259\x1bF001+002\x1bD202099" + EmployeeNo + YearNumber + FirstTraceCode + "\x1bL0203\x1bH0247\x1bV0114\x1bF001+002\x1bU" + EmployeeNo.Substring(0, 2) + "-" + …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下ZPL和Zebra ZP 450打印机在标签上打印Code 128条形码:
^BY3^BCN,112,N^FO090,660^FD>;>89102100^FS
Run Code Online (Sandbox Code Playgroud)
我期待条形码扫描为"9102100".但是,当我扫描打印的条形码时,它显示为"910210" - 切断最后一位数字.
如果我更改了最后一位数字,它仍然会被切断.但如果我在末尾添加更多数字,例如"9102100357",则条形码正确读取为"9102100357".
为什么我在这种特殊情况下"失去"一个数字?
根据我对 Code128 条码校验位计算的理解*(与大多数其他标准条码类型完全不同/完全不同),我下面的代码是正确的。但是,我很感激那些可能更了解/有一些经验观察/从附着在他们的战壕(或实验室)外套上的战壕中的泥土的人进行的“健全性检查”。
条形码中的每个字符,从左边开始,首先被转换成它的 ASCII 码(IOW,条形码字符“1”被视为它的 ASCII 码 49,等等),然后该值乘以其序数在字符数组中的位置。
例如,对于制造的条形码编号“123456789”,“1”相当于 49,“2”相当于 50,……“9”相当于 57。
然后,每个字符的序号位置乘以其 ASCII 值。例如,1*49 == 49、2*50==100、... 9*57==513。然后将所有这些相加,得出(在本例中)2,445。
下一步是将该数字除以 Code128“幻数”103;您感兴趣的值是模数。因此,在这种情况下,2445 % 103 == 76。
倒数第二 - 最后,您转换该值 (76),将其视为 ASCII 代码,将另一个方向返回到其“表示”值,即“L”。
最后,您将计算出的字符附加到原始条形码。确实如此(尽管有更多的麻烦或告别),您最终得到的值为“123456789L”
如果这不是正确的值,那么我理解错误。
以下是一些条形码:
0) 123456789
1) 12345678
2) 1234567
3) 123456
Run Code Online (Sandbox Code Playgroud)
...以及它们应该如何与计算出的校验位一起出现(并使用下面的代码):
0) 123456789L
1) 12345678N
2) 1234567*
3) 123456E
Run Code Online (Sandbox Code Playgroud)
最后但并非最不重要的是,这是我用来计算 Code128 校验位的代码:
private void buttonAppendCode128CheckDigit_Click(object sender, EventArgs e)
{
const int CODE_128_DIVISOR = 103;
string barCode = textBoxRawCode128.Text.Trim();
int runningTotal = 0;
for (int i = barCode.Length …Run Code Online (Sandbox Code Playgroud) 我正在使用 zxing api 来创建条形码。但是在创建时,我无法将条形码内容写为条形码下方的标签。
输出 -

需要输出——

生成这些条形码的代码如下 -
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class BarcodeTesting {
private static void wrtieToStream(BitMatrix bitMatrix) {
try {
MatrixToImageWriter.writeToStream(bitMatrix, "png", new FileOutputStream(new File("hello" + ".png")));
System.out.println( " Barcode Generated.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private BitMatrix generateBitMatrix(String content, BarcodeFormat format, int width, int height) {
MultiFormatWriter writer = new MultiFormatWriter(); …Run Code Online (Sandbox Code Playgroud)如果您有方形空间,QR码非常适合打印机器可读的URL.但如果放在文本中它们看起来很可怕,因为它们比文本行高得多.
有没有办法我可以使用与QR码相同功能的1d条形码(URL是最重要的功能)所以它可以作为正常段落中的文本放置而无需特殊格式化?
如果是:我如何生成这些条形码?
扫描仪型号:- Motorola- DS4208-HC
我们需要解析 GS1-128 条形码。我们知道他们将使用 GTIN(01)、批号(10)、有效期(17)、序列号(21)。输入字符串:- (01)07612345678900(17)100503(10)AC3453G3(21)455777
问题是条码阅读器输出一个字符串,格式如下:
01076123456789001710050310AC3453G321455777
由于没有分隔符,并且根据 GS1 标准,序列号和批号都是可变长度,因此我们很难识别段。
未填满的变长字段末尾应有一个 FNC1 字符;这样FNC1就会出现在G3和21之间。我读到的是NC1对人类来说是不可见的,但可以被扫描仪检测到,并将在扫描仪报告的字符串中重现。只需将字符串直接发送到文本文件并使用十六进制阅读器检查文本即可。FNC1 应该是显而易见的。但我们仍然无法在阅读器中读取FNC1。
barcode barcode-scanner barcode-printing gs1-ai-syntax gs1-128