[Risolto][Yii 1]Cambiare Formato Al File Pdf

Salve a tutti,

ho bisogno di far si che, con mpdf, mi generi un file che possa venire stampato su un’ etichetta 7cm x 3,3cm.

Riesco solo a fargli generare file in formato A4 e ho provato a cercare sul Web qualcosa che potesse aiutarmi e ho trovato questo:




$mpdf = new mPDF('utf-8', array(190,236));



Ho provato a inserirlo nella mia action in questo modo:




 /** 

   Stampa Estichetta   */

   public function actionStampaetichetta($id)

   {

	   

	   $dataProvider=new CActiveDataProvider('Rs');

	   $this->layout="//layout/etichetta-rs";

	   $mPDF1 = Yii::app()->ePdf->mpdf('utf-8', array(70,30));

	   $mPDF1->WriteHTML($this->render('etichetta',array('model'=>$this->loadModel($id)),true));

	   $mPDF1->Output('Etichetta.pdf', EYiiPdf::OUTPUT_TO_DOWNLOAD);

	   

   }




ma anche inserendo


$mPDF1 = Yii::app()->ePdf->mpdf('utf-8', array(70,30));

mi genera un file spezzetato in 3 tabelle.

Qualcuno sa dirmi come posso far capire a mpdf che mi deve generare un file delle dimensioni che voglio io?

Allego 2 file per farvi come come mi viene fuori il PDF attualmente e come invece vorrei venisse fuori.

Grazie in anticipo :)

Mi rispondo da solo, bastava settare bene le dimensioni. :stupid !!!!

potresti postare un esempio completo di utilizzo della ext yii-pdf io ci sto sbattendo la testa ma non ci riesco evidentemente le troppe ore passare allo studio mi fa diventare cieco e non vedo qualcosa, anche io devo generare i codici a barre

io consiglio la libreria di @Nicola Asuni <TCPDF> ;)

Ciao STEF@N e scusa il ritardo nel rispondere…impegni di lavoro.

L’ estentione Yii-Pdf ovviamente serve solo a generare il pdf.

Per generare il Bar-Code devi installare anche l’ estensione barcode.

Quando hai installato le due cose e abilitato il tutto nel config, grazie a Yii-Pdf puoi usare sia MPDF, sia HTML2PDF.

Io nel mio caso ho usato MPDF.

Per generare il bar-code univoco ti consiglio sempre di usare l’ id del record, magari anticipato dai numeri che a te fanno comodo…Es: 549800021+id del record del database.

L’ estensione barcode, se segui il manuale, ti genera un’ immagine base, che a ogni nuova generazione del barcode, viene modificata con il numero tracking univoco.

Nel mio controller all’ azione di stampa ho questo pezzo di codice che mi permette di generare il mio pdf formato etichetta.




public function actionStampaetichetta($id)

   {

           

           $dataProvider=new CActiveDataProvider('Missiva');

           $this->layout="//layout/etichetta-rs";

           $mPDF1 = Yii::app()->ePdf->mpdf('A4', array(80,70));

           $mPDF1->SetDisplayMode(330);

           $mPDF1->WriteHTML($this->render('etichetta',array('model'=>$this->loadModel($id)),true));

           $mPDF1->Output('Etichetta.pdf', EYiiPdf::OUTPUT_TO_DOWNLOAD);

           

   }



NIente ti vieta poi di andare a modificare il file di configurazione di MFPDF dentro al quale puoi modificare colori, tipi di carattere e tutto quello che ti pare.

Nella mia vista poi mi recupero il codice




<?php //GENERATORE BARCODE

//Lunghezza Immagine. 

    $width  = 800;  

    //Alteszza.

    $height = 150;

    //Qualita immagine .... solo per JPG

    $quality = 100;


    $text = 0;

        $id =  $model->id; //<----Richiamo il codice univoco

    // webroot dove risiede l' immagine madre.

    $location = Yii::getPathOfAlias("webroot.images") . "/TGBARCODE.jpg";


    Yii::import("application.extensions.barcode.*");                      

    barcode::Barcode39($id, $width , $height , $quality, $text, $location);



Come vedi dal codice l’ immagine “base” che è stata generata (lo devi fare solo la prima volta) si trova nella web-root che sarai tu a decidere.

Ti posso dire che anche io ci ho sbattuto la testa un bel po perchè non è ben spiegato sia nei file contenuti all’ interno dell’ archivio, sia nel forum. Poi quando apprendi…tutto diventa facile. Ti allego l’ immagine del barcode che mi genero. Ovviamente sia sopra che sotto o affianco…insomma dove tu desideri, puoi immettere tutte le informazioni che vuoi.

Spero di esserti stato di aiuto.

Un Saluto