无法使用 Print Js 打印 PDF 文件

时间:2021-05-31 10:12:08

标签: node.js pdf printjs cross-origin-resource-policy

下面给出的是我试图从中打印 pdf 文件的代码。

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script type="text/javascript" src="print.min.js"></script>
  <link rel="stylesheet" type="text/css" href="print.min.css">
</head>
<body>
  <script type="text/javascript">
    function sample(){
      printJS({
        printable: "test.pdf",
        type: "pdf",
      });
    }
  </script>
  <button onclick="sample()">Click Me</button>
</body>
</html>

但它无法正常工作并在 chrome 控制台上出现错误

从源 'null' 访问 XMLHttpRequest at 'file:///test.pdf' 已被 CORS 策略阻止:跨源请求仅支持以下协议方案:http、data、chrome、chrome-扩展程序,不受 chrome 信任,https。

我遵循 Print-js 文档中的所有规则。我的 {.pdf} 文件和 {.html} 文件在同一个文件夹中。使用 {.jpg} 文件工作正常。 请帮帮我。

我正在分享包含在我的 head 标签中的脚本的链接 JS:- https://printjs-4de6.kxcdn.com/print.min.js CSS:- https://printjs-4de6.kxcdn.com/print.min.css

1 个答案:

答案 0 :(得分:0)

这是关于“跨源请求”的问题。要解决此问题,您需要启动本地服务器。就我而言,我启动了 Xampp 并将我的文件移动到 htdocs 文件夹,然后 BOOM 就可以了。我仍然不知道为什么它适用于图像而不适用于 pdf。

这是对帮助我的堆栈溢出的答案。 https://stackoverflow.com/a/20578692/10333164