gpt4 book ai didi

php - 使用php socket编程操作打印机

转载 作者:行者123 更新时间:2023-12-03 11:54:21 35 4
gpt4 key购买 nike

如何仅使用套接字程序来操作打印机。
当我尝试杯子,带有php的IPP和Windows中的printer_open函数时
但我担心的不是要依赖Linux,window等平台。
它应该独立于平台。

下面是创建打印机套接字的代码。

代码没有经过优化,但是可以成功打印文本。
唯一的问题是我无法检查打印作业状态。

<?php
$host = "printer_ip";
$port = 9100; //default listening port for printer
$message = "This text is going to print by printer";
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
if(!$socket){
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
socket_close($socket);
die("Could not create socket: [$errorcode] $errormsg\n");
}
// connect to server
$result = socket_connect($socket, $host, $port);
if(!$result){
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
socket_close($socket);
die("Could not connect to server: [$errorcode] $errormsg\n");
}
// send string to server
$socket_wrt = socket_write($socket, $message, strlen($message));
if(!$socket_wrt){
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
socket_close($socket);
die("Could not send data to server: [$errorcode] $errormsg\n");
}
// get server response
$result = socket_read($socket, 1024);
if(!$result){
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
socket_close($socket);
die("Could not read server response: [$errorcode] $errormsg\n");
}
echo "Reply From Server:".$result;
// close socket
socket_close($socket);
?>

编辑:

$result = socket_read($socket, 1024);

没有提供任何数据。
由于打印机闲置并且除我以外没有人在使用,因此这就是在每个请求打印机上打印的原因
数据很容易,没有任何连接拒绝。
当回显socket_read响应时,并不会打印连接的数据“来自服务器的答复”。
任何帮助都会对我有很大帮助。

最佳答案

如果您可以从JetDirect(端口9100)切换到标准LPR,则此方法可以为您提供帮助。
http://www.phpclasses.org/package/2540-PHP-Abstraction-for-printing-documents.html

最初是从:
printing over network from PHP app

关于php - 使用php socket编程操作打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446177/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com