2012-04-16 106 views
2

我正在嘗試使用Dymo示例頁面在基於Python/Qt的應用程序中從QWebview中打印標籤。該示例在主要瀏覽器中正常工作(IE,FF,Chrome已經過測試)。然而,當示例頁面中QWebview被加載,我得到以下錯誤:來自QWebview的Dymo標籤打印機?

DYMO.Label.Framework.js line 1: Error: DYMO Label Framework Plugin is not installed

我不確定爲什麼它會在另一個瀏覽器工作正常,但不是在我的應用程序的Web視圖。將這些Dymo示例加載到webview中的正確方法是什麼?

這是樣板頁面,在主流瀏覽器的工作原理是在QWebview失敗(你需要一個戴莫打印機打印,否則它會用一個警告,告訴沒有發現打印機加載):http://labelwriter.com/software/dls/sdk/samples/js/PreviewAndPrintLabel/PreviewAndPrintLabel.html

當我在web視圖加載它,我甚至不得到警報(因爲上面的錯誤是第1行發現這是有道理的)。

回答

5

我與供應商發言,被告知,這是不支持使用他們的軟件。因此,我沒有使用QWebView,而是使用win32com包來使用Dymo的SDK來完成此任務。下面的代碼使用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() 

StartPrintJobEndPrintJob包裹Print,因爲它根據SDK筆記更快。