2012-09-26 4 views
1

Je vais générer un rapport PDF en utilisant la bibliothèque FPDF, mais la sortie est vide. Il n'y a pas d'erreur affichée, comment puis-je résoudre ce problème?Vide Sortie PDF en utilisant la bibliothèque FPDF - codeigniter

Quoi qu'il en soit, j'ai essayé ce code dans LOCALHOST et il fonctionne parfaitement, mais quand je le télécharger sur le nuage, il n'y a pas de sortie à afficher .. J'ai essayé de rendre la sortie de fonction comme celui-ci ..

$this->fpdf->OUTPUT('try.pdf','I'); but nothing happens.. 

NOTE: Dans ma sortie, C:/backup/employee _ .. php, la sortie est dans le dossier, il n'y a pas d'erreur et ça marche bien .. mais quand je télécharge celui-ci, aucune sortie à afficher

Ceci est mon CONTRÔLEUR:

public function backup_employees_pdf() 
{ 

    $this->load->library('fpdf'); 

    define('FPDF_FONTPATH',$this->config->item('fonts_path')); 
    $this->fpdf =new FPDF('L', 'mm', 'Legal', true, 'UTF-8', false); 
    $this->fpdf->AliasNbPages(); 
    $this->fpdf->AddPage(); 

    //load data 
    $data = array(); 
    $row = $this->m_employee->load_data_employees(); 
    $data = $row->result(); 

    // Whatever written here will come in header of the pdf file. 

    $this->fpdf->Image('assets/images1/mpowerstafflogo.jpg',10,5,50,50,'','www.mpowerstaff.com'); 
    $this->fpdf->SetFont('Arial','B',15); 
    $this->fpdf->Cell(140); 
    $this->fpdf->Cell(50,10,'Employee File Management Website',0,0,'C'); 
    $this->fpdf->Ln(5); 
    $this->fpdf->Cell(140); 
    $this->fpdf->Ln(5); 
    $this->fpdf->SetFont('Arial','',12); 
    $this->fpdf->Cell(140); 
    $this->fpdf->Cell(50,10,'3F Room 305 Jackson Bldg. 926 Arnaiz Ave., San Loreno Village Makati City, 1223 PHILIPPINES',0,0,'C'); 
    $this->fpdf->Ln(5);  
    $this->fpdf->Ln(5); 
    $this->fpdf->Cell(140); 
    $this->fpdf->Cell(50,10,'Tel. (632) 810-4026 * 810-9121',0,0,'C'); 
    $this->fpdf->Ln(5); 
    $this->fpdf->Ln(5); 
    $this->fpdf->Cell(140); 
    $this->fpdf->Cell(50,10,'Email: [email protected]',0,0,'C'); 
    $this->fpdf->Ln(10); 
    $this->fpdf->SetFont('Arial','B',12); 
    $this->fpdf->Cell(140); 
    $this->fpdf->Cell(50,10,'Employees Report',0,0,'C'); 
    $this->fpdf->Ln(15); 

    // Colors, line width and bold font 
    $this->fpdf->SetFillColor(105,100,231); 
    $this->fpdf->SetTextColor(255); 
    $this->fpdf->SetDrawColor(60,89,117); 
    $this->fpdf->SetLineWidth(0.3); 
    $this->fpdf->SetFont('', 'B'); 

    // Header 
    $w = array(35,80,40,40,40,40,61); 

    $this->fpdf->Ln(); 

    //border LRTB 
    $this->fpdf->Cell(5); 
    $this->fpdf->Cell(90,10,'NAME',1,0,'C', 'LR'); 
    $this->fpdf->Cell(60,10,'ACCOUNT NUMBER',1,0,'C', 'LR'); 
    $this->fpdf->Cell(60,10,'ADDRESS',1,0,'C', 'LR'); 
    $this->fpdf->Cell(60,10,'BIRTHDAY',1,0,'C', 'LR'); 
    $this->fpdf->Cell(60,10,'CONTACT NO.',1,0,'C', 'LR'); 
    $this->fpdf->Ln(10); 

    // Color and font restoration 
    $this->fpdf->SetFillColor(224, 235, 255); 
    $this->fpdf->SetTextColor(0); 
    $this->fpdf->SetFont(''); 

    $fill = 0; 
    //data 
    foreach($data as $empsItem) 
    {  
     $this->fpdf->Cell(5); 
     $this->fpdf->Cell(90,10,$empsItem->name,1,0,'C',$fill); 
     $this->fpdf->Cell(60,10,$empsItem->account_no,1,0,'C',$fill); 
     $this->fpdf->Cell(60,10,$empsItem->address,1,0,'C',$fill); 
     $this->fpdf->Cell(60,10,$empsItem->birthday,1,0,'C',$fill); 
     $this->fpdf->Cell(60,10,$empsItem->contact_no,1,0,'C',$fill); 
     $this->fpdf->Ln(10); 
     $fill=!$fill; 
    } 

    $this->fpdf->Ln(30); 
    $this->fpdf->SetFont('Arial','B',10); 
    $this->fpdf->Cell(20, 5,'Total Employees: '.$row->num_rows(), '', 0, 'LR', 0); 

    $this->fpdf->SetY(184); 
    $this->fpdf->SetFont('Arial','I',8); 
    $this->fpdf->Cell(0,10,'Copyright. All Rights Reserved',0,0,'C'); 
    $this->fpdf->Cell(0,10,'Page '.$this->fpdf->PageNo().' of {nb}',0,0,'C'); 

    $dir = 'C:/backup/'; 
    $filename = "employee report"; 

    $this->fpdf->Output($dir.$filename.'.pdf'); 
} 

