codeigniter で FPDF ファイルを生成する方法。以下のコードを試してみましたが、エラーが発生します。
コントローラー機能
public function pdf()
{
// Generate PDF by saying hello to the world
$this->load->library('pdf'); // Load library
$this->pdf->fontpath = 'font/'; // Specify font folder
$this->pdf->AddPage();
$this->pdf->SetFont('Arial','B',16);
$this->pdf->Cell(40,10,'Hello World!');
$this->pdf->Output();
}
pdf.php ファイルを application/libraries フォルダーに配置します
pdf.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require('fpdf.php');
class Pdf extends FPDF
{
// Extend FPDF using this class
// More at fpdf.org -> Tutorials
function __construct($orientation='P', $unit='mm', $size='A4')
{
// Call parent constructor
parent::__construct($orientation,$unit,$size);
}
}
?>
fpdf.php ファイルが同じフォルダーにあります。このコードを使用すると、pdf ファイルをダウンロードできません。ネットワーク エラーが発生するか、Web ページが見つかりません
これは fpdf.php ファイルで利用可能な私の output() です
function Output($name='', $dest='')
{
// Output PDF to some destination
if($this->state<3)
$this->Close();
$dest = strtoupper($dest);
if($dest=='')
{
if($name=='')
{
$name = 'doc.pdf';
$dest = 'I';
}
else
$dest = 'F';
}
switch($dest)
{
case 'I':
// Send to standard output
$this->_checkoutput();
if(PHP_SAPI!='cli')
{
// We send to a browser
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="'.$name.'"');
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
}
echo $this->buffer;
break;
case 'D':
// Download file
$this->_checkoutput();
header('Content-Type: application/x-download');
header('Content-Disposition: attachment; filename="'.$name.'"');
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
echo $this->buffer;
break;
case 'F':
// Save to local file
$f = fopen($name,'wb');
if(!$f)
$this->Error('Unable to create output file: '.$name);
fwrite($f,$this->buffer,strlen($this->buffer));
fclose($f);
break;
case 'S':
// Return as a string
return $this->buffer;
default:
$this->Error('Incorrect output destination: '.$dest);
}
return '';
}
この問題を解決する方法。