DYMO标签JavaScript打印框架
我的项目涉及在Dymo 400 Turbo上打印患者标签。我已经安装了最新的框架DYMO.Label.framework.latest.js,并且正在尝试使用我在web上找到的一种方法来打印标签。我的问题是XML是为地址标签而设计的,而不是更长的患者标签。当我发送到打印机时,它会超过下一个标签,浪费一个标签。另外,我想打印的是身份证,而不是条形码中的地址或邮政编码。有人有什么想法吗 这是我的XML:DYMO标签JavaScript打印框架,javascript,dymo,Javascript,Dymo,我的项目涉及在Dymo 400 Turbo上打印患者标签。我已经安装了最新的框架DYMO.Label.framework.latest.js,并且正在尝试使用我在web上找到的一种方法来打印标签。我的问题是XML是为地址标签而设计的,而不是更长的患者标签。当我发送到打印机时,它会超过下一个标签,浪费一个标签。另外,我想打印的是身份证,而不是条形码中的地址或邮政编码。有人有什么想法吗 这是我的XML: '<?xml version="1.0" encoding="utf-8"?>\
'<?xml version="1.0" encoding="utf-8"?>\
<DieCutLabel Version="8.0" Units="twips">\
<PaperOrientation>Landscape</PaperOrientation>\
<Id>Address</Id>\
<PaperName>30252 Address</PaperName>\
<DrawCommands>\
<RoundRectangle X="0" Y="0" Width="1581" Height="5040" Rx="270" Ry="270" />\
</DrawCommands>\
<ObjectInfo>\
<AddressObject>\
<Name>Address</Name>\
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
<LinkedObjectName></LinkedObjectName>\
<Rotation>Rotation0</Rotation>\
<IsMirrored>False</IsMirrored>\
<IsVariable>True</IsVariable>\
<HorizontalAlignment>Left</HorizontalAlignment>\
<VerticalAlignment>Middle</VerticalAlignment>\
<TextFitMode>ShrinkToFit</TextFitMode>\
<UseFullFontHeight>True</UseFullFontHeight>\
<Verticalized>False</Verticalized>\
<StyledText>\
<Element>\
<Attributes>\
<Font Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
</Attributes>\
</Element>\
</StyledText>\
<LineFonts>\
<Font Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<Font Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<Font Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
</LineFonts>\
</AddressObject>\
<Bounds X="332" Y="150" Width="4455" Height="1260" />\
</ObjectInfo>\
</DieCutLabel>'
'\
\
景观\
地址\
30252地址\
\
\
\
\
\
地址\
\
\
\
旋转0\
假的\
真的\
左\
中间的\
收缩\
真的\
假的\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
'
我用以下内容加载标签:
var label = dymo.label.framework.openLabelXml(labelXml);
var labelToPrint = getLabelToPrint();
if (!label) {
$("#lblError").text("There is no information entered to print");
$("#MessageDialog").dialog({ title: "No Information" });
$("#MessageDialog").dialog("open");
return;
}
if (label.getAddressObjectCount() > 0) {
var add = label.getAddressText(0);
label.setAddressText(0, labelToPrint);
}
// set data using LabelSet and text markup
var labelSet = new dymo.label.framework.LabelSetBuilder();
var textMarkup = '';
var fontSize = 18; // sets font size of first line
if (labelToPrint == '') {
$("#lblError").text("There is no information entered to print");
$("#MessageDialog").dialog({ title: "No Information" });
$("#MessageDialog").dialog("open");
return false;
}
else {
var lines = labelToPrint.split('\n');
var boldLinesCount = lines.length <= 3 ? 1 : 2;
for (var x = 0; x < lines.length; x++) {
textMarkup += lines[x] + '\n';
}
//textMarkup += lines[0] + '\n';
//textMarkup += lines[1] + '\n';
//textMarkup += lines[2];
label.setAddressText(0, textMarkup);
//label.setObjectText("Barcode", lines[0]);
label.setObjectText("Address", textMarkup);
var record = labelSet.addRecord();
record.setTextMarkup('Text', textMarkup); // set label text
}
var-label=dymo.label.framework.openLabelXml(labelXml);
var labelToPrint=getLabelToPrint();
如果(!标签){
$(“#lblError”).text(“没有输入要打印的信息”);
$(“#MessageDialog”).dialog({title:“无信息”});
$(“#MessageDialog”).dialog(“打开”);
返回;
}
if(label.getAddressObjectCount()>0){
var add=label.getAddressText(0);
label.setAddressText(0,labelToPrint);
}
//使用标签集和文本标记设置数据
var labelSet=new dymo.label.framework.LabelSetBuilder();
var textMarkup='';
var fontSize=18;//设置第一行的字体大小
如果(labelToPrint==''){
$(“#lblError”).text(“没有输入要打印的信息”);
$(“#MessageDialog”).dialog({title:“无信息”});
$(“#MessageDialog”).dialog(“打开”);
返回false;
}
否则{
变量行=labelToPrint.split('\n');
var boldlinescont=lines.length我通过将以下内容添加到XML中解决了这个问题:
<ObjectInfo>\
<BarcodeObject>\
<Name>BARCODE</Name>\
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
<LinkedObjectName></LinkedObjectName>\
<Rotation>Rotation0</Rotation>\
<IsMirrored>False</IsMirrored>\
<IsVariable>True</IsVariable>\
<Text></Text>\
<Type>Code39</Type>\
<Size>Medium</Size>\
<TextPosition>Bottom</TextPosition>\
<TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<TextEmbedding>None</TextEmbedding>\
<ECLevel>0</ECLevel>\
<HorizontalAlignment>Center</HorizontalAlignment>\
<QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />\
</BarcodeObject>\
<Bounds X="331" Y="178" Width="4260" Height="420" />\
</ObjectInfo>\
这是我想要在条形码中显示的项目。我通过将以下内容添加到XML中解决了这个问题:
<ObjectInfo>\
<BarcodeObject>\
<Name>BARCODE</Name>\
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
<LinkedObjectName></LinkedObjectName>\
<Rotation>Rotation0</Rotation>\
<IsMirrored>False</IsMirrored>\
<IsVariable>True</IsVariable>\
<Text></Text>\
<Type>Code39</Type>\
<Size>Medium</Size>\
<TextPosition>Bottom</TextPosition>\
<TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<TextEmbedding>None</TextEmbedding>\
<ECLevel>0</ECLevel>\
<HorizontalAlignment>Center</HorizontalAlignment>\
<QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />\
</BarcodeObject>\
<Bounds X="331" Y="178" Width="4260" Height="420" />\
</ObjectInfo>\
这是我想要在条形码中显示的项目。我通过将以下内容添加到XML中解决了这个问题:
<ObjectInfo>\
<BarcodeObject>\
<Name>BARCODE</Name>\
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
<LinkedObjectName></LinkedObjectName>\
<Rotation>Rotation0</Rotation>\
<IsMirrored>False</IsMirrored>\
<IsVariable>True</IsVariable>\
<Text></Text>\
<Type>Code39</Type>\
<Size>Medium</Size>\
<TextPosition>Bottom</TextPosition>\
<TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<TextEmbedding>None</TextEmbedding>\
<ECLevel>0</ECLevel>\
<HorizontalAlignment>Center</HorizontalAlignment>\
<QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />\
</BarcodeObject>\
<Bounds X="331" Y="178" Width="4260" Height="420" />\
</ObjectInfo>\
这是我想要在条形码中显示的项目。我通过将以下内容添加到XML中解决了这个问题:
<ObjectInfo>\
<BarcodeObject>\
<Name>BARCODE</Name>\
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
<LinkedObjectName></LinkedObjectName>\
<Rotation>Rotation0</Rotation>\
<IsMirrored>False</IsMirrored>\
<IsVariable>True</IsVariable>\
<Text></Text>\
<Type>Code39</Type>\
<Size>Medium</Size>\
<TextPosition>Bottom</TextPosition>\
<TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
<TextEmbedding>None</TextEmbedding>\
<ECLevel>0</ECLevel>\
<HorizontalAlignment>Center</HorizontalAlignment>\
<QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />\
</BarcodeObject>\
<Bounds X="331" Y="178" Width="4260" Height="420" />\
</ObjectInfo>\
哪一项是我想要的条形码。Dymo LabelWriter 450。2016年,这台打印机和文档让世界变得天翻地覆。这是一场地狱和噩梦。Dymo?请好好记录它
第1步:
A) 获取最新版本的Javascript库和驱动程序
B) 旧版本都是螺丝钉,完全浪费时间。
C) 更好的起点:
第二步:复制粘贴,然后微笑
函数startupCode(){
var printers=dymo.label.framework.getPrinters();
if(printers.length==0)
抛出“未安装DYMO打印机。安装DYMO打印机。”;
dymo.label.framework.getPrinterAsync().then(函数(打印机){
//成功的结果是,printers变量具有DYMO标签框架支持的所有文件的列表
控制台日志(打印机);
}).thenCatch(函数(错误){
//错误
});
var-labelXml=\
\
景观\
地址\
30252地址\
\
\
\
\
\
条形码\
\
\
\
旋转0\
假的\
真的\
\
代码39\
中等\
底部\
\
\
没有\
0\
居中\
\
\
\
\
';
var label=dymo.label.framework.openLabelXml(labelXml);
label.setObjectText(“条形码”,“000220200”);
label.print(“DYMO LabelWriter 450”);//这是我找到的打印机的名称
}
函数frameworkInitShim(){
dymo.label.framework.trace=1;//true
dymo.label.framework.init(startupCode);
}
window.onload=frameworkInitShim;
步骤3:打印正确,控制台输出正确,可以进行调试。
Dymo LabelWriter 450。2016年,这台打印机和文档让世界变得天翻地覆。这是一场地狱和噩梦。Dymo?请好好记录它
第1步:
A) 获取最新版本的Javascript库和驱动程序
B) 旧版本都是螺丝钉,完全浪费时间。
C) 更好的起点:
第二步:复制粘贴,然后微笑
函数startupCode(){
var printers=dymo.label.framework.getPrinters();
if(printers.length==0)
抛出“未安装DYMO打印机。安装DYMO打印机。”;
dymo.label.framework.getPrinterAsync().then(函数(打印机){
//成功的结果是,printers变量具有DY支持的所有文件的列表