简体   繁体   English

TCPDF错误:已经输出了一些数据,尝试将数据放入视图时无法发送PDF文件

[英]TCPDF ERROR: Some data has already been output, can't send PDF file while trying to put data in view

I am trying to put my foreach loop in my view. 我试图将我的foreach循环放在我的视野中。 When I tried to refresh my page, I encountered this error and also tried to do some research and follow the instructions still not working.. What is the cause of this error? 当我尝试刷新页面时,我遇到了此错误,并且还尝试进行一些研究并按照仍然无法使用的说明进行操作。.此错误的原因是什么? 我的输出

Controller 调节器

public function testing(){
        $this->load->library('Pdf');
        $this->load->model('newModel');
        $data['accounts'] = $this->newModel->get('users');
        $this->load->view('admin/testing',$data);
    }

View 视图

    <?php
//============================================================+
// File name   : example_016.php
// Begin       : 2008-03-04
// Last Update : 2013-05-14
//
// Description : Example 016 for TCPDF class
//               Document Encryption / Security
//
// Author: Nicola Asuni
//
// (c) Copyright:
//               Nicola Asuni
//               Tecnick.com LTD
//               www.tecnick.com
//               info@tecnick.com
//============================================================+

/**
 * Creates an example PDF TEST document using TCPDF
 * @package com.tecnick.tcpdf
 * @abstract TCPDF - Example: Document Encryption / Security
 * @author Nicola Asuni
 * @since 2008-03-04
 */

// Include the main TCPDF library (search for installation path).

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);


// *** Set PDF protection (encryption) *********************

/*
  The permission array is composed of values taken from the following ones (specify the ones you want to block):
    - print : Print the document;
    - modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble';
    - copy : Copy or otherwise extract text and graphics from the document;
    - annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields);
    - fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified;
    - extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes);
    - assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set;
    - print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality.
    - owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions.

 If you don't set any password, the document will open as usual.
 If you set a user password, the PDF viewer will ask for it before displaying the document.
 The master (owner) password, if different from the user one, can be used to get full document access.

 Possible encryption modes are:
    0 = RSA 40 bit
    1 = RSA 128 bit
    2 = AES 128 bit
    3 = AES 256 bit

 NOTES:
 - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt
 - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
 - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes

*/

$pdf->SetProtection(array('print', 'copy'), '', null, 0, null);

// Example with public-key
// To open the document you need to install the private key (tcpdf.p12) on the Acrobat Reader. The password is: 1234
//$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', $owner_pass=null, $mode=1, $pubkeys=array(array('c' => 'file://../config/cert/tcpdf.crt', 'p' => array('print'))));

// *********************************************************


// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 016');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH ,PDF_HEADER_TITLE.'example_016', PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array('helvetica', '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array('helvetica', '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}

// ---------------------------------------------------------

// set font
$pdf->SetFont('times', '', 16);

// add a page
$pdf->AddPage();

// set some text to print
$tbl='
<table cellspacing="0" cellpadding="1" border="1">
        <tr>
            <td>Branch Name</td>
            <td>Amount</td>
            <td>Balance</td>
        </tr>
    ';
foreach ($branches as $b){
$tbl .= '<tr>
        <td>'.$b['branch'].'</td>

    ';
}
foreach($amount as $a){
$tbl .= '
        <td>'.$a['amount_charged'].'</td>

    </tr>'
    ;

    }
$tbl.='

</table>
';
$pdf->writeHTML($tbl, true, false, false, false, '');


// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output('example_016.pdf', 'D');

//============================================================+
// END OF FILE
//============================================================+
?>

Model 模型

public function get($table)
    {
        $result = $this->db->get($table);
        return $result->result_array();
    }

Note: I added ob_start(); 注意:我添加了ob_start(); // This is what I saw while i am doing some research And also ob_end_clean(); //这是我在做研究时所看到的,还有ob_end_clean();

TCPDF_Config TCPDF_Config

    define ('PDF_AUTHOR', 'TCPDF');

    /**
     * Header title.
     */
    define ('PDF_HEADER_TITLE', '504 CEMENTINA STREET | ARNAIZ AVE., PASAY CITY 1013 | 0919-333-3434');

    /**
     * Header description string.
     */
    define ('PDF_HEADER_STRING', "by Try - Tecnick.com\nwww.tcpdf.org");

NOTE: In my tcpdf_config, I changed the header title 注意:在我的tcpdf_config中,我更改了标题标题

**TCPDF_Autoconfig**

if (!defined('PDF_HEADER_LOGO')) {
    $tcpdf_header_logo = '';
    if (@file_exists(K_PATH_IMAGES.'16358960_120300001889155349_1641985124_n.png')) {
        $tcpdf_header_logo = '16358960_120300001889155349_1641985124_n.png';
    }
    define ('PDF_HEADER_LOGO', $tcpdf_header_logo);
}

NOTE: In my tcpdf_autoconfig, I changed the image where the default image is tcpdf_logo 注意:在我的tcpdf_autoconfig中,我更改了默认图像为tcpdf_logo的图像

You can use string concatenation to create table 您可以使用字符串串联创建表

$e="1,2,3,4,5";
$arr=explode(',',$e);
$tbl='
<table cellspacing="0" cellpadding="1" border="1">
    ';
foreach ($arr as $e){
$tbl .= '

    <tr>
        <td>'.$e.'</td>
        <td>COL 3 - ROW 2</td>
    </tr>'
    ;

}
$tbl.='

</table>
';


$pdf->writeHTML($tbl, true, false, false, false, '');

Output: 输出:

表tcpdf的输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 TCPDF &amp; mPDF 错误:部分数据已经输出到浏览器,无法发送PDF文件 - TCPDF & mPDF error: Some data has already been output to browser, can't send PDF file TCPDF ERROR:部分数据已经输出,无法发送PDF文件 - TCPDF ERROR: Some data has already been output, can't send PDF file TCPDF ERROR: Some data has been output to browser, can't send PDF file - TCPDF ERROR: Some data has already been output to browser, can't send PDF file 获取TCPDF:一些数据已经输出,无法在Laravel 4中发送PDF文件 - Getting TCPDF:Some data has already been output, can't send PDF file in Laravel 4 使用FPDF致命错误:有些数据已经输出,无法发送PDF文件? - Fatal error using FPDF:Some data has already been output, can't send PDF file? FPDF 错误:部分数据已经输出。 无法发送 PDF 文件 - FPDF error: some data has already been output. Can't send PDF file FPDF错误:已经输出了一些数据,无法发送PDF文件 - FPDF error: Some data has already been output, can't send PDF file magento FPDF错误:已经输出了一些数据,无法发送PDF文件 - magento FPDF error: Some data has already been output, can't send PDF file FPDF错误:有些数据已经输出,无法在000webhost上发送PDF文件 - FPDF error: Some data has already been output, can't send PDF file on 000webhost mPDF错误:部分数据已经输出到浏览器,无法发送PDF文件 - mPDF error: Some data has already been output to browser, can't send PDF file
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM