使用Print.js打印PDF文件时如何呼出打印对话框选择指定页码
Print.js呼出打印对话框配置方法
1 修正资源引入错误
你当前对CSS资源的引用方式有误,将原本的<script>引入CSS的代码替换为标准的<link>样式引入代码,否则会导致Print.js的模态框无法正常加载:
<!-- 正确的资源引入配置 --> <script src="https://printjs-4de6.kxcdn.com/print.min.js"></script> <link rel="stylesheet" href="https://printjs-4de6.kxcdn.com/print.min.css">
2 调整打印触发配置
你需要的页码范围选择功能是系统原生打印对话框自带的,无需额外开发,根据你的使用场景选择对应配置即可:
场景1:点击按钮先显示Print.js预览模态框,确认后呼出打印对话框
保留showModal:true参数,配置如下:
<button type="button" onclick="printJS({ printable: 'NEWPDF/<%=VAR2%>.pdf', type: 'pdf', showModal: true, modalMessage: '预览完成后点击打印即可呼出设置对话框' })">打印PDF</button>
点击预览模态框的打印按钮后,会自动呼出系统原生打印对话框,此时即可选择需要打印的页码范围。
场景2:点击按钮直接呼出系统打印对话框
删除showModal:true参数即可,配置如下:
<button type="button" onclick="printJS({ printable: 'NEWPDF/<%=VAR2%>.pdf', type: 'pdf' })">打印PDF</button>
3 异常排查
如果配置完成后仍无法呼出打印对话框,检查两个点:
- 确认
NEWPDF/<%=VAR2%>.pdf路径可正常访问,PDF文件不存在、跨域都会导致打印逻辑中断 - 确保PDF资源和当前站点同域部署,部分浏览器会拦截跨域PDF的打印请求
内容的提问来源于stack exchange,提问作者Penguin
相关产品推荐
相关产品推荐

