Problemi Con Il Css E L'estensione Epdf


(M Manzari) #1

Salve ragazzi non riesco ad importare il css nel file pdf generato dall’estensione ePdf

seguendo la guida ovvero:




$stylesheet = file_get_contents(Yii::getPathOfAlias('webroot.css') . '/form.css');

               $html2pdf->writeHTML($stylesheet);

nel file pdf mi stampa questo




/** * CSS styles for forms generated by yiic. * * The styles can be applied to the following form structure: * *** xyz * hint text


*

** xyz * hint text

*

** xyz * hint text

*

*

* * The above code will render the labels and input fields in separate lines. * In order to render them in the same

line, please use the "wide" form as follows, * ** ...... *

* * @author Qiang Xue <qiang.xue@gmail.com> * @link http://www.yiiframework.com/ * @copyright Copyright ©

2008-2010 Yii Software LLC * @license http://www.yiiframework.com/license/ */ div.form { } div.form input, div.form

textarea, div.form select { height: 20px; width: 60px; margin: 0em; } div.form fieldset { border: 1px solid #DDD;

padding: 10px; margin: 0 0 10px 0; -moz-border-radius:7px; } div.form label { font-weight: bold; font-size: 0.9em;

display: block; } div.form .row { margin: 0px; } div.form #prefixarchivioPratiche { border-right-style: solid;

border-left-style: solid; border-bottom-style: solid; border-top-style: solid; border-right-width: 1px; border-left-width:

1px; border-bottom-width: 1px; border-top-width: 1px; border-right-color: blue; border-left-color: blue;

border-bottom-color: blue; border-top-color: blue; } div.form .hint { margin: 0; padding: 0; color: #999; } div.form

.note { font-style: italic; } div.form span.required { color: red; } div.form div.error label:first-child, div.form label.error,

div.form span.error { color: #C00; } div.form div.error input, div.form div.error textarea, div.form div.error select,

div.form input.error, div.form textarea.error, div.form select.error { background: #FEE; border-color: #C00; } div.form

div.success input, div.form div.success textarea, div.form div.success select, div.form input.success, div.form

textarea.success, div.form select.success { background: #E6EFC2; border-color: #C6D880; } div.form

.errorSummary { border: 2px solid #C00; padding: 7px 7px 12px 7px; margin: 0 0 20px 0; background: #FEE;

font-size: 0.9em; } div.form .errorMessage { color: red; font-size: 0.9em; } div.form .errorSummary p { margin: 0;

padding: 5px; } div.form .errorSummary ul { margin: 0; padding: 0 0 0 20px; } div.wide.form label { float: left;

margin-right: 10px; position: relative; text-align: right; width: 100px; } div.wide.form .row { clear: left; } div.wide.form

.buttons, div.wide.form .hint, div.wide.form .errorMessage { clear: left; padding-left: 110px; }


(Sensorario) #2

Qual’è il problema?


(M Manzari) #3

Che il css viene scritto sotto forma di stringa e non applica le regole agli oggetti


(Sensorario) #4

Mmmm sono confuso: è un css, dunque un file di testo. Quindi io mi aspetto che me lo scriva come file di testo. Ma non conosco il metodo/libreria che stai usando quindi potrei sbagliarmi.


(M Manzari) #5

in teoria dovrebbè vederlo con un normale file css e quindi non scriverlo ma applicare le regole agli oggetti.

http://www.yiiframework.com/extension/pdf/


(Emanuele Ferrarini) #6

E questo te lo da dopo aver dato il render o il render partial?

Da quanto ho capito tu carichi il css se poi non passi altri dati lui lo stampa, altrimenti lo applica.

Possibile?

ti va di postare il codice?


(Sensorario) #7

Non devi, forse, includerlo tra i tag <style> e </style>.

Infondo se lo legge come HTML …


(M Manzari) #8

allora ragazzi ho risolto per metà avvore ho cambiato oggetto ed ora mpdf, questo però funziana per metà ovvero attribuisce qualke regola ma non tutte.


$mpdf = Yii::app()->ePdf->mpdf();

               $mpdf = Yii::app()->ePdf->mpdf('', 'A4');

               $stylesheet1 = file_get_contents(Yii::getPathOfAlias('webroot.css') . '/screen.css');


               $mpdf->writeHTML($stylesheet1,1); 


(Emanuele Ferrarini) #9

Scusa ma non manca sempre il render dell’html cui il css deve essere applicato?


(M Manzari) #10

ed infatti lo faccio :


$html2pdf->writeHTML($tabella,2);

dove :


$tabella = $this->widget('zii.widgets.grid.CGridView', array(

	                                   'dataProvider'=>PrefixarchivioPratiche::model()->search(),

                                           'enablePagination'=>FALSE, 

                                           'columns'=>array(

                                                               'N_pratica',

                                                               'anno',

                                                               'nome',

                                                               'collocazione'

                                                              )

                                       ),true);