我知道您可以使用 printer_write 函数在连接到服务器的打印机上使用 PHP 打印文本。但是您可以使用此功能打印位于服务器上的 pdf 文件吗?
提前致谢!
是的,这是可能的,但它很麻烦。我们最近构建了一个应用程序,需要使用 PHP 为客户打印标签。我们决定使用 Windows 服务器和具有自己的打印软件的打印机。
这是我们最终用于打印生成的标签的代码:
system('"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" /p "C:\www\pdf\label.pdf"');
请注意,这是针对特定打印机和平台的非常特定的解决方案。具有适当 Linux 驱动程序的打印机或其他 Windows 打印机的类似解决方案应该可以正常工作,前提是它们具有通过命令行处理文件的类似方式。
花了很多时间修修补补,但我终于想出了:
exec("\"C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe\" /t \"C:\\PathToPDF.pdf");
我无法让福昕在 Brother 打印机上使用较小的标签尺寸,它会默认为 4x6" 标签并导致错误。(使用 Brother QL-1060N)。--不过,我必须注意它可以正常工作使用默认标签大小。
我使用 Adobe Reader 9 解决了这个问题,并在服务器计算机上始终保持打开状态,并使用适当的打印设置。我使用 9 是因为出于某种原因,Adobe Reader X 在第一个标签之后的每个标签上都会减少 1 个 ACSII 字符。(例如 1=2、8=9、=!)。
谢谢卡尔。我希望这对未来的读者很有用!=)
快乐编码