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

时间:2010-03-23 19:55:56

标签: php javascript html pdf

我不会在页面上的表单中创建一个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

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

ADDED:如何将选定的attr添加到选项字段?

5 个答案:

答案 0 :(得分:0)

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

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

根据您的浏览器,这可能在复制粘贴到地址栏时起作用:

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

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

答案 1 :(得分:0)

您使用什么来将HTML转换为PDF?我可以为这项工作推荐TCPDF:http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

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

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

您应该能够使用TCPDF类创建正确的PDF表单。

答案 2 :(得分:0)

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

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

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

您是否有任何理由不能只获取表单数据并将其发送到将表单数据存储在数据库中的服务器进程?从那里开始填充HTML表单并从数据库生成PDF表单应该是一个相对简单的过程。