繁体   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