我正试图使用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的说明,StartPrintJobEndPrintJob包装Print是因为它更快。

10-07 20:16