【发布时间】:2015-11-20 12:43:49
【问题描述】:
我正在开发一个相当大的 eWeb 工具,其中包含大量 .js 和 .php 文件,并且该工具是由我无法接触到的其他人开发的。
假设客户购买了一些东西,最后,作为卖家,我应该通过单击某个表格中的“确认订单”按钮来确认客户的购物。现在,当我单击确认按钮时,我想打印一个 PDF 文件(位于我的本地磁盘或 eWeb 工具的服务器上,取决于难度)。当我直接调用它时,我可以通过在本地主机中的 PHP 代码访问打印机并打印 PDF 文件:
<?php
$printer ="HP Officejet Pro X476dw MFP PCL 6 (Network)";
$path = "C:/Test_PDF/TestPDF.pdf";
$fileName = "TestPDF.pdf";`
if($ph = printer_open($printer)) {
$filecontents = file_get_contents($path);
printer_set_option($ph, PRINTER_MODE, "RAW");
printer_write($ph, $filecontents);
printer_close($ph);
}
?>
现在,当我点击“确认订单”按钮时,我想要从网络工具中打印 PDF 文件!我不想将 PDF 文件加载到隐藏的 iframe 中或将其嵌入某处,因为正如我之前所说,该工具非常大,我暂时不想在其他地方造成任何问题。
谁能给我一些关于解决方案的想法吗?
【问题讨论】:
-
您无法将订单发送到客户端打印机。如果它在localhost中工作是相对正常的,但http服务器客户端下的客户端决定。您可以调用 print() javascript 函数来打开浏览器的打印对话框,但是您不能连接到远程打印机并向其发送自定义订单,因为这将是一个主要的安全漏洞。
-
@MarcosPérezGude 只有一个人(确认订单)在使用此工具,并且他一直使用同一台计算机。客户无法使用我提到的工具。
-
也在本地主机中吗?
-
你说“也在 localhost 中是什么意思?” ?为了进行测试,我在本地主机中使用了该 php 代码,当我调用它时,它会执行我想要的操作。但该工具当然是在另一个域上。
标签: javascript php pdf