我正在创建一个应用程序,其目的是填写一个长格式,其详细信息将保存到远程数据库中,以便以后可以调用/编辑它们。当表单准备好发送时,我需要将其转换为PDF并通过电子邮件发送出去。最好,我想在不使用用户文件系统的情况下执行此操作,但如果这不可行,我可以使用它。
我一直在寻找转换为PDF的解决方案,例如jsPDF,而对于电子邮件功能,标准就是使用nodemailer。但是,我不确定如何将一个连接到另一个,特别是如果我要避开文件系统。
这是一款主要通过iPad和手机访问的网络应用。我的应用程序是用React构建的,使用Apollo / GraphQL进行查询和Express服务器,显然都位于Node上。
这个问题有什么好的解决方案吗?在这一点上,这是一个关键时刻的问题,任何帮助将不胜感激。我一直在撕扯我的头发。
答案 0 :(得分:1)
我做了你需要的所有东西,虽然它不是同一个过程,但基本上是一样的。
首先,你将在后端完成所有这些工作。用户将提交表单,您将在那里获取数据并在此处工作。获得数据后,您将需要创建一个pdf文件。要做到这一点,我使用它:https://www.npmjs.com/package/html-pdf它完成它所说的,就像一个魅力。要使用它,您需要一些HTML。我使用ejs
获取HTML,更具体地说,使用render
函数。 (您将数据传递给要渲染的ejs文件,获取html)。
一旦你拥有了html,将它转换为带有该模块的pdf(保存到某个tmp文件夹,覆盖那里或你想做的任何事情),你可以使用nodemailer发送文件(查看doc,发送附件只是添加数据的问题。)
这就是我的工作。当然必须有其他方法来做同样的事情。