静默打印不同的 shell_exec 与手动命令行

问题描述 投票:0回答:1

我想使用静默打印通过网站在本地自动打印标签。我的 PHP 脚本在 Windows 上使用 XAMPP 运行。

<?php
ob_end_clean();
ignore_user_abort();
ob_start();
header("Connection: close");
header("Content-Length: " . ob_get_length());
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://xxx");
ob_end_flush();
flush();

$target = __DIR__ . "\\testToPrintDyn.pdf";
move_uploaded_file($_FILES['file']['tmp_name'], $target);

$printer = $_POST['printer'];

$commandText = '"C:\\Program Files (x86)\\Foxit Software\\Foxit PDF Reader\\FoxitPDFReader.exe" /t "'.$target.'" "'.$printer.'"';

file_put_contents("print.txt", $commandText);

shell_exec($commandText);
?>

运行此脚本,标签将旋转 90° 打印。当我将“print.txt”的内容手动复制到命令行时,所有内容都打印良好。使用“exec”会得到相同的 90° 结果。

有人对我如何继续这里以更接近问题有任何想法吗?非常感谢!

php xampp shell-exec
1个回答
0
投票

如果您想从 PHP 打印到标签打印机,请勿使用提供的软件。而是将原始数据打印到打印机使用的端口(虚拟端口或其他端口)。

如果您的打印机是 USB,请将其设置为支持网络的打印机,设置共享名称,这就是您打印的目标。

我最近为一家因网络故障而无法打印标签的公司编写了一个离线标签打印网页。

HTH

© www.soinside.com 2019 - 2024. All rights reserved.