我正试图使用Dymo示例页面从基于Python/Qt的应用程序中的QWebview打印标签。该示例在主要浏览器中运行良好(即,FF,Chrome已经过测试)。但是,当在QWebview中加载示例页面时,会出现以下错误:DYMO.Label.Framework.js line 1: Error: DYMO Label Framework Plugin is not installed
我不确定为什么它会在另一个浏览器中正常工作,但在我的应用程序的web视图中不会。将这些Dymo示例加载到webview中的正确方法是什么?
这是在QWebview中的fails在主要浏览器中工作的示例页面(您需要一台Dymo打印机来打印,否则它将加载一个警告,告诉您找不到打印机):http://labelwriter.com/software/dls/sdk/samples/js/PreviewAndPrintLabel/PreviewAndPrintLabel.html
当我在webview中加载它时,我甚至没有收到警报(这是有意义的,因为上面的错误出现在第1行)。
最佳答案
我和供应商谈过,他们告诉我这不是他们软件的支持使用。因此,我没有使用QWebView,而是使用了Dymo的SDK的win32com
包来完成这项工作。下面的代码使用Dymo LabelWriter打印一个带有1个变量字段的标签。
from win32com.client import Dispatch
labelCom = Dispatch('Dymo.DymoAddIn')
labelText = Dispatch('Dymo.DymoLabels')
isOpen = labelCom.Open('test.label')
selectPrinter = 'DYMO LabelWriter 450'
labelCom.SelectPrinter(selectPrinter)
labelText.SetField('VAR_TEXT', 'QGJ2148')
labelCom.StartPrintJob()
labelCom.Print(1,False)
labelCom.EndPrintJob()
根据SDK的说明,
StartPrintJob
和EndPrintJob
包装Print
是因为它更快。