在 Node.js 中生成带条形码的 pdf

2024-05-29

我在用https://github.com/devongovett/pdfkit https://github.com/devongovett/pdfkit生成 PDF 文件,我可以简单地使用类似的方法

app.get('/get-pdf', (req, res) => {
  const doc = new PDFDocument();
  const filename = 'my_pdf.pdf';

  res.setHeader('Content-disposition', 'attachment; filename="' + filename + '"');
  res.setHeader('Content-type', 'application/pdf');

  const content = "Some content";

  doc.y = 300;
  doc.text(content, 50, 50);
  doc.pipe(res);
  doc.end();
});

但我还想生成 UPC-A 条形码:

我已经找到图书馆了https://github.com/lindell/JsBarcode https://github.com/lindell/JsBarcode它可以仅从 12 位代码生成此类条形码。不过,这个库似乎主要用在客户端。

我想生成带有此类条形码的 PDF,但我不知道该怎么做,也不知道 JsBarcode 对于这种单一类型的条形码是否不太复杂。

Edit

正如评论中所建议的,我确实尝试生成带有 UPC-A 字体的条形码:

app.get('/get-pdf', (req, res) => {
  const doc = new PDFDocument();
  const filename = 'my_pdf.pdf';

  res.setHeader('Content-disposition', 'attachment; filename="' + filename + '"');
  res.setHeader('Content-type', 'application/pdf');

  doc.font('/fonts/UPC-A.ttf').fontSize(50).text('012345678905');
  doc.pipe(res);
  doc.end();
});

我从中得到

看起来确实不错,但它看起来并不完全像常见的 UPC-A 条形码。

我使用的字体位于http://www.fontpalace.com/font-download/UPC-A/ http://www.fontpalace.com/font-download/UPC-A/.


下载ttf来自谷歌字体的条形码字体文件:https://fonts.google.com/?query=barcode https://fonts.google.com/?query=barcode(根据您的要求)

就我而言,我只想要没有文本的条形码,所以我使用https://fonts.google.com/specimen/Libre+Barcode+39 https://fonts.google.com/specimen/Libre+Barcode+39

把这个ttf字体文件放在一边public/fonts folder

  doc.font(__dirname+ "/../../public/fonts/LibreBarcode39-Regular.ttf").fontSize(20).text(012345678905);

它将生成以下条形码:

如果您想将条形码与文本一起使用,请使用以下字体:https://fonts.google.com/specimen/Libre+Barcode+39+Text https://fonts.google.com/specimen/Libre+Barcode+39+Text

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Node.js 中生成带条形码的 pdf 的相关文章

随机推荐