html2pdf,qrcode库及url参数拼接

概览

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

一. 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

用法示例

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}`;  
  }  
}  
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5-Qrcode是一个JavaScript,用于在网页上生成和扫描二维码。使用它可以帮助你在浏览器环境中轻松地创建二维码,通常适用于提供URL、文本或数据包等信息。以下是HTML5-Qrcode的基本使用方法和一些参数配置: 1. 引入:首先,在HTML文件中通过`<script>`标签引入文件,例如: ```html <script src="path/to/html5-qrcode.min.js"></script> ``` 2. 创建实例:创建一个QRCode对象,并设置编码数据: ```javascript var qr = new QRCode('qrcode-container', { text: 'https://www.example.com', // 需要编码的数据 }); ``` 这里,`'qrcode-container'`是HTML中的一个元素ID,用于显示生成的二维码。 3. 参数配置: - `text` 或 `data`:必填,要编码为二维码的数据(可以是URL、字符串或其他支持的类型)。 - `width` 和 `height`:可选,指定二维码的尺寸,单位是像素。 - `errorCorrectionLevel`:可选,错误校正级别,如`'L'`(低)、`'M'`(中)、`'Q'`(高)、`'H'`(最高)。 - `quietZone`:可选,静区大小,通常不需要手动设置。 - `colorDark` 和 `colorLight`:可选,用于设置二维码的前景色和背景色。 4. 生成二维码: 调用`make()`方法来生成二维码: ```javascript qr.make(); ``` 5. 扫描功能(仅限于二维码阅读器插件): HTML5-Qrcode本身不包含扫描功能,但你可以配合第三方插件或服务(如jsQR)实现二维码扫描。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值