javascript - 如何发送 pdf 以在 Angular 中单击按钮进行打印?

标签 javascript angular

我需要为我的 Angular 6 应用程序实现打印操作。将从服务中获取 pdf,然后单击按钮,我需要将其发送到打印。不会有 PDF 预览。所以,我不能使用 PDF 的打印选项。任何人都可以在这方面帮助我吗?

我试过 print.js 和 jsPdf。 jsPdf需要下载pdf然后打开打印。但我需要通过单击按钮来完成。 Print.js 抛出这个错误 - (我正在使用 Chrome)

ERROR DOMException: Blocked a frame with origin "http://localhost:4200" from accessing a cross-origin frame.
at performPrint (http://localhost:4200/modules-deposit-dashboard-deposit-dashboard-module.js:1025:33)
at finishPrint (http://localhost:4200/modules-deposit-dashboard-deposit-dashboard-module.js:1061:5)
at HTMLIFrameElement.printFrame.onload [as __zone_symbol__ON_PROPERTYload] (http://localhost:4200/modules-deposit-dashboard-deposit-dashboard-module.js:980:11)
at HTMLIFrameElement.wrapFn (http://localhost:4200/polyfills.js:12361:39)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.js:11594:31)
at Object.onInvokeTask (http://localhost:4200/vendor.js:42637:33)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.js:11593:36)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.js:11361:47)
at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.js:11669:34)
at invokeTask (http://localhost:4200/polyfills.js:12713:14)

最佳答案

对于打印,您需要将文件加载到框架内的单独窗口中,然后才能将其发送到打印机进行打印。

关于javascript - 如何发送 pdf 以在 Angular 中单击按钮进行打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54003815/

相关文章:

javascript - jQuery 将数据返回到 html 表中的同级

javascript - 语言环境感知 JavaScript 验证

javascript - 如何 Jest 模拟命名导入?

javascript - jQuery 不断添加显示 : block to my table row

javascript - 查找包含 AutoCompleteExtender 的 UpdatePanel 的 ID

javascript - angular 2 禁用 url 编码

angular - Ace 编辑器 + Angular 2 => Protractor 无法同步

angular - 在 Angular2 中,mailto 链接被识别为组件路由

angular - @kolkov/angular-editor 图片上传使用指南

angular - BsDatepicker 没有出现在子组件中(ngx-bootstrap)