问题
I'm going to generate a PDF report using FPDF library, but the output is blank. There is no error displayed, how can I fix this problem?
Anyway, I tried this code in LOCALHOST and it works perfectly, but when I upload it to the cloud, there's no output to be displayed.. I tried to make the function output like this..
$this->fpdf->OUTPUT('try.pdf','I'); but nothing happens..
NOTE: In my output, C:/backup/employee_..php, the output is in the folder, there's no error and it works fine.. but when I upload this one, there no output to be display
This is my CONTROLLER:
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: mpowerstaff@yahoo.com',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');
}
//====THIS IS MY MODEL===//
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/";
that's the details. I tried to fix this but still, there no output.
回答1:
I had the same problem and this was my solution:
Instead of using
$this->fpdf =new FPDF()
I used
$pdf = new FPDF();
then u can use $pdf->... and not $this->pdf->...
Here is an example:
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');
Works like a charm ;)
来源:https://stackoverflow.com/questions/12599192/blank-output-pdf-using-fpdf-library-codeigniter