user3328808
user3328808

Reputation: 43

How to convert Yii view page to PDF

I created a project using Yii framework, now I want convert the view page to PDF. Please help me to find an extension to do that.

I did a search and found examples, but those aren't Yii extensions, and I do not know how to implement them. Please give me some tutorials on how to convert the view page data to a PDF.

View page code:

 <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>

Upvotes: 3

Views: 8829

Answers (2)

Dheeraj singh
Dheeraj singh

Reputation: 540

You can use htmlpdf of yii extension by following given below points. 1. download extension yii-pdf-0.3.2.zip from pdf extension extract zip file and put in your yii project under protected/extension

2.download html2pdf zip from here html2pdf extract zip file and put it in to protected/extension

  1. Go to protected/config/main.php go to component array and put this
    'ePdf' => array( 'class' => 'ext.yii-pdf.EYiiPdf', 'params' => array( 'HTML2PDF' => array( 'librarySourcePath' => 'ext.html2pdf.*', 'classFile' => 'html2pdf.class.php' ), ), ),

  2. If you get TCPDF ERROR do go to extension/html2pdf/html2pdf.class.php find output function write a line before return statement ob_end_clean();

Upvotes: 3

Kumar V
Kumar V

Reputation: 8830

here you will get extension with examples.

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

I'm using : http://www.mpdf1.com/

you can download and create extension

Download this package:

http://www.yiiframework.com/extension/pdf/files/yii-pdf-0.3.2.zip

refer this forum for usage: http://www.yiiframework.com/forum/index.php/topic/44211-mpdf-header/

Upvotes: 4

Related Questions