首页 > 解决方案 > 无法使用 Print Js 打印 PDF 文件

问题描述

下面给出的是我试图从中打印 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”访问“file:///test.pdf”处的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、chrome-untrusted、 HTTPS。

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

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

标签: node.jspdfprintjscross-origin-resource-policy

解决方案


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

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


推荐阅读