我还管理一个执行这些任务的仓库系统。我不会声称以下解决方案是最好的方法,但它们一直在为我们工作。我们的系统是在使用 Apache 的 Windows 服务器上使用 PHP 5.3 构建的。使用此设置,用户无需从浏览器打印任何内容,所有内容都在服务器端处理。
要求:Apache 需要以管理员权限运行。可能不推荐用于面向 Web 的服务器。
通过 PHP 在 Windows 上打印 PDF:
$file = "c:\\path\\to\\file.pdf";
$exec = '"C:\\Program Files\\bioPDF\\Acrobat Wrapper\\acrowrap.exe" /t ';
session_write_close(); // prevents hanging
pclose(popen($exec. $file . " \\networked\\printer",'r'));
这只是启动阅读器,打印文件,然后关闭阅读器。
在 Linux/Mac 上,您应该能够使用(没有管理员权限):
$file = "/path/to/file.pdf";
$command = "lpr -P /printer/path " . $file;
exec($command);