Клонирование, разветвление, копирование, все это действительно грязно. Если вы выберете этот маршрут, вам будет очень трудно получить результаты. Вместо этого рассмотрим этот подход:
- Выполните несколько вызовов AJAX для одного файла PHP, передайте ему значение
pid
, чтобы различать их.
- Пройдите точно такую же настройку документа для FPDI. Это гораздо более согласованно, чем клонирование, разветвление, копирование и т. Д.
- Установите флажок
pid
и выполните различные действия с разными документами после завершения настройки.
- Вывод документов.
Вот мой JQuery:
$(document).ready(function(){
var i;
for( i=0; i<=1; i++ )
{
$.ajax({
url: 'pdfpid.php',
data: {
pid: i,
pdf: 'document.pdf'
},
type: 'post'
});
}
});
Как видите, все довольно просто. pdfpid.php
- это имя файла, который будет генерировать и обрабатывать документы. В этом случае я хочу, чтобы документ с pid
, равным 0, был моим «оригиналом», а документ с pid
, равным 1, - «клонированным» документом.
// Ensure that POST came in correctly
if( !array_key_exists('pid',$_POST) || !array_key_exists('pdf',$_POST) )
exit();
// Populate necessary variables from $_POST
$pid = intval($_POST['pid']);
$src = $_POST['pdf'];
// Setup the PDF document
$pdf = new FPDI();
$pdf->setSourceFile($src);
$templateID = $pdf->importPage(1);
$pdf->addPage();
$pdf->useTemplate($templateID);
$pdf->SetFont('Arial','B',24);
switch( $pid )
{
default:
break;
case 0:
// "Parent" document
$pdf->Text(10,10,"ORIGINAL");
$filename = "original.pdf";
break;
case 1:
// "Child" document
$pdf->Text(10,10,"CLONED");
$filename = "cloned.pdf";
break;
}
$pdf->Output($filename,'F');
Я получил оба документа в качестве вывода, с уникальными изменениями между «родителем» и «потомком».