que enfrenta el mismo problema en los proyectos de los clientes. Imágenes borrosas en un documento pdf generado incluso con imágenes de alquileres.
Me tomó un par de horas, pero esto es lo que funcionó para mí.
Tengo un dado un vistazo al código y vio que había un factor de escala que se establece en el constructor del documento PDF:
//Scale factor
if($unit=='pt')
$this->k=1;
elseif($unit=='mm')
$this->k=72/25.4;
elseif($unit=='cm')
$this->k=72/2.54;
elseif($unit=='in')
$this->k=72;
else
$this->Error('Incorrect unit: '.$unit);
El factor de escala es en función del valor dado en el constructor de el documento pdf:
function FPDF($orientation='P',$unit='mm',$format='A4')
El valor predeterminado es 'mm'. En la mayoría de mis documentos se inicio un documento PDF como:
$pdf = new PDF('P');
Esto significa que habrá un factor de escala de 72/25,4 = 2,83 utilizado. Cuando coloqué una imagen antes de que acabo de utilizar:
$this->Image('path/to/file', 0, 0);
De esta manera Tengo las imágenes borrosas. También es posible dar a la anchura de la imagen en el comando
$this->Image('path/to/file', 0, 0, 200); // for a image width 200
Esto me dio una imagen que era demasiado grande. Pero - y aquí viene el truco - cuando se divide el ancho real por el factor de escala (en mi caso 2.83) y poner esto en esta declaración que da una imagen perfectamente nítida:
$this->Image('path/to/file', 0, 0, 71); // for a image width 200/2.83 = app 71
Espero que esto funcione para usted también !
También tengo este problema, ¿lo resolvió? Tal vez puedo preguntarlo de otra manera ... Si una imagen es de 100 píxeles x 100 píxeles, ¿cuál es el ancho y la altura del FPDF que se utilizarán para garantizar que no se produzca la escala de la imagen? – Scott
TCPDF es una alternativa, ¡aunque probablemente no quiera escuchar eso! Sin embargo, podría intentar comparar la calidad en caso de que no esté relacionada con la biblioteca. –