node.js - 无法使用 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
解决方案
这是关于“跨源请求”的问题。要解决此问题,您需要启动本地服务器。在我的情况下,我启动了 Xampp 并将我的文件移动到 htdocs 文件夹和 BOOM 它工作。我仍然不知道为什么它适用于图像而不是 pdf。
这是帮助我的堆栈溢出的答案。 https://stackoverflow.com/a/20578692/10333164
推荐阅读
- c++ - 使用从源代码构建的 clang-11 编译 hello world 失败
- openshift - 如何在 Cloudflare Proxy 后面使用 Openshift?
- class - 如何覆盖 cakephp4 中 src 文件夹中的供应商插件类文件
- flutter - Flutter:'package:flutter/src/cupertino/route.dart':断言失败:第 660 行 pos 12:'_backGestureController != null':不正确
- javascript - 基于循环的扩展算法
- java - 解决 spark core 和 azure key vault 依赖项之间的番石榴冲突
- flutter - Flutter App开发中的VS Code调用堆栈行
- neo4j - 在查询结果中分离匹配节点
- python - 为什么不能直接等待 python 协程对象?
- oracle - Oracle CASE 语句优化