将表单结果另存为 PDF

Posted

技术标签:

【中文标题】将表单结果另存为 PDF【英文标题】:Save form results as PDF 【发布时间】:2011-06-20 19:34:26 【问题描述】:

棘手的问题。

我有一个很长的表单,用户在其中写下了很多数据。我需要保存表单以供将来阅读(pdf、html 甚至 jpg 都可以),但我需要将其与用户写下的数据一起保存。这必须在提交表单时完成。

我知道仅使用 php 是不可能的,但是在 javascript-ajax 的帮助下是否有可能?

我无法提示用户打印页面,我需要在没有用户任何其他输入的情况下保存视图(除了提交)。

有什么想法吗?

编辑:

简而言之,

是否可以在不提交数据的情况下从该页面生成pdf?有没有办法 fpdf(或其他)可以“读取”并保存屏幕上当前的内容,就像“打印”功能一样?

想象一个长长的表单,带有一个“另存为 pdf”按钮,它保存当前页面(使用用户输入的数据)而不提交表单......

【问题讨论】:

***.com/questions/1648715/… 在等待其他 cmets 时阅读的内容。 【参考方案1】:

看线程:Which is the best PDF library for PHP?

排名最高的解决方案包括:

TCPDF FPDF

另一种可能的解决方案是在 PHP 中将 HTML 转换为 PDF:HTML to PDF in PHP

【讨论】:

谢谢! (我已经在使用 fpdf)。我需要的是在提交表单时生成pdf(不使用发布的数据)以及来自用户的所有输入......有没有办法我可以做到这一点(也许使用ajax调用)? 使用 Ajax 将表单信息提交到生成 PDF 的 PHP 文件,将 PDF 保存在某处,然后用它做您需要的事情。这绝对是可能的。如果这不是您想要的,您应该更新您的问题并提供有关用例的更多信息。 是的,这是要走的路,但是否可以在不提交数据的情况下生成 pdf 文件?有没有办法 fpdf(或其他)可以“读取”并保存当前屏幕上的内容,就像“打印”功能一样? 不,您必须在某处提交数据才能生成 PDF。 AFAIK,没有支持生成 PDF 的客户端工具。【参考方案2】:

你可以看看:http://php.net/manual/en/book.pdf.php 和这个http://www.tcpdf.org/

希望这对您有所帮助.. 谢谢

【讨论】:

【参考方案3】:

如果您想从表单数据转换为 PDF,那么您可以尝试的一种方法是获取提交的数据,创建一个 HTML 文档,然后将该文档转换为 PDF。您不一定需要将 HTML 发送给用户(尽管您可以),因为您将 HTML 仅用于格式化目的。将 HTML 推送到变量中,然后通过 许多 HTML 到 PDF 转换器之一对其进行解析。

【讨论】:

是的,但我需要的是在提交前打印数据的 pdf 格式......类似于“提交前打印”功能...... 你是说需要在用户的机器上本地处理数据,然后再提交?在服务器上处理数据并同时生成 PDF 怎么样?

以上是关于将表单结果另存为 PDF的主要内容,如果未能解决你的问题,请参考以下文章

pdf文件中的“另存为”框

如何在保存 PDF 表单时阻止 Adob​​e Reader 询问“另存为”(即只允许“保存”)?

服务端自定义生成PDF的几种方案

VBA 另存为结果未定义的文件类型

将 Excel 范围另存为 pdf

使用applescript将“数字”表另存为PDF