포시코딩

바코드 이미지 생성과 svg 메일 전송 본문

카테고리 없음

바코드 이미지 생성과 svg 메일 전송

포시 2024. 2. 22. 09:12
728x90

 

 

 

 

 

https://yoksel.github.io/url-encoder/

 

URL-encoder for SVG

 

yoksel.github.io

 

 

npm i jsbarcode xmldom
npm i -D @types/xmldom

 

import { DOMImplementation, XMLSerializer } from 'xmldom';
import JsBarcode from 'jsbarcode';

// ... 생략

private createBarcodeImage(code: string) {
    const xmlSerializer = new XMLSerializer();
    const document = new DOMImplementation().createDocument(
      'http://www.w3.org/1999/xhtml',
      'html',
      null,
    );
    const svgNode = document.createElementNS(
      'http://www.w3.org/2000/svg',
      'svg',
    );
    const symbols = /[\r\n%#()<>?[\\\]^`{|}]/g;

    JsBarcode(svgNode, code, {
      xmlDocument: document,
    });

    let svgText = xmlSerializer.serializeToString(svgNode);

    svgText = svgText.replace(/"/g, `'`);
    svgText = svgText.replace(/>\s{1,}</g, `><`);
    svgText = svgText.replace(/\s{2,}/g, ` `);
    svgText = svgText.replace(symbols, encodeURIComponent);
    return `data:image/svg+xml,${svgText}`;
  }

 

 

728x90