2010-11-02 70 views
4

我正在開發一個商店的內部網。我需要通過點擊php頁面上的提交按鈕來打印收據。我不想看到Windows打印對話框。在沒有Windows打印對話框的情況下使用php打印本地頁面(javascript)

我該怎麼做。我需要一些建議

我將使用Windows XP,我完全控制了該應用程序將運行的系統,任何應用程序/插件/漏洞利用等都可以安裝或用於幫助刪除打印對話框。

問候

+0

由於使用了Javascript沙箱,如果你所要求的是不可能的,我不會感到驚訝。 – Hammerite 2010-11-02 12:58:32

+0

我完全控制了該應用程序將運行的系統,可以安裝或使用任何應用程序/插件/漏洞利用等來幫助刪除打印對話框。 – emre 2010-11-02 14:14:16

回答

7

我用我用PHP編寫的商店訂單系統執行此操作,它使用jquery的打印對話框。 您可以使用about:config頁面繞過firefox打印對話框。

  • 打開Firefox,把about:config中在地址欄按回車鍵(你需要點擊顯示說你知道你在做什麼的按鈕)
  • 類型print.always_print_silent位於頂部的過濾器框 如果您已經有一個條目並且它已設置爲false,只需右鍵單擊它並選擇「切換」將其設置爲true。 如果沒有條目已經存在然後按照上...
    • 右鍵單擊屏幕並選擇新建 - >布爾
    • 進入print.always_print_silent爲偏好名字的時候問,然後按回車
    • 組布爾值,然後按回車

就是這樣,你將不會再看到該對話框,當你打印。但要小心,它會嘗試打印到打開對話框時使用的最後一臺打印機。如果您需要更改它,那麼您需要按照以上步驟切換print.always_print_silent的值。

+0

Omg坦克這麼多的答案。我應該高興這10次?我在FF9.x上完美工作。只有一個缺點是,您無法再爲該頁面更改打印機,而是將此項設置爲false,設置新的打印機,然後再次設置爲true。此外,未經測試,但如果由於某種原因惡意網站向您的瀏覽器發送打印事件,可能會導致不良後果。:( – 2012-01-11 13:05:40

4

您不能繞過打印對話框,廣告商將被打印傳單到您的打印機,如果這是可能的。

2

Javascript只能觸發打印功能window.print(),但不能改變瀏覽器的工作方式。

0

你不能簡單地通過pring對話框。我不知道這樣的功能,但可以使用JAVA。

0

假設您已將打印機連接到服務器,您可以將收據/文檔呈現爲PDF文件,將其寫入臨時目錄並使用'shell_exec'功能進行打印。 shell_exec函數從命令行執行命令。由於Windows有一些稱爲命令行的東西,它可能是有用的。

請注意,您需要安裝一個可從命令行打印PDF的程序或批處理文件。這樣的批處理文件可以在here找到。

相關問題