Ho affrontato lo stesso problema in progetti per i clienti. Immagini sfocate in un documento PDF generato anche con immagini di ingaggio.
Mi ci sono volute un paio d'ore, ma questo è quello che ha funzionato per me.
Ho un dato un'occhiata al codice e ho visto che c'era un fattore di scala viene impostato nel costruttore 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);
Lo ScaleFactor dipende valore dato nel costruttore il documento pdf:
function FPDF($orientation='P',$unit='mm',$format='A4')
Il valore predefinito è 'mm'. Nella maggior parte dei miei documenti Io inizio di un documento pdf come:
$pdf = new PDF('P');
Questo significa che ci sarà uno ScaleFactor di 72/25,4 = 2,83 utilizzata. Quando ho fatto l'immagine prima ho appena usato:
$this->Image('path/to/file', 0, 0);
In questo modo ho ottenuto le immagini sfocate. E 'anche possibile dare la larghezza dell'immagine nel comando
$this->Image('path/to/file', 0, 0, 200); // for a image width 200
Questo mi ha dato un'immagine che era troppo grande. Ma - e qui viene il trucco - quando si divide la larghezza reale dal ScaleFactor (nel mio caso 2,83) e mettere questo in questa informativa dà un'immagine perfettamente nitida:
$this->Image('path/to/file', 0, 0, 71); // for a image width 200/2.83 = app 71
Spero che questo funziona anche per te !
Ho anche questo problema, l'hai capito? Forse posso chiederlo in un modo diverso ... Se un'immagine è 100 pixel x 100 pixel, qual è la larghezza e l'altezza FPDF da usare per garantire che il ridimensionamento dell'immagine non avvenga? – Scott
TCPDF è un'alternativa, anche se probabilmente non vuoi sentirlo! Si potrebbe provare per confrontare la qualità, tuttavia nel caso in cui non sia correlata alla libreria. –