TCPDF - 从HTML页面上的FORM获取数据以输出到PDF

时间:2013-09-06 14:56:29

标签: php html pdf tcpdf

我刚刚开始使用TCPDF而且我遇到了路障..

我被要求在我们的内部网上制作一个表格,员工可以填写表格(所有文本字段和一个单选按钮)点击提交按钮,然后它将使用TCPDF将填好的表格输出到PDF。我想我知道这样做的方法,但这将是一个非常糟糕的编程案例...更不用说它需要一些时间。

我之前在这里发过一篇关于类似问题的帖子(Creating PDF using TCPDF and a specific div as the content),但它并不是我想要的。

如果有人可以提出任何建议,我们真的很感激!!

感谢您的时间:)

< ---- ---- EDIT>

刚刚突破,没有什么大事。

使用上面提到的帖子,我能够想出这个简单的事情:

<?php
require_once('tcpdf_include.php');
if(isset($_POST['1'])){
$pdf = new TCPDF();
$pdf->AddPage('P');
for($i = 0; $i<3; $i++){
$html = $_POST($i);
$pdf->writeHTML($html);
}
$pdf->Output();
}
?>

<form method="POST">
Person Travelling: <input name='1' type='text' value=''>
<br>
Request Date: <input name='2' type='text' value=''>
<br>
<br>
<input type='submit' value='Submit'>
</form>

使用这个我得到了我想要的输出pdf ...现在唯一的问题是格式化问题,当表格数据被发送到pdf我只能读取放在文本字段中的值和不是价值加上描述(即旅行者)。

所以,是的,对这个新问题的任何帮助都会很棒哈哈

&LT; --------------------------------------- EDIT ----- ---------------------------------------&GT;

好吧,从我以前的问题来看,我已经能够解决大部分问题了。当我点击提交按钮时,描述和输入的文本现在显示在pdf上。我需要做的就是:

<input name='0' type='hidden' value="Person Travelling: ">

然后它会在pdf上吐出来,这很简单。

我现在遇到的唯一一件事就是pdf显示所有这些......

我不太确定如何将输出的数据准确地放在我需要的地方,现在它将左边距上的所有数据一个接一个地打印出来。我有一个他们希望它看起来如何的pdf,我也知道如何放置标题并更改默认的标题图像和文本,而不是页面的其余部分。

再说一遍,如果有人能给我一些建议,那将非常感谢!!!

&LT; ----------------------------------------- EDIT --- -----------------------------------------&GT;

那时候好了,我终于明白了!我刚刚使用了tcpdf的multicell功能,经过几个小时的游戏后,我终于能够将所有内容放到目前为止所需要的位置。现在通过添加更多多单元并修复代码来完成项目就成了问题。这就是我所做的(暂时):

$pdf->SetXY(15,40);
for($i=0; $i<4; $i++){
$html = $_POST[$i];
$pdf->MultiCell(40,5,$html,1,'L',0,0,'','',true,0,false,true,40,'T');
}
$pdf->SetXY(15,60);
for($i=4; $i<8; $i++){
$html = $_POST[$i];
$pdf->MultiCell(40,5,$html,1,'L',0,0,'','',true,0,false,true,40,'T');
}

等等......

想想我会发布我必须做的事情来帮助其他人遇到同样的问题。

干杯队友和加尔斯!

1 个答案:

答案 0 :(得分:1)

我的问题的答案在于我上面所做的编辑,我发布的原始代码没有太多改变。

基本上,对于这个项目,我必须这样做,为了从表单中获取数据,我只是命名了所有输入字段,这些字段将在点击提交按钮时填充pdf文件。

为了使格式正确,我在TCPDF中使用了MultiCell()函数。确实需要一点时间才能完全理解每个参数在函数中的含义,但几个小时之后就很容易了。

所以,我原来的问题的答案再次发布在我上面的编辑中!!