2014-02-19 17 views
3

我使用Yii框架创建了一个项目,现在我想将视图页转换为PDF。请帮助我找到一个扩展来做到这一点。如何将Yii视图页转换为PDF

我做了一个搜索和找到的例子,但那些不是Yii扩展,我不知道如何实现它们。请给我一些关于如何将视图页面数据转换为PDF的教程。

查看网页代码:

<div class="row">  

    <div class="row-column1"> 
      <?php echo CHtml::label('Reg. Number. :','student_enroll_no'); ?> 
     <?php echo $info->student_enroll_no;?> 
    </div> 

    <div class="row-column2"> 
      <?php echo CHtml::label('Adm. Date :','student_adm_date'); ?> 
     <?php if($info->student_adm_date != NULL) 
      echo date('d-m-Y',strtotime($info->student_adm_date));?> 
    </div> 

</div> 

<div class="row"> 
    <div class="row-column1"> 
     <?php echo CHtml::label('Student Name :','student_first_name'); ?> 
     <?php echo $info->student_first_name;?> 
    </div> 

    <div class="row-column2"> 
    <?php echo CHtml::label('Enroll No. :','student_mobile_no'); ?> 
     <?php echo $info->student_mobile_no;?> 


    </div> 


</div> 


<div class="row"> 
    <div class="row-column1"> 
    <?php echo CHtml::label('Fathers Name :','student_last_name'); ?> 
     <?php echo $info->student_last_name;?> 
     <!--<?php echo CHtml::label('Gender :','student_gender'); ?> 
     <?php echo $info->student_gender;?>--> 
    </div> 

    <div class="row-column3"> 
    <?php echo CHtml::label('Mothers Name :','student_mother_name'); ?> 
     <?php echo $info->student_mother_name;?> 
     <!-- <?php echo CHtml::label('Date of Birth :','student_dob'); ?> 
    <?php if($info->student_dob != NULL) 
     echo date('d-m-Y',strtotime($info->student_dob));?>--> 
    </div> 
</div> 

<div class="row"> 
    <div class="row-column1"> 
    <?php echo CHtml::label('Gender :','student_gender'); ?> 
     <?php echo $info->student_gender;?> 
    <!--<?php echo CHtml::label('Course :','student_transaction_course_id'); ?> 
     <?php 
      echo !empty($model->student_transaction_course_id) ? $model->relCourse->course_name : 'N/A'; 

     ?>--> 


    </div> 

    <div class="row-column2"> 
    <?php echo CHtml::label('Date of Birth :','student_dob'); ?> 
    <?php if($info->student_dob != NULL) 
     echo date('d-m-Y',strtotime($info->student_dob));?> 
     <!--<?php echo CHtml::label('Year :','student_academic_term_period_tran_id'); ?> 
     <?php echo $model->Rel_student_academic_terms_period_name->academic_term_period;?>--> 
    </div> 
</div> 
<div class="row"> 
    <div class="row-column1"> 
<?php echo CHtml::label('Category :','title'); ?> 
     <?php echo $info->title;?> 


    </div> 

    <div class="row-column2"> 
     <?php echo CHtml::label('Email ID :','student_email_id_1'); ?>       <?php echo $info->student_email_id_1; ?> 
    </div> 
</div> 



<div class="row"> 
    <div class="row-left"> 
    <?php echo CHtml::label('Course :','student_transaction_course_id'); ?> 
     <?php 
      echo !empty($model->student_transaction_course_id) ? $model->relCourse->course_name : 'N/A'; 

     ?> 

     <!-- <?php echo CHtml::label('Blood Group :','student_living_status'); ?> 
     <?php echo $info->student_living_status; ?>--> 
    </div> 

    <div class="row-column3"> 

     <!-- <?php echo CHtml::label('Nationality :','student_transaction_nationality_id'); ?> 
     <?php if($model->student_transaction_nationality_id!=null) 
     echo $model->Rel_Nationality->nationality_name; 
    ?>--> 
    <?php echo CHtml::label('Year :','student_academic_term_period_tran_id'); ?> 
     <?php echo $model->Rel_student_academic_terms_period_name->academic_term_period;?> 
    </div> 

</div> 

<div class="row"> 
    <div class="row-left"> 
     <?php echo CHtml::label('Subjects :','languages_known1'); ?> 
     <?php 
     $knwLang = ""; 
     if($lang->languages_known1) 
     $knwLang = $lang->Rel_Langs1->languages_name; 
     if($lang->languages_known2) 
     $knwLang .= ", ".$lang->Rel_Langs2->languages_name; 
     if($lang->languages_known3) 
     $knwLang .= ", ".$lang->Rel_Langs3->languages_name; 
     echo $knwLang; 
    ?> 

    </div> 
</div> 

    <div class="row last"> 

     <?php echo ('_____________________Note -Click on edit and update DoB , Subjects and upload photo ,Enroll no. .'); ?> 



</div> 

回答

3

您可以按照以下给出的点使用yii扩展名的htmlpdf。从pdf extension提取zip文件 1.下载扩展yii-pdf-0.3.2.zip,并在您警予项目下的保护/扩展

2.download HTML2PDF拉链从这里html2pdf提取zip文件并把它放在受保护/扩展

  • 进入保护/配置/ main.php 去组件阵列,并把这个
    'ePdf' => array( 'class' => 'ext.yii-pdf.EYiiPdf', 'params' => array( 'HTML2PDF' => array( 'librarySourcePath' => 'ext.html2pdf.*', 'classFile' => 'html2pdf.class.php' ), ), ),

  • 如果你TCPDF错误,请去扩展/ HTML2PDF/HTML 2pdf.class.php查找输出函数在return语句前写一行ob_end_clean();