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

.net网站开发视频山东省住房和城乡建设厅网站教育中心

.net网站开发视频,山东省住房和城乡建设厅网站教育中心,html网站正在建设源码,wordpress 无法显示使用 vue-html2pdf 插件 业务背景#xff0c;老板想要一份能征服客户的pdf报表#xff0c;传统的pdf要手撕#xff0c;企业中确实有点耗费时间#xff0c;于是github上面看到开源的这个插件就…废话不多说#xff0c;直接上教程 1.使用下面命令安装 vue-html2pdf npm i…使用 vue-html2pdf 插件 业务背景老板想要一份能征服客户的pdf报表传统的pdf要手撕企业中确实有点耗费时间于是github上面看到开源的这个插件就…废话不多说直接上教程 1.使用下面命令安装 vue-html2pdf npm i vue-html2pdf2.在vue组件下使用 templatediv!-- 具体说明看文档 --vue-html2pdf:show-layoutfalse:float-layouttrue:enable-downloadtrue:preview-modaltrue:paginate-elements-by-height1400:filenamefileName:pdf-quality2:manual-paginationfalsepdf-formata4pdf-orientationportraitpdf-content-width800pxprogressonProgress($event)hasStartedGenerationhasStartedGeneration()renderedhasGenerated($event)refhtml2Pdfsection slotpdf-content!-- 这里写要生成PDF的元素 --section classpdf-itemspandiv classwrapperdiv classheaderdiv classmaindiv classfooter/span/sectiondiv classhtml2pdf__page-break/ //分页...有几页就再写一个pdf-item就好了/section/vue-html2pdf/div /template //引入vue-html2pdf import VueHtml2pdf from vue-html2pdf; export default {components: {//注册组件VueHtml2pdf},methods: {//声明下载为PDF的方法generateReport () {this.$refs.html2Pdf.generatePdf()}}, }另外我加了进度条看到有这个加载的属性就顺便封装了个进度条看起来更优雅一点。默认值我设置的1这个看自己调整。废话不说直接上代码Progress.vue在项目中直接引用即可 templatediv classm-progress :stylewidth:${width}px;div classm-progress-outerdiv classm-progress-innerdiv :class[u-progress-bg, {u-success-bg: progress 100}] :stylewidth: ${progress 100 ? 100:progress}%; height: ${strokeWidth}px;/div/div/divtemplate v-ifshowInfo/templatesvg classu-success v-ifprogress100 viewBox64 64 896 896 data-iconcheck-circle aria-hiddentrue focusablefalsepath dM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z/path/svgp classu-progress-text v-else{{ progress100 ? 100:progress }}%/p/div /template script export default {name: Progress,props: {width: { // 进度条总宽度type: Number,default: 600},progress: { // 当前进度type: Number,default: 1},strokeWidth: { // 进度条线的宽度type: Number,default: 8},showInfo: { // 是否显示进度数值或状态图标type: Boolean,default: true}} } /script style langscss scopedscoped .m-progress {height: 24px;margin: 0 auto;display: flex;.m-progress-outer {width: 100%;.m-progress-inner {display: inline-block;width: 100%;background: #f5f5f5;border-radius: 100px;.u-progress-bg {// background: #1890FF;background: linear-gradient(to right, rgb(16, 142, 233), rgb(135, 208, 104));border-radius: 100px;transition: all .3s cubic-bezier(.08,.82,.17,1);}.u-success-bg {background: #52C41A;}}}.u-success {width: 16px;height: 16px;fill: #52C41A;margin-left: 8px;margin-top: 4px;}.u-progress-text {font-size: 16px;line-height: 24px;margin-left: 8px;color: rgba(0,0,0,.45);} } /style3.属性整理一下 属性值描述本人建议show-layouttrue/false是否显示要转为 PDF 的元素调式要转出的元素的布局时 true平时 falsefloat-layouttrue/false如果道具设置为 false 道具 show-layout 将被覆盖。布局不会浮动并且布局将始终显示。我一直使用的 true因为做的时候做了两份一个是在后台显示的一个是导出为 PDF 的布局不一样enable-downloadtrue/false是否弹出转 PDF 后的预览模板为 true 时调用上面的下载方法默认弹出预览模板调试时开启完工后关闭preview-modaltrue/false是否弹出转 PDF 后的预览模板为 true 时调用上面的下载方法默认弹出预览模板调试时开启完工后关闭paginate-elements-by-height任何数字输入的数字将用于对元素进行分页数字仅以 px 为单位。官方默认 1400没动过filename任何字符串导出后的默认 PDF 文件名自定义pdf-quality0 - 2可以有小数2 是最高质量0.1 是最低质量0 将使 PDF 消失。官方虽然说是 0~2但是我调 5 也是更高清了manual-paginationtrue/false为 true 时不会自动对元素进行分页。为 false 时分页将依赖于具有“html2pdf__page-break”类的元素来知道在哪里分页也就是下面所写的我一直使用的 false看需求pdf-formata0, a1, a2, a3, a4, letter, legal, a5, a6, a7, a8, a9, a10这是 PDF 格式纸张尺寸一般都用的a4所以 a4pdf-orientationportrait, landscapePDF 方向landscape 是横向portrait 是纵向看需求pdf-content-width任何 css 尺寸例如“800px”、“65vw”、“70%”PDF 内容宽度800px 应该是 a4 最大的尺寸具体边距我使用的 padding 4.说到分页这个组件中有自动分页但是会影响你的页眉页脚如果不想自动分页的话直接在元素后面加上下面代码即可分页 div classhtml2pdf__page-break/div5.个人使用感想使用这个插件后渲染的话还可以的直接和vue能搭配更能和E-Charts搭配使用确实方便优点节约开发成本提高开发效率拿来即用。缺点不支持超链接功能有时候业务场景需要在pdf中超链接如果有这个功能的话那就很全了。当然也不是说这个组件不好使用起来还是比较丝滑的。主要是看业务场景吧。 6. 项目中遇到比较棘手的问题就是动态排版展示因为本人是后端所以跟专业前端大佬不能比就想记录一下 本身是想写死多少个平台然后使用v-if或者v-show来展示但是代码量有点冗余不说还没有排版好就想到了v-for。 div classb1 stylewidth: 100%; display: flex; flex-wrap: wrap;div v-for(platform, index) in platforms:keyindex v-ifplatform.count 0classbordered3styleflex-basis: calc(50% - 10px); margin-right: 10px; margin-bottom: 10px;div classr3p classp1{{ platform.instituteType }}处理违规数量/pspan classp2{{ platform.count }}/span/divdiv classr4img classtb:srcgetPlatformImage(platform.instituteType)altSample Image/div/div/divv-for主要没啥主要是动态样式调整起来确实费事终于能体会到前端大佬的不易觉得好玩的可以去试试
http://wiki.neutronadmin.com/news/141483/