// ==== CECI EST MON MODÈLE === //

public function load_data_employees() 
{ 
    $query = $this->db->query("SELECT concat(e_first_name,' ',e_middle_name,' ',e_last_name) AS 'name',account_number AS 'account_no',address AS 'address',birthday AS 'birthday',contact_number AS 'contact_no'FROM tb_emp where status='available'"); 
    return $query; 
} 

// == == config.php //

$config['fonts_path']= "./system/fonts/font/"; 

que ce sont les détails. J'ai essayé de résoudre ce problème mais toujours, il n'y a pas de sortie.

+0

quelques questions: 1) A ce code déjà travaillé à distance, ou est-ce le premier test? 2) Est-ce que PHP/l'utilisateur qu'il exécute a accès au répertoire de sortie? – user1201210

+0

oui .. ça marche! oui .. cela a fonctionné à distance et je permet au dossier pour l'utilisateur d'avoir un accès à écrire .. et en passant .. avant de l'exécuter à cette sortie j'ai essayé ceci: $ this-> fpdf -> Output ('fichier.pdf', 'I'); et cela fonctionne mais j'essaie de le télécharger, il n'y a pas de sortie .. – watangka

+0

essayez d'utiliser mpdf il est facile à utiliser dans codeigniter –

Répondre

0

J'ai eu le même problème et cela a été ma solution:

Au lieu d'utiliser

$this->fpdf =new FPDF() 

je

$pdf = new FPDF(); 

alors u peut utiliser $ pdf -> ... et pas $ this-> pdf -> ...

Voici un exemple:

define('FPDF_FONTPATH',$this->config->item('fonts_path')); 
$this->load->library(array('fpdf','fpdf_rotate','pdf')); 
$this->pdf->Open(); 
$pdf = new PDF(); 
$pdf->AliasNbPages(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial', '', 12); 
$pdf->SetDrawColor(0); 
$pdf->MultiCell(100,5,"Test\n line of text"); 
$pdf->Output('test.pdf', 'D'); 

fonctionne comme un charme;)

+0

Pouvez-vous expliquer pourquoi cela pourrait résoudre le problème? – Goose

Questions connexes