Resolvi da seguinte maneira:
- Com o script barcode eu salvo a imagem na pasta
- Utilizo o PDFWatermarker abrindo o arquivo PDF que quero modificar e adiciono a imagem do barcode salva, crio um novo arquivo PDF
- Ainda posso gerar o ZIP desse arquivo
Aqui um exemplo:
require('fpdf/fpdf.php');
require('fpdi/fpdi.php');
require('pdfwatermarker.php');
require('pdfwatermark.php');
$name = uniqid()."_".time();
$barCodeImg = $name.".png";
require_once('barcode.php');
$watermark = new PDFWatermark($name.".png");
$watermark->setPosition('topright');
$watermark->setAsBackground();
$pathTemplateFile = "../uploads/templates/";
$newTemplateName = $pathTemplateFile."new_".uniqid()."_".$_GET["url"];
$watermarker = new PDFWatermarker($pathTemplateFile.$_GET["url"], $newTemplateName, $watermark);
//Set page range. Use 1-based index.
$watermarker->setPageRange(1,5);
$watermarker->savePdf();
$zipname = $name.".zip";
$zip = new ZipArchive;
$result = $zip->open($zipname, ZipArchive::CREATE);
$path = "../uploads/templates/".$newTemplateName;
if(file_exists($path)){
$zip->addFromString(basename($path), file_get_contents($path));
$zip->addFile($file);
}else{
echo"file does not exist";
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);