当前位置: 首页 > news >正文

大气婚纱影楼网站织梦模板中国数据统计网站

大气婚纱影楼网站织梦模板,中国数据统计网站,系统之家一键重装系统,阿里巴巴网站开发工具一. 需求 1. 点击文档列表中的【打印】按钮,获取后台生成的PDF的url,弹窗进行预览: 2. 点击【打印】按钮,进行打印预览和打印: 二. 需求实现 首先后台给的是word文档,研究了一圈后发现暂时无法实现&…

一. 需求

1. 点击文档列表中的【打印】按钮,获取后台生成的PDF的url,弹窗进行预览:

2. 点击【打印】按钮,进行打印预览和打印:

二. 需求实现

首先后台给的是word文档,研究了一圈后发现暂时无法实现(需要跳转谷歌预览、格式错乱等问题),于是要求后台大佬给换成pdf。

非常感谢大佬dearmrzhang的分享,这篇文章实现的需求比本文复杂的多,我这里只是单页pdf的预览和打印,大佬的分享则涉及img和pdf的分别处理、分页等,原文:手摸手系列之前端Vue实现PDF预览及打印的终极解决方案

我的代码比较简单,注意首先需要在项目引入这两个库:

vue-pdf

print-js

1. 模版
<template><div class="main"><div style="padding: 20px"><a-form layout="inline" style="color: black; margin-bottom: 22px"><a-row :gutter="48"><a-col><a-form-item label="运单号" style="margin-right: 30px"><a-input placeholder="请输入运单号" allow-clear size="large" v-model="queryParam.waybillNo"></a-input></a-form-item><sava-button class="button" @click="doSearch">查询</sava-button></a-col></a-row></a-form><a-tableref="table":columns="columns":dataSource="loadData":loading="loading":row-key="(record) => record.id":pagination="pagination"@change="handleTableChange"style="margin-top: 10px"><span slot="action" slot-scope="text, record"><!-- <a @click="handleEdit(record)" style="color: #2b79c2">编辑</a> --><a @click="viewDetail(record)" style="color: #2b79c2; margin-left: 10px">查看</a><a @click="printBill(record)" style="color: #2b79c2; margin-left: 10px">打印</a></span></a-table><a-modal :visible="previewVisibleForAll" :footer="null" @cancel="handleCancelAll" :width="800"><div style="overflow-y: auto; overflow-x: hidden"><a-button shape="round" icon="file-pdf" @click="handlePrint(printData)" size="small">打印</a-button><div id="printFrom"><pdf ref="pdf" :src="previewFileSrc"></pdf></div></div></a-modal></div></div>
</template>
2. 核心业务逻辑
<script>
// 两个库引入
import pdf from 'vue-pdf'
import printJS from 'print-js'
// 接口
import { reqWayBillList, reqBillReport } from '@/api/DigitalWayBill/DigitalWayBill'export default {components: {pdf,},data() {return {queryParam: {waybillNo: '',},columns: [],loadData: [],loading: false,pagination: {},mdl: null,enterpriseInfo: [],inspectorInfo: [],fenceParam: {},pdfUrl: '', // 你的 PDF 文件 URLprogress: 0,printData: {printable: 'printFrom',header: '',ignore: ['no-print'],},previewVisibleForAll: false,pageTotal: null,previewFileSrc: '',}},created() {this.doSearch()},methods: {doSearch() {this.loading = truereqWayBillList(this.queryParam).then((res) => {console.log('way bill list', res)this.loadData = res.recordsthis.loading = false})},handleTableChange(pagination) {const pager = { ...this.pagination1 }pager.current = pagination.currentthis.pagination1 = pagerthis.queryParam1.pageIndex = pagination.currentthis.doSearch()},viewDetail(record) {console.log('click view')this.mdl = { ...record }// 将获取的信息传递到新页面this.$router.push({path: '/bill/detail',query: {data: JSON.stringify(this.mdl),},})},printBill(record) {this.$message.success('生成文档需要一些时间, 请稍候...', 10)reqBillReport(record.waybillNo).then((res) => {console.log('pdf url', res)this.previewFileSrc = resthis.previewVisibleForAll = true}).catch((err) => {this.$message.error(`获取文档失败: ${err}`)})},handlePrint(params) {printJS({printable: params.printable, // 'printFrom', // 标签元素idtype: params.type || 'html',header: params.header, // '表单',targetStyles: ['*'],style: '@page {margin:0 10mm};', // 可选-打印时去掉眉页眉尾ignoreElements: params.ignore || [], // ['no-print']properties: params.properties || null,})},printPdf() {this.$refs.pdf.print()// window.print()},handleCancel() {this.previewVisible = false},handleCancelAll() {this.previewVisibleForAll = false},},
}
</script>
3. 样式

没有额外的样式,都写在模版标签里了

三. 总结

市面上有一些pdf预览和打印的库,正如dearmrzhang大佬讲的,都有一些不足;通过与print-js的组合使用,才完美解决了预览和打印的需求。

感谢观看,希望本文能帮助您解决相关需求问题。

http://www.hkea.cn/news/200832/

相关文章:

  • 做a高清视频在线观看网站济源新站seo关键词排名推广
  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写
  • 东莞市建设公共交易中心网站百度官网首页
  • 如何建立的网站能争钱优化营商环境 助推高质量发展
  • 做百度网站营销型网站建设排名
  • 网站域名被黑国际新闻最新消息战争
  • 苏州网站开发公司济南兴田德润厉害吗网络自动推广软件
  • 广药网站建设试卷株洲最新今日头条
  • 网站建设管理考核办法微信推广平台怎么做
  • 网站新闻模块代码网络推广有哪些常见的推广方法
  • 合肥大型网站如何推广普通话
  • 高端网站制作软件怎么样推广自己的店铺和产品
  • 无障碍浏览网站怎么做关键词seo排名优化推荐
  • wordpress 247seo推广系统
  • 做深圳门户网站起什么名字好泰州seo外包公司
  • 网站视频上传怎么做百度站长平台论坛
  • wordpress农业模板下载小时seo
  • 做网站语言排名2018发帖推广哪个平台好
  • 销氪crmseo入门讲解
  • 蒙阴哪有做淘宝网站的钓鱼网站制作教程
  • 网站如何做导航条下拉菜单怎么做百度网页
  • 网站开发都做什么平台推广精准客源
  • 网站建设共享ip宁波seo搜索引擎优化
  • 学校网站建设必要性搜索引擎排名
  • 哪里有做区块链网站的百度网址大全在哪里找
  • 加盟平台网站怎么做竞价托管多少钱一个月
  • wordpress 微信 代码网站关键词怎么优化排名