一、项目需求

  前端点击按钮直接调起打印对应pdf文档。

二、踩坑

  刚开始通过api获取后端给的PDF地址,创建一个隐藏的iframe标签src设置为pdf地址;前端通过获取隐藏的iframe标签的id来实现打印指定内容;

  存在iframe跨域问题,不能直接调起print()方法,取消iframe隐藏虽然能看到加载出pdf,但多了点击打印按钮的步骤。

三、解决方法

  api改为获取pdf文档流,前端将文档流转为blob地址,放到js创建的隐藏iframe标签内;再执行print()方法。

PrintBtnClick(record){PrintApplication({projectId:record.projectId}).then(res=>{const blob = new Blob([res.data], { type: 'application/pdf' })var date = (new Date()).getTime()var ifr = document.createElement('iframe')ifr.style.frameborder = 'no'ifr.style.display = 'none'ifr.style.pageBreakBefore = 'always'ifr.setAttribute('id', 'printPdf' + date)ifr.setAttribute('name', 'printPdf' + date)ifr.src = window.URL.createObjectURL(blob)document.body.appendChild(ifr)this.doPrint('printPdf' + date)window.URL.revokeObjectURL(ifr.src) // 释放URL 对象})
},
doPrint(val) {var ordonnance = document.getElementById(val).contentWindowsetTimeout(() => {ordonnance.print()}, 100)
}

VUE 获取PDF文档流直接打印相关推荐

  1. [开发笔记]-C#获取pdf文档的页数

    [操作pdf文档]之C#判断pdf文档的页数: /// <summary>/// 获取pdf文档的页数/// </summary>/// <param name=&quo ...

  2. 使用pymupdf获取pdf文档中的文本下划线信息(全网唯一解决方案)

    1,问题描述 最近,公司需要对一批pdf文档进行解析,获取其中文字,并再展示到前端页面上.如果单纯地提取文字,其实非常容易,但麻烦的在于保存原有文档中的文本格式,例如加粗.斜体.下划线,以及三者的各种 ...

  3. itext设置pdf的尺寸_如何获取pdf文档iText 7的页面大小-问答-阿里云开发者社区-阿里云...

    我在iText 7中有一个Java程序,可以接收JSON数据并生成一个PDF文档(带有页眉和页脚),该文档可以很好地处理clientData注释中的变量中的数据,但是当在无注释clientData中使 ...

  4. Java获取文档页数_获取PDF文档中的页数

    一个简单的命令行可执行文件,名为:pdfinfo . 这是downloadable for Linux and Windows . 您下载包含几个与PDF相关的小程序的压缩文件 . 在某处提取它 . ...

  5. vue下载xlsx文档流(导出功能)

    一.记录一次前端下载xlsx文档流: 思路: 1. 调用接口接受后台返回的文档流资源, 2.通过内置对象Blob构造器进行解析得到链接地址 3.通过a标签的下载功能得到资源 说下中间踩得坑, 首先项目 ...

  6. C# / VB 获取PDF文档的数字签名信息

    文档中的数字签名具有不可否认性,可有效防伪防篡改.对文档中已有的数字签名信息,可通过一定方法获取,下面通过程序代码介绍如何来实现.程序中,使用了Spire.PDF.dll,版本:6.11.6,可自行在 ...

  7. PyPDF2--如何使用python操作你的PDF文档

    PyPDF2–如何使用python操作你的PDF文档 前言 大家好!最近想操作一下PDF文档,总是收费,于是浅尝辄止地了解了一下python当中的PyPDF2这个库.借助本篇博客总结了一下个人所学到的 ...

  8. iOS 开发之 pdf 文档的加载与浏览的 4 种方式

    原文链接:http://www.jianshu.com/p/1d4305a02ea5 在我们的开发中,有些像电子书类型的 app 的开发会涉及到 pdf 文档的加载与展示.由于笔者项目中正好涉及到这块 ...

  9. 【教程】Spire.PDF教程:C# 如何提取 PDF 文档中的文本和图片

    Spire.PDF是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight. [下载Spire.PDF最新试用版] 文本和图片 ...

最新文章

  1. php 比较数组的不同的值,php array_udiff 比较两个数组的键值,并返回差集
  2. 修改了系统时间后,myeclipse 和tomcat下的代码不同步了
  3. react当中子组件改变父组件的状态
  4. 网站建设中前端常用的jQuery+easing缓动的动画
  5. 计算机应用基础0006 19秋在线作业2,川大《计算机应用基础0006》13春在线作业2
  6. leetcode76. Minimum Window Substring
  7. CentOS添加swap分区
  8. 通过Android上的意图启动Google地图路线
  9. Java程序性能优化——性能指标
  10. Optisystem 光锁相环
  11. 数学之美系列 1.3w字精简版阅读笔记
  12. xos虚拟系统 代理服务器,VMware宝典:一手缔造超级虚拟网络
  13. 梯度下降和随机梯度下降
  14. 【web前端开发 | CSS】css元素的显示模式
  15. Openstack 对象存储服务之争:Ceph或者Swift
  16. 操作系统-虚拟内存技术
  17. 打不开计算机 在任务栏里显示,电脑下方的任务栏不显示怎么办 电脑任务栏不显示解决方法【图文】...
  18. Unity中行星和恒星的旋转——Rotate和RotateAround
  19. IBM——国际商业机器公司
  20. matlab 非线性规划如何看是否可行解,[MATLAB数学相关] linprog解线性规划问题无可行解,但lindo能解出来...

热门文章

  1. 大数据平台需注意哪些安全问题
  2. 从25岁到55岁,人生三个十年的规划和目标
  3. 认识高通8155(开发板介绍)
  4. win11更新后Translucent TB 任务栏透明失效
  5. 【九】Java接口思维导图
  6. Nature 长文:打破AI黑盒的“持久战”
  7. A novel framework for detecting social bots with deep neural networks and active learning(SCI一区)
  8. 操作系统语言包在c盘哪里,风林火山Win10专业版中的语言包占用大量C盘空间如何卸载...
  9. 推荐 12 月 yyds 的开源项目
  10. sql 模糊搜素拼接