Pagina 1 di 1

[PHP] Problema con Fpdf

Inviato: domenica 13 aprile 2014, 12:16
da treled
Salve, sto facendo uno script che importo un'immagine di dimensione 1050x600 con 300 dpi e la incollo 5 righe per 2 colonne,

l'unico vorrei che i bordi del foglio rimanessero spaziati a 2mm sia destra che sinistra e sopra ed sotto 1mm.

Ci sto impazzendo e non trovo mai le misure a modo..

Poi lo vorrei migliorarlo fare un for con una riga sola di codice e ripetere fino a 10..

vi allego il codice:

Codice: Seleziona tutto

$pdf = new FPDF('P','mm','A4');
$pdf->AddPage();

$pdf->Image($cartella.$nome,16,14,-300);
$pdf->Image($cartella.$nome,106,14,-300);

$pdf->Image($cartella.$nome,16,66,-300);
$pdf->Image($cartella.$nome,106,66,-300);

$pdf->Image($cartella.$nome,16,118,-300);
$pdf->Image($cartella.$nome,106,118,-300);

$pdf->Image($cartella.$nome,16,170,-300);
$pdf->Image($cartella.$nome,106,170,-300);

$pdf->Image($cartella.$nome,16,222,-300);
$pdf->Image($cartella.$nome,106,222,-300);

$pdf->Output();
vi ringrazio molto.. e buona domenica

Re: [PHP] Problema con Fpdf

Inviato: lunedì 14 aprile 2014, 12:42
da ienaplinsky
allora ho provato con un immagine di larghezza 284 px che sono (75.141666667 mm) l' altezza dell' immagine l' ho messa a mano 58.2 mm.
58.2 mm * 5 (le righe) = 291 mm lasciando 1 mm tra una figura e un altra arrivi preciso a 297 mm che è l' altezza dell' A4
per le colonne la prima x parte da 2 la seconda parte da 210 - 2 - larghezza immagine (210 mm è la larghezza dell' a4)

Codice: Seleziona tutto

class TestImage extends FPDF {

    private $arrayY = array(1, 59.2, 118.4, 177.6, 236.8); // le y delle immagini partiamo da 1 sommi 58.2 + 1 (il mm  tra una immagine e un altra)

    public function __construct() {
        parent::__construct();
    }

    public function disegna($pahImage) {
        $this->AddPage();
        foreach ($this->arrayY as $y) {
            $this->Image($pahImage, 2, $y, 75.141666667, 58.2);
            $this->Image($pahImage, 208 - 75.141666667, $y, 75.141666667, 58.2);
        }
        $this->Output();
    }

}

$pdf = new TestImage();
$pdf->disegna("./loghi/controlloimpianto.png");

Re: [PHP] Problema con Fpdf

Inviato: lunedì 14 aprile 2014, 13:15
da treled
guarda, prima di provare ti allego l'immagine che sarebbe un biglietto da visita..

vedi se mi protesti aiutarmi ad realizzare lo script che avevo fatto senza documentarmi al meglio..

non devo ridurre o modificare le dimensioni.. devono essere uguali all'allegato.

ti ringrazio moltissimo e buon lunedì.

PS: non so se il forum ridimensiona l'immagine che viene allegata .. ma controlla se le dimensioni sono 1050x600.


saluti.

Re: [PHP] Problema con Fpdf

Inviato: lunedì 14 aprile 2014, 13:18
da treled
ti allego l'esempio con il mio script di prima.
dimmi tu come fare..

grazie e buona giornata.

Re: [PHP] Problema con Fpdf

Inviato: lunedì 14 aprile 2014, 14:39
da ienaplinsky
scusa ma come fai senza ridimensionare?
la larghezza di un A4 è 210 mm la tua immagine è larga 158.75 mm come fai a metterne 2 una affianco all' altra?
anche in altezza l' A4 è 297 mm la tua immagine è 277.8125 mm come fai a mettere 5 righe ?

Re: [PHP] Problema con Fpdf

Inviato: lunedì 14 aprile 2014, 15:22
da treled
ciao, quello che ricordo ..

e che qui:
$pdf = new FPDF('P','mm','A4');

ho impostato l'a4 in unità mm.

e qui:
$pdf->Image($cartella.$nome,16,14,-300);

ho messo 300 dpi..

ma con il tuo codice come si integra?

grazie mille buona giornata.

Re: [PHP] Problema con Fpdf

Inviato: lunedì 14 aprile 2014, 16:32
da ienaplinsky
allora se vai su questo link http://www.hdri.at/dpirechner/dpirechner_en.htm dice che la tua immagine a 300 dpi deve essere 88.9 x 50.8 mm
i conti sono questi:
50.8 x 5 = 254 dobbiamo arrivare a 297 , quindi prendiamo 1 da sopra 1 da sotto e sono 295, quindi togliendo ai 295 i 254 delle immagini rimangono 41 mm che è lo spazio da dividere , ultimo conto:
essendo 5 figure ci sono 4 spazi = 41 / 4 = 10,25 sommando il 1 mm all' inizo pagina la nostra y deve variare di volta in volta di 10,25 + 1

Codice: Seleziona tutto

class TestImage extends FPDF {

    private $height = 50.8;
    private $width = 88.9;
    private $space = 11.25;

    public function __construct() {
        parent::__construct();
    }

    public function disegna($pahImage) {
        $this->AddPage();
        $i = 1;
        $this->Image($pahImage, 2, 1, $this->width, $this->height);
        $this->Image($pahImage, 208 - $this->width, 1, $this->width, $this->height);
        while ($i < 5) {
            $this->Image($pahImage, 2, ($this->height + $this->space) * $i , $this->width, $this->height);
            $this->Image($pahImage, 208 - $this->width, ($this->height + $this->space) * $i , $this->width, $this->height);
            $i++;
        }
        $this->Output();
    }

}