相关文章:

  • 河北省廊坊市建设银行网站大淘客网站怎么做
  • 外卖网站建设可行性分析照片编辑在线
  • 最新网站域名ip地址查询wordpress修改pageid
  • 网站一般如何做搜索功能手机怎么弄微信公众号
  • 男的和女的做那种事情网站做网站可以用中文域名备案嘛
  • 网站做二级域名干什么用大连住房和建设局网站
  • 网站建设技术知乎上海进出口贸易博览会
  • 建设一个网站需要什么硬件软件网络新闻专题做的最好的网站
  • 电子商务网站建设试验报告1wordpress安装云
  • 重庆网站快速优化排名上饶市建设局培训网站
  • 怎么制作网站开发设计wordpress模版文件夹
  • 西湖专业网站设计公司wordpress主题翻译
  • 做自己的网站有什么用广东企业网站seo哪家好
  • 如何做微信小程序网站2024年重大新闻简短
  • 洛阳建设银行官方网站长沙做网站建设价格
  • 网站建设与管理个人职业生涯规划书黑龙江建设局网站
  • 湖南手机版建站系统信息北京建设部网站官网
  • 蜘蛛云建站网站高端营销型网站
  • 重庆选科网站香河县做网站
  • 网站首页开发收费管城区-建设局门户网站
  • 莆田城市投资建设集团网站简道云crm管理系统
  • 分类门户网站开发团队wordpress比特币插件
  • 建设网站应该注意的地方网址导航app下载
  • 网站建设属于哪个税收服务编码百度推广方案怎么写
  • 网站维护优化做故障风的头像的网站
  • 网页版面设计包括什么内容吉林长春seo网络推广
  • 网站管理员后台wordpress网店插件
  • 网站开发 -(广告)网上怎么做网站
  • 手机网站建设视频建设银行官方网站认证
  • 孝感网站开发的公司电话无锡比较大的互联网公司