html2pdf,qrcode库及url参数拼接

news/2024/10/22 8:16:49/

概览

此篇文章主要是对html2pdf,qrcode库及url参数拼接的零散整理

html2pdf_3">一. html2pdf

html2pdf 是一个可以将 HTML 内容转换为 PDF 文件的库。它通常用于前端或服务器端,将网页或 HTML 字符串转换为可打印或可分享的 PDF 格式。这对于需要将网页内容保存为 PDF 或者生成报表等场景非常有用。
用法示例

 function downloadQrCode() {isPrint.value = true;const opt = {margin: 0,filename: qrName.value + '.pdf',image: { type: 'jpeg', quality: 0.98 },loadingnvas: {scale: 5,},jsPDF: {unit: 'in', // 单位设置为英寸  format: 'a1', // 纸张大小设置为 A1  orientation: 'landscape' // 页面方向设置为横向 },};new html2pdf().set(opt).from(qrHTMLRef.value).save().finally(() => {isPrint.value = false;});}
  • 使用 html2pdf 插件创建一个新的实例。
  • 使用 .set(opt) 方法设置 PDF 的选项。
  • 使用 .from(qrHTMLRef.value) 方法指定要转换为 PDF 的 HTML 内容。这里假设 qrHTMLRef.value 是一个 HTML 字符串或元素的引用。
  • 使用 .save() 方法保存并下载 PDF 文件。
  • 使用finally方法设定最后执行的逻辑

qrcode_38">二. qrcode

用法示例

import { toDataURL } from 'qrcode';  async function generateQRCode() {  try {  const text = 'Hello, QR Code!'; // 要编码为二维码的文本  const options = {  errorCorrectionLevel: 'H',width: 256, // 二维码宽度  color: {  dark: '#000000', // 二维码中深色部分的颜色  light: '#ffffff', // 二维码中浅色部分的颜色  },  };  const dataURL = await toDataURL(text, options); // 生成二维码的 Data URL  console.log(dataURL); // 打印 Data URL 到控制台  // 可以将 dataURL 设置到 img 元素的 src 属性中显示二维码  const imgElement = document.getElementById('qrcode-img');  imgElement.src = dataURL;  } catch (error) {  console.error('Error generating QR code:', error);  }  
}  generateQRCode();

text参数在qrcode库中不是直接表示页面路径,但你可以将页面路径(URL)作为文本内容传递给toDataURL函数来生成一个指向该页面的二维码。

errorCorrectionLevel 属性在二维码生成中代表纠错级别。在二维码生成库中,纠错级别通常用于确定在二维码中嵌入多少额外的数据,以便在二维码被部分损坏或污损时仍可以读取。

纠错级别通常有以下几种(不同的库可能命名稍有不同,但概念相似):

L (Low) - 低纠错级别。适用于高质量打印或几乎无损坏的二维码。
M (Medium) - 中等纠错级别。适用于一般打印和日常使用。
Q (Quartile) - 四分之一纠错级别。适用于稍微有损坏的二维码。
H (High) - 高纠错级别。适用于损坏较为严重或打印质量较低的二维码。
当你选择一个较高的纠错级别时,二维码会包含更多的冗余数据,这会增加二维码的复杂性和大小。然而,这也意味着二维码在遭受损坏时更有可能成功解码。

三. url参数拼接

代码示例

function setObjToUrlParams(baseUrl, obj) {  if (!obj) return baseUrl;  const paramsArray = Object.entries(obj).map(([key, value]) => {  return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;  });  // join方法拼接成字符串const newParameters = paramsArray.join('&');  const id = baseUrl.lastIndexOf('?');  if (id < 0) {  // 如果原始 URL 没有查询参数,则直接添加 '?' 和参数  return `${baseUrl}?${newParameters}`;  } else {  console.log(baseUrl.slice(id + 1),'1233')// 如果原始 URL 有查询参数,则保留原有的 '?',并添加新的参数  // 使用 '&' 连接新旧参数,并确保没有多余的斜杠  return `${baseUrl.slice(0, id)}?${baseUrl.slice(id + 1).replace(/\/$/, '')}&${newParameters}`;  }  
}  

http://www.ppmy.cn/news/1425786.html

相关文章

1-内核开发环境ubuntu+virtualbox+mobaXterm搭建

内核开发环境 ubuntuvirtualboxmobaXterm搭建 目录 内核开发环境 ubuntuvirtualboxmobaXterm搭建 1.virtualbox 安装 2.ubuntu 安装 3.网络设置 4.虚拟机安装ssh 服务&#xff0c;更新ubuntu 源安装基本软件 5.mobaXterm 个人免费版本安装 6.总结 本课程教程从0-1开始教…

YMP实现Oracle迁移到YashanDB

迁移需求 ip地址 数据库信息 操作系统信息 源库 192.168.3.132 实例名topdh 用户密码TOPICIS/oracle 端口1521 Centos7.9 x86_64 目标库 192.168.3.175 实例名yasdb 用户密码topicist/opicis 端口1688 Centos7.9 x86_64 迁移前准备 YMP工具获取 根据实际需求向厂…

(一)基于IDEA的JAVA基础14

在看今天的重点二维数组前&#xff0c;先做俩个练习复习一下&#xff0c;热热脑子: 求数组内的最大值/最小值 这个就是挨个比较换一下位置 假设有这么一组数组{16,48,48,54,3} public class Test01 { public static void main(String[] args) { int [] num {16,48,54,3}; …

大模型日报2024-04-13

大模型日报 2024-04-13 大模型资讯 Snowflake Copilot AI助手公开预览版发布 摘要: Snowflake Copilot是一款基于Mistral Large动力的AI助手&#xff0c;现已推出公开预览版。根据Snowflake分享的演示&#xff0c;该助手能够在SQL工作表中静默运行&#xff0c;并为用户提供一个…

编程入门(一)【Web服务器环境的部署】

文章目录 前言一、常见的软件类型二、网站系统的工作方式三、商城网站系统的部署总结 前言 本文内容&#xff1a; ⭐️常见的软件类型 &#x1f31f;网站系统的工作方式 ❤️商城网站系统的部署 一、常见的软件类型 无论是我们所用的网站系统还是移动APP&#xff0c;都会设计…

URL GET +号后台接收成空格

问题&#xff1a;参数spdmwhbs001 其中包含URL特殊符号 如果用GET请求方式不做任何不处理那么浏览器自动将转为%20 请求链接为 details?spdmwhbs%20001&limitKcysType1 后台接收到的参数为 whbs 001 &#xff0c;自动将号转成空格了。 尝试解决&#xff08;失败&#…

Mac上的PD虚拟机安装parallels tools问题

本文主要记录mac上的虚拟机软件安装好centos7.9的时候安装parallels tools的错误的解决办法&#xff1a; Centos 7.9虚拟机安装parallels tools 前言 在centos高版本上安装parallells tools时会报错&#xff0c;具体错误信息可以在/var/log/parallels.log文件中查看。 本文…

论文阅读:BEVBert: Multimodal Map Pre-training for Language-guided Navigation

BEVBert&#xff1a;语言引导导航的多模态地图预训练 摘要 现存的问题&#xff1a;目前大多数现有的预训练方法都采用离散的全景图来学习视觉-文本关联。这要求模型隐式关联全景图中不完整、重复的观察结果&#xff0c;这可能会损害智能体的空间理解。 本文解决方案&#xf…