簡體   English   中英

從本地服務器訪問本地網絡上的客戶端打印機

[英]access clients printer on local network from a local server

我正在通過路由器和以太網電纜連接兩台計算機來測試一個網站,其中一台PC上具有WAMP網站並充當服務器。

一切都很好並且可以工作,但是有一個問題。 我已經寫了PHP來通過熱敏打印機打印最終收據,當在通過USB連接該熱敏打印機的服務器計算機上打印時,它可以完美地工作。
現在的問題是,當第二台作為客戶端的計算機訪問網站時,它將如何通過通過USB連接到它的熱敏打印機打印收據? 服務器找不到與客戶端連接的打印機。

當然,如果我想訪問客戶端的打印機,我認為JavaScript是最好的方法,但這有一個很大的缺陷。
當我使用window.open()在新窗口中加載可打印內容時,然后向其中寫入數據。 然后我打電話給window. print(); window. print(); 並且確實會打印內容,但不會停止。 在收據上打印數據后,它將繼續將空的收據推出打印機,並且永不停止。

PHP可以正常工作,它只打印數據然后停止,這樣我就可以撕下收據。 使用JavaScript時,為什么打印機在打印數據后不停下來。

請幫忙。 這是剩下的唯一一件事。

回答空白頁;
該問題可能是由於在打印頁面之前關閉窗口導致頁面的內存被釋放並導致打印空白。

您可以按以下方式關閉窗口;

<script type="text/javascript">
window.print();
window.onfocus=function(){ window.close();}
</script>

用於從其他計算機上打印;

您可以與客戶端共享打印機並將其設置為默認打印機。
對於靜音打印, 請參見此答案

好的,我找到了解決方案。 熱敏打印機具有四個基本功能

1-讀取數據

2-在紙上打印

3-確定要出紙的長度

4-打印完成后切紙。

我嘗試使用window.print()來完成此操作,因為我找不到任何有關“使用php從本地服務器打印到客戶端打印機的信息”。

使用谷歌瀏覽器,發生了什么

單擊打印預覽按鈕后,它向我顯示了數據縮小到幾乎看不到的程度。 更具體地說,數據看起來像一條黑色的粗線,其余部分是長長的白頁,幾乎沒有無限滾動。 按下“打印”按鈕后,打印機開始打印,直到競爭紙卷完成后才停止打印。 紙頭包含實際數據,而整個較大長度的其余部分為空白。

使用Internet Explorer甚至比Google chrome更糟,因為即使卷完成后,它仍在繼續要求新紙卷以打印更多白色的空白頁...

然后我遇到了冠軍。 火狐瀏覽器。 當我單擊“打印預覽”按鈕時,它向我顯示了要放入數據的紙張的確切尺寸……而我最不希望的是,Firefox在完成打印收據時調用了剪切功能()熱敏打印機的功能是切割收據,以便可以輕松地從中拔出收據。

然后在Firefox的搜索欄中輸入about:config並搜索“打印”。 看到如此眾多的打印選項令我感到非常驚訝,它比我希望從瀏覽器頁面打印的收據中看到的更多。 我可以從字面上設計收據模板並保存。 之后,我將打印收據並將其打印在該模板中。

謝謝你們看着我的問題。 希望這可以幫助某人...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM