是否有php7打印机扩展/ DLL?

时间:2016-07-19 15:45:16

标签: php printing

php 7是否有任何打印机扩展程序?或者有人可以提供工作解决方案如何打印表单PHP?或者我应该使用套接字?我从5.6尝试了dll,但它不起作用(

1 个答案:

答案 0 :(得分:0)

要使其源代码可用于构建除the common tasks之外的可用扩展,还有很多工作要做。有some replacements可以完成,其他问题涉及查找如何处理不再使用的变量和当前无效的语法。这是一个非常过时但有用的扩展。我也试图自己做,但没有成功(it builds but it doesn't work)。

我发现并且仍然在POS(收据)打印机中使用的最简单方法只是

system("(echo ".$TextToBePrinted.") >\\\\MachineNameOrPreferablyFixedIp\\PrinterNetworkName");

每次需要换行时。 Null和newLine字符确实可以在包含整个自定义文本的单个命令中发送,但它非常挑剔。对于相同类型的打印机,可以使用esc-pos php library

注意:无论是本地打印机,如果用作" \\ 127.0.0.1 \ PrinterNetworkName",都必须共享并更好。 PrinterNetworkName避免使用与文件相同的无效字符,因此" Generic / Text Only"必须以" \\ 127.0.0.1 \ Generic Text Only"。

进行访问

Simmilar常用打印机的替代方案包括使用dosprn和fwrite,或者再次,system("echo ...");使用COMn / LPTn伪造或真实端口,或者,如果您不在乎:创建,编写和system("print ...");文件,其中包含您提供的文件名的正确关联扩展名。

对于硬编码器,您可以构建二进制(.exe)来监听自定义端口或直接使用system(...);调用二进制文件并打印。使用boost对c ++来说并不那么难。真正的硬核决定是构建一个dll扩展(顺便说一句:C ++ windows api包含用于打印的simmilar功能,如php在其扩展中用于管理纸张和字体大小,样式等)。

PHP和dll在版本中使用不同的fisrt两个数字不起作用。所以不要试图让它成为现实。