下面给出的是我试图从中打印 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
答案 0 :(得分:0)
这是关于“跨源请求”的问题。要解决此问题,您需要启动本地服务器。就我而言,我启动了 Xampp 并将我的文件移动到 htdocs 文件夹,然后 BOOM 就可以了。我仍然不知道为什么它适用于图像而不适用于 pdf。
这是对帮助我的堆栈溢出的答案。 https://stackoverflow.com/a/20578692/10333164