【问题标题】:using javascript/php to convert html form to pdf and email使用 javascript/php 将 html 表单转换为 pdf 和电子邮件
【发布时间】:2013-01-11 19:26:28
【问题描述】:

在做了一些研究和检查之后,我觉得有必要问这个问题,因为有很多因素在起作用。这是它的开始方式。我有一个充满 DOM 事件的 HTML 表单,可以更改(通过 javascript 更改),用户做的最后一件事就是输入他们的电子邮件地址并单击提交。提交后需要执行以下操作:

  • 将他们刚刚看到的 html 表单(在用户选择他们想要的所有项目之后)转换为 pdf 格式
  • PDF 不应存储在我们的服务器上
  • PDF 应通过电子邮件发送到通过表单提交的电子邮件地址

我不希望有人为我编写所有这些代码,但我们将不胜感激一些想法或最好的方法/工具来实现这一点。环境是 Javascript 和 PHP。

/-------- 已编辑 --------/ 我可以使用 FPDF,但不知道是否有办法使用 javascript 来“捕获”他们在提交表单之前使用的表单,这样它就可以为我工作,我确实做到了不必使用多行 FPDF 来复制表单以使其匹配。

【问题讨论】:

  • 这是一项非常简单的任务...使用 FPDF,存储一个临时文件以通过电子邮件发送,然后将其删除。不确定您在问题中的哪一部分。
  • @mjayt 好吧,我绝对可以查看 FPDF 并阅读了一些 cmets 和有关它的内容。存储到临时文件、通过电子邮件发送并删除它是我当时最难过的事情。我不熟悉如何通过电子邮件发送临时文件,以及如何删除临时文件(我是 PHP 领域的菜鸟)
  • 嗯,临时文件应该在会话被销毁后自行删除...
  • 好的,谢谢@crush... FPDF 看起来确实 可以 做到这一点,但要准确重现他们之前的内容,需要在 FPDF 和我不知道是否有一种方法可以使用 javascript 来捕获用户在单击提交之前在表单上看到的内容并从中生成 PDF(这也会使其看起来与他们看到的完全一样或关闭)跨度>
  • 了解如何使用 FPDF 生成 PDF 并通过电子邮件发送您的 PDF:stackoverflow.com/questions/14275172/…

标签: php javascript pdf email-attachments


【解决方案1】:

TCPD 也能完成这项工作。我已经将它用于类似的任务。 JavaScript 不能真正与服务器通信以创建 PDF 文件,您需要使用 PHP 来执行此操作,因此您将不得不根据内容在提交之前重新创建用户在表单上看到的任何内容的形式。

本教程包含通过电子邮件提交表单和附加文件的基本步骤,唯一的区别是本教程假设用户将文件作为表单的一部分上传,而在您将要创建的情况下PDF 改用 FPDF 或 TCPDF。

http://www.html-form-guide.com/email-form/php-email-form-attachment.html

【讨论】:

    【解决方案2】:

    尝试以允许您使用一组参数重新创建页面的方式构建您的页面。这样,您可以在服务器上重新创建页面并使用wkhtmltopdf(LGPL) 或Amyuni WebkitPDF(免费软件,通常的免责声明适用)等工具即时生成 PDF 文件并发回给用户。

    工作流程基本上是:
    1- 用户按下“提交”按钮
    2- 您的 html 表单向服务器发出请求,发送从页面收集的所有值
    3- 在服务器上,您调用一个 html-to-pdf 工具,该工具接收一个 url 作为参数,您从用户那里获得的值包含在 url 中,并且您得到一个 PDF 作为结果
    4- 您将 PDF 发回给用户作为对他/她的请求的响应

    【讨论】:

    • 我确实喜欢这个想法,但我绝对是在争取一个最小的过程,所以如果我有办法用 javascript 捕获它,然后将其编译成 PDF 并通过电子邮件发送,那将做最好的
    • @jcsbrotha 我猜您需要重新创建的网络表单的复杂性将决定这种方法是否是最佳选择。
    • 是的,我再次感谢所有的帮助!我可能会选择这样的东西......并且使用这种方法是可行的,但是等待看看是否有一些更轻、更容易出现的东西(主要是在更容易的部分)
    猜你喜欢
    • 1970-01-01
    • 2021-06-02
    • 2022-08-03
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2015-05-28
    • 2012-08-14
    • 1970-01-01
    相关资源
    最近更新 更多