Hola a todos!
Espero puedan ayudarme.
Estoy utilizando imagemagick para generar pdf a través de varias imágenes tif. El problema lo tengo cuando a la imagen le quiero agregar una marca de agua, el peso del pdf generado crece excesivamente y no entiendo porque, si yo no le coloco la marca de agua el pdf tiene un peso normal.
Acá les pongo el código que estoy utilizando y desde ya muchas gracias!!!
<?php
include('includes/config.php');
include('includes/conn.php');
include('includes/myfunc.php');
error_reporting(E_ALL); // Muestra los errores
ini_set("display_errors", 1); // Coloca en ON display_errors
ini_set("max_execution_time", 480); //seteo el tiempo de ejecucion solo para este proceso en 480 segundos
session_start();
$path = addslashes( $_REQUEST['p'] );
$w = intval( $_REQUEST['w'] );
$h = intval( $_REQUEST['h'] );
$marca = addslashes( $_REQUEST['m'] );
$tabla = addslashes( $_REQUEST['t'] );
$sql = "select * from $tabla where path ='$path'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$row['IDlote'];
$idlote = $row['IDlote'];
$consulta = "select archivo from tb_archivos where IDlote ='$idlote' order by orden";
$resultado = mysql_query($consulta);
$im = new Imagick();
$im->setResourceLimit( Imagick::RESOURCETYPE_MEMORY, 500 );
while($arr = mysql_fetch_array($resultado, MYSQL_ASSOC)){
foreach( $arr as $f ) //para cada archivo del directorio f va tomando el valor en cada pasada
{
$auxIMG = new Imagick();
$auxIMG->readImage($path.'/'.$f);
// marca de agua
if($marca != ''){
$draw = new ImagickDraw(); // caja de texto
$draw->setFont('fonts/arial.ttf'); // fuente (tiene q estar fisicamente en el ftp
$draw->setFontSize( 100 ); // pixels
$draw->setFontWeight( 700 ); //100-900 (mas de 500 es bold)
$draw->setFillAlpha( 0.5 ); // transparencia 50%
$draw->setGravity( Imagick::GRAVITY_CENTER ); // centrar en canvas
$auxIMG->annotateImage( $draw, 0, 0, -45, $marca ); // escribir el contenido de $marca en -45ş
}
// agregar la imagen al pdf
$im->addImage($auxIMG);
}
}
// guarda el pdf con una imagen por pagina
$docname = substr( strrchr($path, '/'), 1);
$pdf = 'temp/'.$docname.'.pdf';
$im->writeImages($pdf, true);
// la envia al navegador como descarga
header( "Content-Type: application/pdf" );
header('Content-Disposition: attachment; filename='.$pdf);
header('Content-Length: '.filesize($pdf));
readfile($pdf);
// la elimina
unlink($pdf);
session_commit();
?>