【问题标题】:Can't figure out how to pass copies to DYMO.Label.Framework.3.0.js SDK无法弄清楚如何将副本传递给 DYMO.Label.Framework.3.0.js SDK
【发布时间】:2019-02-22 12:04:41
【问题描述】:

我已经在互联网上搜索了三周,并且已经等待了 10 天让 Dymo 工程部门回答我关于设置要打印的份数的问题。

这是我的帖子: http://developers.dymo.com/2018/05/29/updated-js-sdk-and-dls/#comment-85589

我收到了工程人员的回复,并被告知转到此页面。 http://labelwriter.com/software/dls/sdk/docs/DYMOLabelFrameworkJavaScriptHelp/symbols/dymo.label.framework.ILabel.html#print

我所有的问题都将通过这个页面来回答。哈!

在页面上,有这个条目。 {string} printParamsXml 打印参数,例如份数、打印质量等。参见 PrintParams.xsd。 http://labelwriter.com/software/dls/sdk/PrintParams.xsd

对我来说,这只是一个 XML 页面。它没有告诉我如何传递所需的信息

w("dymo.label.framework.createTapePrintParamsXml",function(a){if(!a)return"";var b=R("<TapePrintParams/>"),d=b.documentElement;a.copies&&S(d,"Copies",a.copies.toString());a.jobTitle&&S(d,"JobTitle",a.jobTitle);a.flowDirection&&S(d,"FlowDirection",a.flowDirection);a.alignment&&S(d,"Alignment",a.alignment);a.cutMode&&S(d,"CutMode",a.cutMode);return ie(b)});

http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.3.0.js里面。

我正在调用第 402 行的函数 https://github.com/juggernautsei/dymo-print-logic/blob/juggernautsei-patch-3/PrintMeThatLabel.js

但是当我打印时,只打印了一个标签。我必须备份并让您知道我还发现了什么。

http://labelwriter.com/software/dls/sdk/docs/DYMOLabelFrameworkJavaScriptHelp/symbols/dymo.label.framework.html#.printLabel

dymo.label.framework.printLabel(打印机名称,printParamsXml,labelXml,labelSetXml) 打印一个或多个标签。

我已将代码设置为此。

            var labelSet = new dymo.label.framework.LabelSetBuilder();
            var params = dymo.label.framework.createLabelWriterPrintParamsXml({Copies:copies});

            labelSet.addRecord().setText(objName, text);


            // print
            //label.print(printer.name, null, labelSet.toString());
            // print and get status
            var printJob = label.printAndPollStatus(printer.name, params.copies, labelSet.toString(), function(printJob, printJobStatus)
            {

我仍在获得一个标签。好像我有拼图的所有部分,但无法完成图片。帮助...请。

【问题讨论】:

  • 在朋友的帮助下解决了这个问题。将此 ({Copies:copies}) 更改为 ({copies:copies}) 并将此 params.copies 更改为此参数

标签: javascript php sdk


【解决方案1】:
var params = dymo.label.framework.createLabelWriterPrintParamsXml({copies:2,twinTurboRoll:'Right',printQuality:'Text'});                
//now params contains <LabelWriterPrintParams><Copies>2</Copies><PrintQuality>Text</PrintQuality><TwinTurboRoll>Right</TwinTurboRoll></LabelWriterPrintParams>
var printJob = label.printAndPollStatus(printer.name, params, labelSet.toString(), function(printJob, printJobStatus)
{
    // output status
    var statusStr = 'Job Status: ' + printJobStatus.statusMessage;

    var result = (printJobStatus.status != dymo.label.framework.PrintJobStatus.ProcessingError 
    && printJobStatus.status != dymo.label.framework.PrintJobStatus.Finished);

    // reenable when the job is done (either success or fail)
    printButton.disabled = result;

    //if (!result)
    //    statusStr = '';

    setTextContent(jobStatusMessageSpan, statusStr);

    return result;

}, 1000);

它与 DYMO labelWriter 无线打印机配合得非常好

【讨论】:

  • 点评来源: 您好,请不要只回答源代码。尝试对您的解决方案如何工作提供一个很好的描述。请参阅:How do I write a good answer?。谢谢
  • 关于批量打印的问题的答案是它与任何其他批量打印的工作方式相同。您可以设置要打印的份数。这不是一劳永逸的。安装的客户端应用程序类似于打印驱动程序。 (我对它在做什么的解释)与云的连接允许进行打印,就好像它来自本地应用程序一样。
猜你喜欢
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2022-07-16
  • 2017-09-28
  • 2020-03-03
  • 2018-08-15
  • 2017-11-12
  • 2014-12-18
相关资源
最近更新 更多