Codeigniter - TCPDF错误:无法创建输出文件

时间:2015-04-25 06:04:57

标签: php codeigniter tcpdf

我正在使用Codeigniter开发一个系统。我想以PDF格式生成采购订单并保存在文件夹中。所以,我使用TCPDF库来生成PDF。但是我收到了以下错误。

**TCPDF ERROR: Unable to create output file: http://localhost/new-esup/po/14-22-25-04-2015.pdf**

我使用了以下代码。

    <?php

    tcpdf();
    $obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $obj_pdf->SetCreator(PDF_CREATOR);
    $title = "";
    $obj_pdf->SetTitle($title);
    $obj_pdf->SetHeaderData('', '', $title, PDF_HEADER_STRING);
    $obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
    $obj_pdf->SetDefaultMonospacedFont('helvetica');
    //$obj_pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $obj_pdf->SetMargins(PDF_MARGIN_LEFT, '5', PDF_MARGIN_RIGHT);
    $obj_pdf->setPrintHeader(false);
    $obj_pdf->setPrintFooter(false);
    $obj_pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    $obj_pdf->SetFont('helvetica', '', 12);
    $obj_pdf->setFontSubsetting(false);
    $obj_pdf->AddPage();
    $content = 'HTML Text'
         $obj_pdf->writeHTML($content, true, false, true, false, '');


        $path = base_url() . 'po/';
        $file_name = $rfq_row->rfq_id . '-' . $quote_row->quote_id . '-' . date('d-m-Y') . '.pdf';
        $full_path = $path . $file_name;
        ob_clean();
        $obj_pdf->Output($full_path, 'F');
?>

任何人都可以帮助我。我浪费了很多时间来解决这个错误。

3 个答案:

答案 0 :(得分:1)

在tcpdf_static.php下的静态函数中删除条件'if statement ..',它工作了!!

public static function fopenLocal($filename, $mode) {
    /*if (strpos($filename, '://') === false) {
        $filename = 'file://'.$filename;
    } elseif (strpos($filename, 'file://') !== 0) {
        return false;
    }*/
    return fopen($filename, $mode);
}

答案 1 :(得分:0)

在运行脚本时,确保您的文件没有打开。如果它在其他地方打开,则TCPDF无法打开它。

答案 2 :(得分:0)

尝试使用FCPATH代替base_url()

$obj_pdf->Output(FCPATH.'your/path/directory/filename.pdf', 'F');