Php 将页面保存为PDF或HTML,但包含所有条目

Php 将页面保存为PDF或HTML,但包含所有条目,php,javascript,html,pdf,Php,Javascript,Html,Pdf,我不想从我的页面上的表单创建一个pdf,但问题是,我需要它,就像页面上的表单一样 例如,我有 2个输入字段,7个收音机,2个复选框,因此我需要一个具有相同结构的PDF,但如果有人选中该复选框,则必须将其保存为PDF 我尝试在提交时保存页面的html内容,并首先将其保存在html文件中,但问题是,我的选择无法保存 结果必须与我打印表单的结果相同 我希望有人能帮忙 我用来保存页面内容的代码 > $(document).ready(function(){ > $('input[

我不想从我的页面上的表单创建一个pdf,但问题是,我需要它,就像页面上的表单一样

例如,我有

2个输入字段,7个收音机,2个复选框,因此我需要一个具有相同结构的PDF,但如果有人选中该复选框,则必须将其保存为PDF

我尝试在提交时保存页面的html内容,并首先将其保存在html文件中,但问题是,我的选择无法保存

结果必须与我打印表单的结果相同

我希望有人能帮忙

我用来保存页面内容的代码

> $(document).ready(function(){
>       $('input[type=submit]').click( function()   {           
> var formname = $("body").find("form").attr("name");
> var htmldata = $("form[name="+formname+"]").html();
> var enchtmldata = ncodeURIComponent(htmldata);
> $.ajax({  
> type: "post",             
> data: "data="+enchtmldata,
> url: "makepdf.php",           
> success: function()
>   {
>   alert("success");           },
> error: function()             {
>   alert("error");             }           });
> 
> }); });
PS:我正在使用PHP和jQuery

添加:我认为最好首先尝试将表单页面保存为html,但保留其中的条目。之后,尝试转换它。但问题是,要将其与所有数据一起保存。


添加:如何将所选属性添加到选项字段?

在浏览器的javascript命令行中运行此操作,将结果复制粘贴到文本编辑器并另存为html文件

$('body').text($('html').html())
根据您的浏览器,在复制粘贴到地址栏时,也可以执行此操作:

javascript:$('body').text($('html').html())

输出是“动态”页面源,即呈现为文本的DOM树。

在浏览器的javascript命令行中运行此命令,将结果复制粘贴到文本编辑器并另存为html文件

$('body').text($('html').html())
根据您的浏览器,在复制粘贴到地址栏时,也可以执行此操作:

javascript:$('body').text($('html').html())

输出是“动态”页面源,即呈现为文本的DOM树。

您使用什么将HTML转换为PDF?我可以为该工作推荐TCPDF:

它可以将带有CSS的HTML转换为PDF格式。我自己还没有测试过,但我很确定它甚至会保持选中状态。但是可以肯定的是,您必须使用PHP创建HTML以选中复选框

<input type="checkbox"<?php echo ($_REQUEST['checkbox_name'])? ' checked="checked"' : '' ?> />

如何将HTML转换为PDF?我可以为该工作推荐TCPDF:

它可以将带有CSS的HTML转换为PDF格式。我自己还没有测试过,但我很确定它甚至会保持选中状态。但是可以肯定的是,您必须使用PHP创建HTML以选中复选框

<input type="checkbox"<?php echo ($_REQUEST['checkbox_name'])? ' checked="checked"' : '' ?> />

好的,我认为问题在于,在浏览器中选中复选框不会更改HTML源代码。因此,如果您想通过AJAX传输HTML,就必须将浏览器中的选中状态“转换”为真正的源代码选中状态

我不是jQuery专家,但您应该选择所有输入[type=“checkbox”],并测试它们是否被选中。如果是,则在复选框中添加一个值为“checked”的属性“checked”。否则,请删除选中的属性(如果存在)

源HTML将具有所有正确的选中状态。如果没有这个方法,您可能会得到一些复选框,这些复选框已经用PHP预先选择,但是已经被用户取消选择


我希望我的答案足够清楚,对不起我的英语:)

好的,我想问题在于,在浏览器中选中复选框不会改变HTML源代码。因此,如果您想通过AJAX传输HTML,就必须将浏览器中的选中状态“转换”为真正的源代码选中状态

我不是jQuery专家,但您应该选择所有输入[type=“checkbox”],并测试它们是否被选中。如果是,则在复选框中添加一个值为“checked”的属性“checked”。否则,请删除选中的属性(如果存在)

源HTML将具有所有正确的选中状态。如果没有这个方法,您可能会得到一些复选框,这些复选框已经用PHP预先选择,但是已经被用户取消选择


我希望我的答案足够清楚,对不起我的英语:)

你有没有尝试过将页面作为背景,将变量作为条件覆盖?我在过去使用FPDF实现了这一点。单选按钮可以作为图像放置在现有屏幕转储的顶部。将文本放在正确的位置也不会有问题。

您是否尝试过将页面作为背景,将变量作为条件覆盖?我在过去使用FPDF实现了这一点。单选按钮可以作为图像放置在现有屏幕转储的顶部。将文本放在正确的位置也不会有问题。

是否有任何原因不能将表单数据发送到将表单数据存储在数据库中的服务器进程?从这里开始,填充HTML表单并从数据库生成PDF表单应该是一个相对简单的过程。

有什么原因不能将表单数据发送到将表单数据存储在数据库中的服务器进程?从这里开始,填充HTML表单并从数据库生成PDF表单应该是一个相对简单的过程。

您能概述一下为什么需要这样做吗?这解决了什么问题?我需要为我的客户保存此表单,并通过电子邮件自动发送。表单非常大,我们有大约7种不同的表单,脚本必须能够处理所有这些。你能概述一下为什么需要这样的表单吗?这解决了什么问题?我需要为我的客户保存此表单,并通过电子邮件自动发送。表单非常大,我们有大约7个不同的表单,脚本必须能够处理所有这些。问题是,如果我在字段中编写了一些想法,它将不会通过使用.html()或.text()保存。。。复选框也是如此:(问题是,如果我在字段中写入了somethink,那么使用.html()或.text()将无法保存它。)复选框也是如此:(嗯,这个类非常有用。但是首先,我需要保存html页面ast、txt或thml这所有输入,然后转换它。我使用这个jquery代码,但我得到的只是没有Entries的表单,但是如果您将表单发送到它自己,并且将$u请求数组中的所有值添加到input和textare以及sel的值属性中ect/检查所有其他元素,您将在HTML中获得正确的表单状态