2014-01-16 126 views
0

我已經創建了一個簡單的asp.net應用程序,該應用程序從生產線上的用戶處獲取輸入,然後需要生成5個條形碼並將其打印出來。當數據輸入並通過網頁表格插入時,我有vbhtml頁面自動生成條形碼。他們打開並顯示條形碼。 我需要它們在頁面打開時自動打印,方法是跳過打印對話框並直接轉到默認打印機。自動打印沒有打印對話框的vbhtml頁面

我已經研究了JS window.print()和幾個JQuery插件,但我無法完全獲得我的解決方案。 條形碼將在網頁中每個碼開:

這只是一個內部公司網路

下面是詳細信息上使用。每個條形碼將打印到不同大小的標籤。 標籤大小將保存爲打印機中的命名佈局,我想在打印時定義紙張佈局。

+0

我以跨瀏覽器的方式解決了一個類似的問題,將標籤(在我的情況下)放入pdf中,並將JavaScript嵌入到pdf中,以便打開時打印 - 然後如果瀏覽器默認打開PDF它在我們控制的機器上),強制下載PDF導致它被打印。 – Basic

+0

感謝您的信息。我正在考慮這條路線 – Ryan

回答

1

如果您是/可以使用Firefox,則有一個plug in,它允許無需打印對話框的無人值守打印。

我也看過,你可以在IE中做到這一點,但需要的ActiveX,例如:

<script language=JScript> 
function doprint() { 
document.body.insertAdjacentHTML("beforeEnd", "<object id='idWBPrint' width=0 height=0 classid='clsid:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"); 
idWBPrint.ExecWB(6, -1); 
idWBPrint.outerHTML = ""; } 
</script> 
在VBScript

或者相似:

<script language='VBScript'> 
Sub Print() 
     OLECMDID_PRINT = 6 
     OLECMDEXECOPT_DONTPROMPTUSER = 2 
     OLECMDEXECOPT_PROMPTUSER = 1 
     call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1) 
End Sub 
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>" 
</script> 

該子打印有效地替換默認的打印功能。所有你需要在Javascript是...

window.print(); 

還有一個commercial product可能有所幫助。

+0

謝謝約翰,我添加了一些更多的信息到我的文章。你給我的解決方案看起來很有希望。 – Ryan