微搭低代码实现表单打印功能

这篇具有很好参考价值的文章主要介绍了微搭低代码实现表单打印功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在我们的日常开发场景中,表单打印是一个比较常见的场景,微搭本身不带打印功能,我们需要借助一个第三方的库来实现打印。

1 引入第三方库

在微搭中如果需要引入第三方库的,需要打开你所在的应用,在应用编辑器侧边栏导航找到最后一个菜单
微搭低代码实现表单打印功能,低代码,微搭
输入我们的第三方库的地址
微搭低代码实现表单打印功能,低代码,微搭

https://html2canvas.hertzen.com/dist/html2canvas.min.js

引入库的时候要确保地址是可访问的

熟悉前端开发的小伙伴可能更习惯使用npm进行安装,微搭不支持npm的形式,只可以引入外部的js

2 搭建页面

我们打印的时候,一般是在PC端上使用,因此构建的时候我们要选择PC的模式
微搭低代码实现表单打印功能,低代码,微搭
打印场景一般是在查看页面,我们的查看页面可以使用表单容器完成,表单容器的场景我们选择查看,为了演示方便我们需要设置一个ID
微搭低代码实现表单打印功能,低代码,微搭
再一个就是设置打印区域的问题,html2canvas库实现的原理是给页面拍一个照片,我们拍哪个区域比较合适呢?

因为考虑到电脑屏幕的大小不同,有的是比较宽有的又比较窄,因此我们设置我们的打印区域的宽度为1080

为了实现这个效果,我们给表单容器设置了两层的普通容器作为布局。第一层呢我们是让页面充满屏幕,第二层就是打印区域设置一个固定宽度。

第一层我们设置让我们内部的元素横向排列,居中对齐

微搭低代码实现表单打印功能,低代码,微搭
第二层容器设置一个固定宽度
微搭低代码实现表单打印功能,低代码,微搭

3 实现打印

打印区域设置好了之后,就需要定义一个方法来调用我们的第三方库

我们给打印按钮设置一个自定义方法,命名为print
微搭低代码实现表单打印功能,低代码,微搭
在print方法里输入如下的代码

export default async function({event, data}) {
const element = document.querySelector(`#container6`) // 选择到要打印的组件id或者class,转换为canvas,其中 idXXX 表示要打印的元素
  if(!element) {
    throw new Error('要打印的内容不存在')
  }
  const { width, height } = element.getBoundingClientRect()
  const canvas = await window.html2canvas(element)

  // 打印
  let winPrint = window.open('', '', `left=0,top=0,width=${width},height=${height},toolbar=0,scrollbars=0,status=0`);
  winPrint.document.body.appendChild(canvas);
  winPrint.document.close();
  winPrint.focus();
  winPrint.print();
  winPrint.close();

}

首先需要选择打印的区域,我们是设置的第二个普通容器,需要选择一下容器的ID

const element = document.querySelector(`#container6`)

微搭低代码实现表单打印功能,低代码,微搭
打印区域设置好之后,我们需要得到元素的宽和高

 const { width, height } = element.getBoundingClientRect()

不熟悉JS语法的同学可能对这个不是太理解,这个叫解构赋值,通过结构赋值就将右边调用的方法得到的返回值分别赋值给了左侧的两个变量width和height

我们这里是对象的解构,将对象分别赋值给属性,如果你阅读官方模板还会看到数组的解构

const canvas = await window.html2canvas(element)

这一行代码相当于将获取到的打印元素设置到我们的画布里,其余的代码就是调用了浏览器的打印功能

4 实现效果

代码设置好之后,我们点击预览功能,然后点击打印按钮就可以看到具体的效果
微搭低代码实现表单打印功能,低代码,微搭
微搭低代码实现表单打印功能,低代码,微搭
微搭低代码实现表单打印功能,低代码,微搭

总结

本篇带着大家实现了一下表单打印的功能,表单打印需要是在PC环境,而且要正确的设置打印区域并调用html2canvas库实现,需要的同学照着教程练习一遍吧。文章来源地址https://www.toymoban.com/news/detail-525154.html

