如何在nodejs中生成带有base64图像列表的pdf

问题描述

我有 base64 格式的图像列表。我想将它们转换为按行对齐的图像列表,然后转换为 pdf,最后将其发送到 UI。任何人都可以指导我如何实现这一目标。

const data =  [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAAAklEQVR4AewaftIAAAK8SURBVO3BQY7cQAwEwSxC//9yeo88NSBIM/bSjIg/WGMUa5RijVKsUYo1SrFGKdYoxRqlWKMUa5RijVKsUYo1SrFGKdYoxRrl4qEkfJNKl4RO5U1J+CaVJ4o1SrFGKdYoFy9TeVMSTlTuSEKncofKm5LwpmKNUqxRijXKxYcl4Q6VO5JwonKShE7ljiTcofJJxRqlWKMUa5SLX06lS0KXhP9JsUYp1ijFGqVYoxRrlGKNUqxRLj5M5ZOScKLSJeFNKv+SYo1SrFGKNcrFy5LwN6l0SehUuiTckYR/wbfGKdYoxRrl4iGVv0nlk1R+k2KNUqxRijXKxUNJ6FS6JHQqdyThRKVLQqdyonJHEjqVkyR0Kl0SOpUnijVKsUYp1igXD6mcqHRJuEPlJAmdspeEE5WTJHQqXRJOVLokfFKxRinWKMUa5eKhJHQqXRI6lTuS0KmcJKFT6ZLQJaFT6VTuUOmS0Kl0SXhTsUYp1ijFGuXiIZU7knCi0ql0SThR6ZJwotIlovO5IwmdyjcVa5RijVKsUS5eloQ7VE6S0Km8KQmdykkSOpUuCSdJ6FTeVKxRijVKsUaJP/jFknCHykkSOpWTJHQqdyShU3miWKMUa5RijXLxUBK+SeUOlW9KQqfyTcuapVijFGuUi5epvCkJJypdEu5Iwh1JeCIJn1SsUYo1SrFGufiwJNyh8oRKl4ROpVN5QqVLwh0qbyrWKMUapVijXAyThE7liSR0Kl0SOpUuCZ3KJxVrlGKNUqxRLn65JHQqJ0m4Q+UJlS4JJypPFGuUYo1SrFEuPkzlk1TepPJEEjqVTuWTijVKsUYp1igXL0vCNyWhUzlR6ZJwRxI6lS4JdyShU3miWKMUa5RijRJ/sMYo1ijFGqVYoxRrlGKNUqxRijVKsUYp1ijFGqVYoxRrlGKNUqxRijXKHw9QEfQmYmwwAAAAAElFTkSuQmCC","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAAAklEQVR4AewaftIAAAKtSURBVO3BQY7jQAwEwSxC//9yro88NWBI9o4JRsQX1hjFGqVYoxRrlGKNUqxRijVKsUYp1ijFGqVYoxRrlGKNUqxRijVKsUa5uCkJ36RykoROpUvCiUqXhG9SuaNYoxRrlGKNcvEwlScl4Ukqd6g8KQlPKtYoxRqlWKNcfFgS3qHySUnoVO5IwjtUPqlYoxRrlGKNcjGMSpeEkyR0Kr+sWKMUa5RijXIxnMpJEiYp1ijFGqVYo1x8mMonJeF/UvlLijVKsUYp1igXD0vC/6TSJaFT6ZLwjiT8ZcuapVijFGuU+MIgSbhD5ZcVa5RijVKsUS5uSkKncpKETqVLwolKl4RO5Y4kdCpdEjqVv6RYoxRrlGKNEl94UBKepNIl4Q6VkyTcofKOJHQqdxRrlGKNUqxRLh6m8qQkvEPlHUnoVE6S0Kl0SThR+aRijVKsUYo1SnzhhiScqHRJOFE5ScKTVE6ScIdKl4RO5UnFGqVYoxRrlIuHqXRJOFE5SUKn0iXhHSpdEk5UnqTyScuapVijFGuU+MIPS0Kn0iXhRKVLQqfSJaFT6ZLQqZwkoVO5o1ijFGuUYo0SX7ghCd+kcpKETuWOJNyh0iWhU3lSsUYp1ijFGuXiYSpPSsJJEt6RhBOVTuUkCZ3KiUqXhE7ljmKNUqxRijXKxYcl4R0q71DpktAl4UTlm5LQqTypWKMUa5RijXLx45LQqdyRhE6lS8I7knCShE7ljmKNUqxRijXKxY9TOUlCp9IlovO5IwmdykkSnlSsUYo1SrFGufgwlW9Kwh1J6FROVO5QeVKxRinWKMUa5eJhSfimJJyo3JGETuUkCZ1Kl4RO5UnFGqVYoxRrlPjCGqNYoxRrlGKNUqxRijVKsUYp1ijFGqVYoxRrlGKNUqxRijVKsUYp1ij/AKQ+CezP45IOAAAAAElFTkSuQmCC"]

我曾尝试使用 pdfkit,但它需要来自磁盘的图像。无论如何要实现不将每个图像写入磁盘而是在运行时直接写入pdf。

  PDFDocument = require('pdfkit');
fs = require('fs');
doc = new PDFDocument

//Pipe its output somewhere,like to a file or HTTP response 
//See below for browser usage 
doc.pipe(fs.createWriteStream('output.pdf'))


//Add an image,constrain it to a given size,and center it vertically and horizontally 
doc.image('./test.jpg',{
   fit: [500,400],align: 'center',valign: 'center'
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)