Adicionar código de barras em arquivo pdf existente

Enviada por Cézar Ayran 
Cézar Ayran
Adicionar código de barras em arquivo pdf existente
27 de February de 2017 às 07:23PM
Alguém aí tem uma solução para isso?

Fiz o upload do PDF... e desejo add o código de barras somente quando o usuário for baixar o arquivo... alguém p dar um help?

Thanks!
Cézar Ayran
COMPLEMENTANDO
27 de February de 2017 às 07:42PM
Achei esse script https://github.com/davidscotttufts/php-barcode simples para criar o código de barras... agora é COMO ADICIONAR ESSE CÓDIGO/IMAGEM NUM ARQUIVO PDF JÁ EXISTENTE?
Cézar Ayran
RESOLVIDO
27 de February de 2017 às 09:36PM
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);
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.