到了这里,关于微搭低代码实现表单打印功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微搭低代码从入门到精通12-网格布局

    开发小程序首要的就是考虑布局的问题,我们在以前的版本只能选择普通容器结合图片和文本组件来构建页面。 使用通用组件布局也可以,但有个问题是你要先学习CSS,要懂布局的概念,比如需要知道啥是flex布局,然后还得熟悉每个属性取啥值是啥效果。 要想熟练掌握CSS,

    2024年02月09日
    浏览(40)
  • 微搭低代码从入门到精通04-创建自定义应用

    微搭中的应用分为两类,模型应用和自定义应用。上一篇我们介绍了模型应用的创建方法,本篇我们介绍一下自定义应用的创建方法。 登录微搭的控制台,在左侧的菜单里点击应用,点击新建应用,选择新建自定义应用 输入应用的名称 这里的支持平台一共有三个选项,如果

    2024年02月14日
    浏览(80)
  • 低代码开发重要工具:jvs-form(表单引擎)2.1.7功能清单及新增功能介绍

    在低代码开发平台中,表单是用于收集和编辑数据的页面。它通常用于创建、更新或查看单个记录的详细信息。 jvs-form是jvs快速开发平台的8大引擎的其中之一,它的特点: 与动态模型联动,支持动态的调整物理库表,也就是说无需先建库表,表单根据所需要的数据字段 可以

    2024年02月13日
    浏览(36)
  • 宜搭低代码高级理论(部分题)

    1.自定义页面中的连接块、容器和布局容器组件都可以配置循环数据功能。    √ 2.使用v1/form/listTableDataByFormInstIdAndTable.json接口能获取到子表单数据。 √ 3.在钉钉宜搭中,只有容器组件、布局容器组件和分组组件可以进行样式设计。 × 4.远程数据源的请求地址可以填写相对

    2024年01月18日
    浏览(32)
  • 宜搭低代码快速上手使用手册

    广东数据项目组中,需要进行四员协同的开发工作,四员协同这个模块简单点说就是通过表单和流程相结合,进行数据收集和流程流转。在宜搭低代码中,可以直接用成员组件完成钉钉内的流程表单提交,和钉钉app相结合。基于广州项目组地市客户之前已经用过宜搭,故省局

    2024年02月22日
    浏览(28)
  • 实现通用的表单清空重置功能

    通过一步步代码的优化,实现清空重置功能,尽量做到抽离后,可以直接复用,不需要修改任何变量名 先实现一版,单个表单组件的清空和重置功能,此时 form1 组件可以实现 parent.vue 父组件中调用 form1 和 form2 form1.vue 如果 form2 中,同样想要实现 form1 中的清空和重置功能,就

    2024年02月10日
    浏览(39)
  • 前端实现调用打印机和小票打印(TSPL )功能

    前端 的方式 点击这个按钮,直接让打印机打印我想要的东西 github地址: https://github.com/whqgo/nodeWebPrint 目前比较好的方式就是直接用 TSPL 标签打印指令集, 基础环境就不多说了,这个功能的实现就是利用usb发送指令,现在缺少个来让我们能够和usb沟通的工具,下面这就是推荐的一个

    2024年02月06日
    浏览(41)
  • 【vue】实现打印功能

    一、vue-print-nb 官网地址:https://github.com/Power-kxLee/vue3-print-nb 【1】安装 【2】引用 vue2 引用 vue3 引用 【3】API 属性 类型 默认值 必要 可选值 描述 id String - 是 - 范围打印 ID(如果设置url则可以不设置id) url String - 否 - 打印指定的 URL。(不允许同时设置ID popTitle String - 否 - 默认

    2023年04月08日
    浏览(28)
  • vue实现打印功能

    在Vue应用中调用打印机功能,可以使用 JavaScript 的 window.print() 方法。这个方法会打开打印对话框,然后让我们选择打印设置并打印文档,但是尼这种方法依赖于浏览器的打印功能。 以下是一个简单的示例,演示如何在Vue组件中调用打印功能: 在Vue组件中,将需要打印的内容

    2024年02月12日
    浏览(30)
  • vue 实现打印功能

    浏览器原生 API window.print() 可以用于打印当前窗口(window.document)视图内容。调用此方法会产生一个打印预览弹框,用户可以根据具体设置来得到打印结果。 调用 window.print() 会对整个 document.body 进行打印,而我们通常只需要打印一部分页面,可以使用打印插件 vue-print-nb vue

    2024年02月09日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包