javascript - 通过 iframe 获取和打印 PDF 文件会产生白页
问题描述
我在 Chrome 上以编程方式打印 pdf 文件时遇到问题。我需要通过用户操作以 URL 作为源来运行打印。
我使用 fetch 方法获取数据,然后通过 iframe 启动展示。
这会产生一个空文件(result)。
我发现了一个产生相同问题的 codepen 项目(不是我的)https://codepen.io/Edo_M/pen/PjdKEd。
fetch('https://media.readthedocs.org/pdf/flask-cors/latest/flask-cors.pdf').then(function (response) {
return response.blob();
}).then(function (myBlob) {
var objectURL = URL.createObjectURL(myBlob);
document.querySelector('#pdf-frame').src = '';
document.querySelector('#pdf-frame').src = objectURL;
objectURL = URL.revokeObjectURL(myBlob);
}).then(
function () {
window.setTimeout(function () {
document.querySelector('#pdf-frame').contentWindow.print();
}, 1000)
});
有什么想法可以解决这个问题吗?
谢谢你的帮助!
解决方案
推荐阅读
- android - 将 getActivity 作为 LifecycleOwner 传递给片段中 LiveData 的观察方法的原因是什么?
- python - Python print 语句在我的函数结束时不打印任何内容
- android - 在 Termux 上安装 apk 并等待它完成或检查 apk 是否已安装
- r - 如何在R中按行格式化数据表
- mysql - Mysql - 查询特定日期
- java - spring boot:如何为列值加密设置db2加密密码
- java - Eclipse IDE进程间死锁,不断重启和休眠,进度永不解决
- angular - Angular AOT 编译失败,因为“无法为属性构造查询..”
- ios - iOS webview CSS hack
- python - 如何使用点运算符在python中传递多个参数