google-chrome - Chrome 77 不能自动打印 PDF
问题描述
Chrome 77 已停止尊重print()
PDF 中嵌入的 JS 以在加载 PDF 后启动/打开打印对话框。
例如,在 Firefox、Chrome 76 或 Acrobat 中打开以下文件,您将看到打印对话框出现。在 Chrome 77 中它不再出现。具体来说,就我而言,我在其他三台计算机上进行了测试,版本为 77.0.3865.75。
https://cdn.dealrcloud.com/assets/test/Invoice-1003.pdf
这是一个我们可以调整/修改的新设置,还是一个永久性的重大更改,会阻止我们为 Chrome 客户端自动触发打印对话框?
解决方案
好,朋友们。我遇到了同样的问题,自动打印 pdf 功能无法在多台笔记本电脑上运行。这个特性对我们的几个项目非常重要,所以我认为 Chrome 77 的这个解决方法可能对社区也很有帮助:
var loadPDFAndPrint = function (id, url) {
$("#"+id).remove();
$("<iframe id='"+id+"' name='"+id+"'>")
.hide()
.attr("src", url)
.appendTo("body");
$("#"+id).on("load", function(){
function getChromeVersion () {
var raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
return raw ? parseInt(raw[2], 10) : false;
}
if (getChromeVersion() >= 77) {
window.frames[id].focus();
window.frames[id].print();
}
})
}
此代码需要 jQuery,但您可以轻松地将其调整为您想要的任何 js 风格。
干杯!
推荐阅读
- excel - Excel:不确定如何解决错误 MdxScript(Model) (6,55) 刷新数据透视表时出现计算错误
- firebase - Flutter - 检查 Facebook 登录是新用户还是现有 Firebase
- postgresql - psql给出虚假错误
- python - 使用 pymongo 转换 Mongodb 类型的 Sql 查询
- sql - 在 SQL 中,当城市在一年内没有销售时,我如何显示城市的销售量为 0。我有城市表和交易表
- python - 如何将 pip install -i https://test.pypi.org/simple/ PACKAGE-NAME 更改为 pip install PACKAGE-NAME
- javascript - 页面加载时 WordPress (jQuery) 侧边栏菜单不展开
- git - 如何从 Azure Pipelines YAML 中的多个 git 存储库中按标签提取?
- r - 在 pivot_longer 之后重新排序 ggplot 中的条形图
- python - 如何获取熊猫中不同列的日期格式