【问题标题】:creating a pdf and converting it to base64 [closed]创建pdf并将其转换为base64 [关闭]
【发布时间】:2021-07-05 14:57:48
【问题描述】:

我正在努力寻找一种方法来获取 HTML 页面并将其转换为 pdf,然后将该 pdf 转换为 base64。

具体来说,我正在制作一个客户端网页,用户可以在其中填写有关发票的信息,然后单击“发送电子邮件”按钮,此按钮应获取整个发票页面并将其转换为 pdf。然后我需要使用 emailjs 将 pdf 发送给客户端。据我了解,emailjs 要求附件采用 base64 格式,因此我认为我需要将 pdf 转换为 base64 才能附加它。

所有这些都需要在客户端和 vanilla js 中完成。任何关于我如何实现这一点的想法或示例将不胜感激!

【问题讨论】:

  • 这很宽泛,听起来更像是一个项目描述而不是一个问题。将其分解为任务,看看你能实现什么,并在你遇到困难而找不到答案时提​​出具体的问题。使用tour 和阅读How to Ask 通常对本网站的初学者很有用。例如,对于客户端的 base64 编码,您可以在这里找到答案:Base64 encoding and decoding in client-side Javascript,当然也可以在网站上搜索。

标签: javascript pdf base64 invoice


【解决方案1】:

我永远不会使用 Emailjs,但也许这就是你的 pdf 文件的解决方案

const toBase64 = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});

async function Main() {
const file = document.querySelector('#myfile').files[0];
const result = await toBase64(file).catch(e => Error(e));
if(result instanceof Error) {
  console.log('Error: ', result.message);
  return;
}


Main();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2012-02-05
    • 2015-08-02
    • 2019-10-26
    • 2010-10-31
    相关资源
    最近更新 更多