从Javascript文件调用x.php文件

从Javascript文件调用x.php文件,javascript,php,pdf,Javascript,Php,Pdf,我正在开发一个相当大的eWeb工具,其中包含许多.js和.php文件,这个工具是由其他人开发的,我无法访问 假设一个顾客买了一些东西,最后,作为一个卖家,我应该通过点击一些表格中的“确认订单”按钮来确认顾客的购物。现在,我想打印一个PDF文件,该文件位于我的本地磁盘或eWeb工具的服务器上,具体取决于单击“确认”按钮时的难度。当我直接调用本地主机时,我可以通过以下PHP代码到达打印机并打印PDF文件: <?php $printer ="HP Officejet Pro X476dw

我正在开发一个相当大的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中,也不想将其嵌入到某个地方,因为正如我之前所说的,该工具非常大,我现在不想在其他地方造成任何问题


有人能给我一些关于解决方案的想法吗?

假设PHP是一种服务器端语言,正如一些人之前所说,您不能向客户端发送打印请求。请求源于服务器,因此

您可以做什么:

1.-在网页中加载pdf

2.-按如下方式处理车身空载:

这样,客户端将使用它的打印机(如果有的话)

我知道你不想在网页中加载pdf,但是。。。这似乎是唯一的解决办法


p.D.:我不确定您是要为客户还是卖家打印收据。更好地解释一下,我会尽力帮助您:

您不能向客户打印机发送订单。如果它在localhost中工作是相对正常的,但由http服务器客户端下的客户端决定。您可以调用print javascript函数打开浏览器对话框进行打印,但您不能连接到远程打印机并向其发送自定义订单,因为这将是一个严重的安全漏洞。@MarcosPérezGude只有一个人确认订单时使用此工具,他一直使用同一台计算机。客户无法访问我提到的工具。是否也在localhost中?您说“也在localhost中”是什么意思?为了进行测试,我在本地主机中使用了该php代码,当我调用它时,它会执行我想要的操作。但该工具当然位于另一个域中,而不是由客户端打印pdf文件。客户只是在网上下订单,然后我作为管理员登录系统,确认客户的订单。我想要的是:当我点击按钮确认订单时,直接打印一个pdf文件。假设你有一个名为abc.com的电子商务网页,客户在那里下了一些订单。客户完成订单后,作为卖家,您将登录管理系统,并将其命名为“service.abc.com”,从那里您可以在表单中查看客户及其订单的所有信息。然后,您应该通过单击“确认”按钮来确认客户的订单。我想要的是,当我点击“确认”按钮时,也会触发打印功能。此触发器应通过将pdf文件发送到本地打印机来打印始终相同的文件。上面的代码同样适用于您,因为尽管您是管理员,但主机在其他地方。正当如果你不想让它变得复杂,只需在确认后添加一个链接到pdf,并附上我给你的提示。
<body onload="window.print();">