我有一个代码,它根据复选框选择填充pdf模板并在文件夹中创建pdf。在创建 pdf 之前,它会删除当前在输出文件夹中的所有文件,现在我想将创建的 pdf 合并到一个 pdf 中,可以是 2-5 pdf。
<?php
require('fpdm.php');
$fields = $_POST['a'];
$t1=NULL;
$t2=NULL;
$t3=NULL;
$t4=NULL;
$t5=NULL;
if(isset($_POST['t1']))
$t1 = $_POST['t1'];
if(isset($_POST['t2']))
$t2 = $_POST['t2'];
if(isset($_POST['t3']))
$t3 = $_POST['t3'];
if(isset($_POST['t4']))
$t4 = $_POST['t4'];
if(isset($_POST['t5']))
$t5 = $_POST['t5'];
//stergere continut folder inainte de creare pdf
function recursiveRemove($dir) {
$structure = glob(rtrim($dir, "/").'/*');
if (is_array($structure)) {
foreach($structure as $file) {
if (is_dir($file)) recursiveRemove($file);
elseif (is_file($file)) unlink($file);
}
}
}
//aici vine path`u catre continutul folderului ce urmeaza sters
recursiveRemove("C:'Users'Sherpu'Desktop'output");
if($t1!=NULL){
$pdf1 = new FPDM('template1.pdf');
$pdf1->Load($fields, false);
$pdf1->Merge();
$pdf1->Output('C:'Users'Sherpu'Desktop'output'fpd1.pdf','F');
}
if($t2!=NULL){
$pdf2 = new FPDM('template2.pdf');
$pdf2->Load($fields, false);
$pdf2->Merge();
$pdf2->Output('C:'Users'Sherpu'Desktop'output'fpd2.pdf', 'F');
}
if($t3!=NULL){
$pdf3= new FPDM('template3.pdf');
$pdf3->Load($fields, false);
$pdf3->Merge();
$pdf3->Output('C:'Users'Sherpu'Desktop'output'fpd3.pdf', 'F');
}
if($t4!=NULL){
$pdf4 = new FPDM('template4.pdf');
$pdf4->Load($fields, false);
$pdf4->Merge();
$pdf4->Output('C:'Users'Sherpu'Desktop'output'fpd4.pdf', 'F');
}
if($t5!=NULL){
$pdf5 = new FPDM('template5.pdf');
$pdf5->Load($fields, false);
$pdf5->Merge();
$pdf5->Output('C:'Users'Sherpu'Desktop'output'fpd5.pdf', 'F');
}
?>
它与PDF合并无关,但它肯定会在处理您的问题时为您提供帮助。
你应该创建一个数组而不是单独的字段:
<form method="POST">
<label for="t1">t1</label>
<input type="text" name="t[]" id="t1" />
<label for="t2">t2</label>
<input type="text" name="t[]" id="t2" />
<label for="t3">t3</label>
<input type="text" name="t[]" id="t3" />
</form>
然后,在 PHP 中,您将能够遍历此输入:
foreach ($i = 0; $i < count($_POST['t']); $i++)
{
$pdf = new FPDM('template' + $i + '.pdf');
$pdf->Load($fields, false);
$pdf->Merge();
$pdf->Output('C:'Users'Sherpu'Desktop'output'fpd' + $i + '.pdf','F');
}
这将允许您在 HTML 中添加未定义数量的字段,而无需更改 PHP。