2017-01-29 34 views
0

我想把我的foreach循環在我看來。當我試圖刷新我的頁面時,我遇到了這個錯誤,並試圖做一些研究,並按照說明仍然不工作。這個錯誤的原因是什麼? My outputTCPDF錯誤:一些數據已經輸出,不能發送PDF文件,而試圖把數據放在視圖中

控制器

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

查看

<?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 
//    [email protected] 
//============================================================+ 

/** 
* 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 
//============================================================+ 
?> 

型號

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

注:我添加ob_start(); //這是我在做一些研究時看到的 還有ob_end_clean();

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"); 

注:在我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); 
} 

注:在我tcpdf_autoconfig,我改變了圖像在默認圖像tcpdf_logo

+0

從[提問](http://stackoverflow.com/questions/41937487)我才知道,你想**新圖像後圖像**後圖像。所以,而不是奮鬥與PDF頭。使用唯一的圖像在頭。後標頭設計機構相應與各種字體,換行符等 –

回答

0

您可以使用字符串連接創建表

$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 of table tcpdf

+0

先生,我怎樣才能顯示我所有的數據我的表格放入我的pdf?爲了使它動態地變爲 – Angel

+0

,你可以在foreach循環中傳遞變量數據來創建tabel。如果你想得到更多的幫助,然後給出print_r($ accounts)的結果,那麼我將使表格成爲它的表格。 –

+0

先生,我該如何/應該在哪裏放新線?在我看來,tcpdf_config或tcpdf_autoconfig? – Angel

相關問題