wps js生成条形码,批量生成code128条形码小标签并导出为pdf文件
最近从vba转到js宏,以前写vba可以引用BarcodeX控件生成条形码,但我不知道怎么在wps js环境引用第三方控件,所以只能用Shapes.AddPicture方法插入条形码图片,这里利用bwip-js的在线api接口生成条形码。
bwip-js 作者的GitHub地址
一、bwip-js条形码在线 API :
http://bwipjs-api.metafloor.com/
https://bwipjs-api.metafloor.com/
然后指定两个必须参数:bcid参数指定条形码类型、text参数指定条形码的值,通过拼接参数生成条形码,例如生成code128、20230208的条形码:
https://bwipjs-api.metafloor.com/?bcid=code128&text=20230208&includetext=true&textsize=12
二、wps js利用Shapes.AddPicture方法插入条形码图片
AddPicture(链接, 是否链接文件, 是否与文档保存, 左边距离, 顶部距离, 图片宽度, 图片高度),例如在工作表左边距离20、顶部距离20,插入一个宽度120、高度60的条形码图片
let sht = ThisWorkbook.ActiveSheet
let link = 'https://bwipjs-api.metafloor.com/?bcid=code128&text=20230208&includetext=true&textsize=12'
let pic = sht.Shapes.AddPicture(link, true, true, 20, 20, 120, 60)
三、案例:批量code128条形码小标签并导出为pdf
Sheet1工作表数据
Sheet2工作表页面布局设置
代码
/*** CommandButton1_Click Macro*/
function CommandButton1_Click() {let wb = ThisWorkbook, sht1 = wb.Sheets(1), sht2 = wb.Sheets(2), data = sht1.Range('A2').CurrentRegion.Value2, today = dateFormat('yyyy-mm-dd', new Date)if (data.length <= 1 && data[0].length != 6) return alert('请检查数据是否正确')//删除原条形码图片for (let i of sht2.Shapes) {i.Delete()}sht2.Range('A1:H20').Value2 = ''sht2.Range('A1:H20').Copy(sht2.Range('I1'))sht2.Columns('A:H').Delete()let rng = sht2.Range('A1:H20')for (let i = 1; i < data.length; i++) {let j = 20 * i + 1rng.Copy(sht2.Range('A' + j))sht2.Range('B' + (j + 5)).Value2 = data[i][0]sht2.Range('A' + (j + 9)).Value2 = today + ', ' + data[i][4] + ', ' + data[i][5]sht2.Range('A' + (j + 14)).Value2 = data[i][1] + ', ' + data[i][2] + ', ' + data[i][3]}for (let i = 1; i < data.length; i++) {let link = `https://bwipjs-api.metafloor.com/?bcid=code128&text=${data[i][0]}&textsize=12&height=9`let pic = sht2.Shapes.AddPicture(link, true, true, 65, (270 * i + 15), 300, 50)}sht2.Rows('1:20').Delete()let fileName = ThisWorkbook.Path + `\\Lable${dateFormat('yyyymmddHHMMSS', new Date)}.pdf`sht1.Visible = falseThisWorkbook.SaveAs(fileName, 103)sht1.Visible = truesht1.Select()alert('完成')}//日期格式化
function dateFormat(fmt, date) {let retconst opt = {'y+': date.getFullYear().toString(),'m+': (date.getMonth() + 1).toString(),'d+': date.getDate().toString(),'H+': date.getHours().toString(),'M+': date.getMinutes().toString(),'S+': date.getSeconds().toString()}for (let k in opt) {ret = new RegExp('(' + k + ')').exec(fmt)if (ret) {fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')))}}return fmt
}
wps js生成条形码,批量生成code128条形码小标签并导出为pdf文件相关推荐
- Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件
Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件 目录 Python使用matplotlib
- PDFkit用python批量把markdown格式文件导出成pdf文件代码
可以使用 Python 的 pdfkit 库来将 markdown 格式文件批量导出为 pdf 文件. 首先,你需要安装 pdfkit 库: pipinstall pdfkit 然后,你可以使用以下代 ...
- python3 生成条形码_python3转换code128条形码的方法
这年头如果用 python3 做条形码的,肯定(推荐)用 pystrich . 这货官方文档貌似都没写到支持 code128 ,但是居然有这个类( code128encoder).... 一些喷墨打印 ...
- 条码生成器之批量生成EAN-8商品条码
EAN-8码和EAN-13码都是商品条码,不同的是EAN-13码是商品条码的标准码,EAN-8码是商品条码的缩短码,当产品包装小于120平方公分,无法使用标准码时,就可以申请使用缩短码. EAN-8码 ...
- python条形码_python3转换code128条形码
干货不敢私藏,赶紧分享给大家. 这年头如果用python3做条形码的,肯定(推荐)用pystrich. 这货官方文档貌似都没写到支持Code128,但是居然有这个类(Code128Encoder).. ...
- PHP版田字格带笔顺临摹描红练习字帖在线生成小工具,可直接打印三色的田字格米字格回宫格空格灰格字帖,生成速度快可直接打印或导出成PDF文件等下载地址在最后
上面是首页的截图,下面是生成字帖的截图和程序源码 这是个在线生成字帖的PHP小程序,用来给小朋友或大朋友们练字用的,从安装到最后调试我忙了整整一天,不过打印效果非常棒,最初拿到的源码用不了报错,后来改 ...
- 生成二维码并将二维码附到pdf文件上,扫描二维码完成跳转
依托e-iceblue工具完成 官网:https://www.e-iceblue.cn/tutorials.html 本文参考:https://www.e-iceblue.cn/pdf_java_ba ...
- 【Python自动化办公】批量将Excel表格数据导出为PDF文件
前言 嗨喽~大家好呀,这里是魔王呐 ! Excel 格式在我们工作中经常需要用到的 不管是做数据统计还是做信息登记,Excel 都能发挥很强大的作用 也是目前最流行的个人计算机数据处理软件. Exce ...
- Python自动化办公:将Excel表格内容批量导出为PDF文件
Python自动处理Excel表格数据 序言 代码实现 序言 上一篇咱们实现了多个表格数据合并到一个表格,本次咱们来学习如何将表格数据分开导出为PDF文件. 部分数据 然后需要安装一下这个软件 wkh ...
最新文章
- C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装
- 在web项目中发布jaxws
- Python中Collections模块的Counter容器类使用教程
- LeetCode 118. Pascal’s Triangle
- iphone xcode for lion 下载地址
- 对于初步搭建好的SSH框架进行简化(注解的使用)
- 惠普服务器硬件检测软件吗,惠普硬件检测工具DST HP PC Hardware Diagnostics UEFI 6.8.0.0 Rev.A 使用方法...
- android 波浪进度条方形,CSS3实现波浪进度条效果方法总结
- vmware设置固定ip
- Elk-Metricbeat配置Tomcat的日志分析 (Metricbeat-part3)
- 向量ab怎么用计算机打出来,向量怎么用wps打出来
- 推荐多款好看的报表图表配色方案(适用于PPT,大屏可视化分析)
- 线性代数《Linear Algebra and Its Application》学习总结
- 中国互联网公司应该从雅虎的衰落中学到什么?
- php 微信公众号客服,微信公众平台开发 多客服
- 微信小程序和ESP32对接,实现手机远程控制灯的亮灭
- Bonferroni校正法
- 如何在IDEA上创建一个Maven项目2022版
- deepin 安装显卡后,可支持双屏展示
- springboot租房管理系统源码分享
热门文章
- HTML+CSS网页制作—科技建站
- 1.1 软件架构含义
- JFrame与Frame的区别
- linux重装显卡驱动后黑屏,安装好显卡驱动后,重启就进入黑屏,怎么处理?
- 数字、时间等单位换算工具类收集
- 景点api支持查询携程旅游门票景点详情
- 基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Medi
- element ui el-autocomplete 组件 value-key 属性
- 2022-03-16 k8s的operator的Reconcile执行追踪
- 2022海南最新通信安全员模拟考试试题及答案