2013-01-16 30 views
0

你好我试图用HTML2PDF创建一个包含在VICH表中的PHP文件的PDF日从MySQL数据库中的数据取出,并通过使用while循环产生 但闻一TR运行PHP文件
它说follwoing错误 TCPDF ERROR:一些数据已输出,不能发送PDF文件[在这里输入的形象描述] [1] ñ任何人的帮助我在解决问题请 这里是我的代码,使用HTML2PDF API保存在PHP和HTML表格生成MySQL数据

<?php 

session_start(); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache"); 
//error_reporting(0); 
/* 
    Author : yaser kazi 
    Description : This File Contain Additions and Editing part for the Paxes 
*/ 

if (!isset($_SESSION["username"])) { 
    header("location: unauthorize_access.html"); 
    exit(); 
} 


if (isset($_GET["cityprin"])) { 

    mysql_connect("localhost", "root", '') or die(mysql_error()); 
    mysql_select_db('webapp') or die(mysql_error()); 


    $get = mysql_query("SELECT code, `name` FROM city ORDER BY `name`") or die(mysql_error()); 




    $ctr = 0; 

    ini_set("memory_limit", "50M"); 
    ob_start(); 
    ?> 
<style type="text/css" media="all"> 
       <!-- 
       body { 
        margin:0px; 
        font-family:Verdana, Arial, Helvetica, sans-serif; 
        font-size:12px; 
       } 

       span { 
        font-size:14px; 
       } 

       td { 
        width: 100mm; 
        max-width: 100mm; 
        height: 33mm; 
        max-height:33mm; 
        top:0mm; 
       } 
       table { 
        border-collapse:collapse; 
       } 
       --> 
      </style> 

    <?php 

      echo "<table border=\"1\" align=\"right\" style =\"width: 205mm;\">"; 
      echo "<th>Srno</th>"; 
      echo "<th>Code</th>"; 
      echo "<th>Name</th>"; 

    while ($city = mysql_fetch_array($get)) { 
      $ctr++; 
      echo "<td style=\"width: 100mm; max-width: 100mm; height:33mm; padding-left:1mm;\" valign=\"right\">".$ctr."</td>"; 
      echo "<td style=\"width: 100mm; max-width: 100mm; height:33mm; padding-left:7mm;\" valign=\"right\">".$city['code']."</td>"; 
      echo "<td style=\"width: 100mm; max-width: 100mm; height:33mm; padding-left:7mm;\" valign=\"right\">".$city['name']."</td>"; 
       } 
    echo "</table>"; 
} // Submit Tag Close 

?> 

      <?php 
      $content = ob_get_clean(); 
// conversion HTML => PDF 
      require_once('html2pdf/html2pdf.class.php'); 
      try { 
       $html2pdf = new HTML2PDF('P', 'A4', 'EN', false, 'ISO-8859-15', array("5mm", "13mm", "0mm", "0mm")); 
       $html2pdf->pdf->SetAuthor('CepheiSys'); 
       $html2pdf->pdf->SetTitle('City_list'); 
//  $html2pdf->pdf->SetSubject('HTML2PDF Wiki'); 
       //  $html2pdf->pdf->SetKeywords('HTML2PDF, TCPDF, example, wiki'); 
       $html2pdf->setDefaultFont('Arial'); 
       $html2pdf->writeHTML($content); 
       $html2pdf->Output('City_list.pdf'); 
      } catch (HTML2PDF_exception $e) { 
       echo $e; 
      } 
      ?> 
+0

如果查看HTML,而不是生成的PDF会发生什么想法? – cimmanon

+0

它显示了一个错误 TCPDF错误:某些数据已经被输出,不能发送PDF文件[在这里输入的形象描述] [1] – john

+0

可以uplease帮我解决这个问题 – john

回答

0

在输出这些标题之前,您已经有了某种输出。有几件事要检查:

  • 在代码的早些时候你有任何回声声明(或类似)吗?
  • 这个PHP标签之前有没有空格?新行或标签会触发输出发送到浏览器
  • 您是否关闭了编辑器中的BOM功能,因为这会导致UTF8文档和触发输出发送到浏览器的问题
  • 检查错误日志,应该有一个行号与该错误。它应该给你从哪里开始寻找
+0

实际上,日志中可能没有错误(或者如果有的话,它不会是有用的)。错误被生成PDF的库捕获,而不是由PHP本身捕获。 – cimmanon

+0

所以你可以弄明白并修改我的代码,因为我是新的php – john

+0

所以可以解决这个问题呢? – john