如何在codeigniter中包含pdf下载

时间:2017-07-21 08:24:52

标签: php codeigniter

我想保留一个按钮来下载pdf文件。但是库文件会显示在视图中。有人请帮助我。提前谢谢。   控制器代码:

public function pdf()
{
    //load library
    $this->load->library('pdf');
    $pdf = $this->pdf->load();
   // retrieve data from model
    $data['DocFile'] = $this->Docauth->get_items();
    $data['DocFileName'] = "items";
    ini_set('memory_limit', '256M'); 
   // boost the memory limit if it's low ;)
    $html = $this->load->view('Docauth_v', $data, true);
   // render the view into HTML
    $pdf->WriteHTML($html); // write the HTML into the PDF
    $output = 'Docauth' . date('Y_m_d_H_i_s') . '_.pdf';
    $pdf->Output("$output", 'I'); // save to file because we can
    exit();

查看文件

<div class="form-group">                                                            
    <label class="control-label col-md-3">View File</label>
    <div class="col-md-5">
        <input name="DocFile" id="DocFile" class="form-control"` type="text" >
    </div>
    <a href="Docauth/pdf"><span class="glyphicon glyphicon-plus"></span></a> 
</div>

1 个答案:

答案 0 :(得分:1)

I函数中的Output选项将文件内联发送到浏览器。您需要使用D选项:

$pdf->Output("$output", 'D'); 

此处有更多信息:http://www.rubydoc.info/gems/rfpdf/1.17.1/TCPDF%3AOutput

  

@ param string:dest

     

目的地发送文件的位置。它可以采取其中之一   以下值:

     

I:将文件内联发送到浏览器(默认)。使用插件   如果可供使用的话。当人们选择名称时,使用名称给出的名称   生成PDF的链接上的“另存为”选项。

     

D:发送到浏览器并强制下载给定名称的文件   按名称。

     

F:保存到名称为name的名称的本地服务器文件。

     

S:将文档作为字符串返回。名称被忽略。

     

FI:相当于F + I选项

     

FD:相当于F + D选项