【发布时间】:2014-10-06 14:22:39
【问题描述】:
我正在尝试使用 FPDF 示例脚本之一并重新调整它的用途。当前脚本会将“textarea”中的内容提交到 PDF。如果我创建了更多元素等,我希望它将整个页面提交到 PDF。它看起来像是在寻找名称“文本”,所以我将整个表单命名为“文本”、div 等,除非它文本字段或区域。
据我所知,'html2pdf.php' 没有提到只允许文本框。
我假设它的这部分是原因,但我无法弄清楚如何返工以将整个表单集转换为 PDF。最终我试图将它用于大量输入(姓名、地址等)
<?php
require('html2pdf.php');
if(isset($_POST['text']))
{
$pdf=new PDF_HTML();
$pdf->SetFont('Arial','',12);
$pdf->AddPage();
$text=$_POST['text'];
if(ini_get('magic_quotes_gpc')=='1')
$text=stripslashes($text);
$pdf->WriteHTML($text);
$pdf->Output();
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>HTML2PDF</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" target="_blank">
Content:<br>
<textarea name="text" cols="80" rows="15">test</textarea><br>
<input type="submit" name="html" value="Generate PDF">
</form>
</body>
</html>
编辑:让我添加一些图像来帮助说明我的问题。我知道我很难解释。
在图 1 中,它显示了我在上面发布的标准代码,请注意红色标记。这就是生成PDF的全部内容,我想生成整个页面,而不仅仅是输入和文本字段。 http://vslan.net/up/1.png
例如,看图 2。再次注意红色标记,这只是我想要生成到 PDF 中的表单/正文中的文本(它目前也不在工作中)。绿色是我想要得到的整个测试代码。 http://vslan.net/up/2.png
如果有人可以帮助我重新编码上面的代码以允许这样做,那将不胜感激。
【问题讨论】:
-
fpdf 不在乎您的表单中有多少/很少的字段,或者它们是什么类型。它只是处理文本。就 fpdf 而言,
$pdf->WriteHTML('foobarbaz')和$pdf->WriteHTML($_POST['field_that_contains_foobarbaz'])都是相同的 -
我如何让 $pdf->WriteHTML('whatever') 写入表单的所有内容。到目前为止,我只写了一个元素。如果我不希望它成为一个元素而只是页面上的一些随机文本怎么办?
-
多次调用。尝试猜测您想在 pdf 中打印什么不是 fpdf 的工作。你必须告诉它。如果要打印 5 个表单字段,则调用 writehtml() 5 次
-
哦,好的,所以我必须继续调用它。我以为我应该把它全部放在一个 writehtml()
-
你也可以这样做。你写什么取决于你。
$foo = $a . $b; $fpdf->writehtml($foo)与$fpdf->writehtml($a); $fpdf->writehtml($b)基本相同
标签: javascript php html fpdf