【问题标题】:Print a page on local using php (javascript) without Windows print dialog box在没有 Windows 打印对话框的情况下使用 php (javascript) 在本地打印页面
【发布时间】:2011-05-03 22:22:31
【问题描述】:

我正在为一家商店开发内部网。我需要通过单击 php 页面上的提交按钮来打印收据。我不想看到 Windows 打印对话框。

我该怎么做。我需要一些建议

我将使用 Windows XP,我可以完全控制该应用程序将运行的系统,可以安装或使用任何应用程序/插件/漏洞等来帮助删除打印对话框。

问候

【问题讨论】:

  • 由于 Javascript 沙盒,如果您的要求是不可能的,我不会感到惊讶。
  • 我可以完全控制该应用程序将运行的系统,可以安装或使用任何应用程序/插件/漏洞等来帮助删除打印对话框。

标签: php javascript windows printing


【解决方案1】:

我使用 PHP 编写的车间订单系统执行此操作,它通过 jquery 使用打印对话框。 您可以使用 about:config 页面绕过 Firefox 打印对话框。

  • 打开 Firefox 并在地址栏中输入 about:config 并按回车键(您需要单击显示的按钮以表明您知道自己在做什么)
  • 在顶部的过滤框中键入 print.always_print_silent 如果您已经有一个条目并将其设置为 false,只需右键单击它并选择“切换”将其设置为 true。 如果那里还没有条目,请继续...
    • 右击屏幕并选择New->boolean
    • 在询问时输入 print.always_print_silent 作为首选项名称,然后按 Enter
    • 将布尔值设置为true并按回车

就是这样,打印时您将不再看到该对话框。但请注意,它会尝试打印到您打开对话框时使用的最后一台打印机。如果您需要更改它,则需要按照上述步骤切换 print.always_print_silent 的值。

【讨论】:

  • Omg Tanks 非常感谢这个答案。我应该对此投票 10 次吗?我在 FF9.x 上完美运行。只有一个缺点是您不能再为该页面更改打印机,只能将此键设置为 false,设置新打印机,然后再次设置为 true。此外,未经测试,但如果恶意站点出于任何原因向您的浏览器发送打印事件,可能会导致不良影响。:(
【解决方案2】:

您无法绕过打印对话框,如果可能的话,广告商会将传单打印到您的打印机上。

【讨论】:

    【解决方案3】:

    Javascript只能用window.print()触发打印功能,不能改变浏览器的工作方式。

    【讨论】:

      【解决方案4】:

      您不能简单地传递pring 对话框。我不知道这样的功能,但可以使用 JAVA。

      【讨论】:

        【解决方案5】:

        假设您将打印机连接到服务器,您可以将收据/文档呈现为 PDF 文件,将其写入临时目录并使用“shell_exec”函数进行打印。 shell_exec 函数从命令行执行命令。由于 Windows 有一个叫做命令行的东西,所以它很有用。

        请注意,您需要安装可以从命令行打印 PDF 的程序或批处理文件。这样的批处理文件可以在here找到。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-04
          • 2010-09-29
          相关资源
          最近更新 更多