20

I have been using TCPDF for sometime. It's simple to use, outputs low size PDF and is under active development. Following is the code for a page which should only have Hello World and a footer showing page number. However I get an additional Horizontal Line at the top of the page.It's bugging me. How do I get rid of it?

<?php
require_once('config/lang/eng.php');
require_once('tcpdf.php');

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

// set document information
$pdf->SetCreator(PDF_CREATOR);

// set default header data

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', 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);//if i comment this out the lower line disappears

//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
$pdf->setLanguageArray($l);

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

// set font
$pdf->SetFont('helvetica', '', 10);

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


// define some HTML content with style
$html = <<<EOF
Hello World
EOF;

// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');

// reset pointer to the last page
$pdf->lastPage();

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

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

?>

Solution:

$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);

Changing or eliminating Header & Footer in TCPDF

Zoe
  • 27,060
  • 21
  • 118
  • 148
abel
  • 2,377
  • 9
  • 39
  • 62
  • 2
    And you need to add these lines *before* the addPage command, this got me stuck.. – huesforalice Aug 10 '11 at 15:29
  • This isn't exactly an answer, but I have wasted a lot of time battling similar issues. All that I know to tell you is read the documentation. I also figured out most of my issues by reading the TCPDF source code. And as always, don't give up! – Icode4food Aug 06 '10 at 12:07
  • thx. but the source is pretty long. i am learning to live with the line. – abel Aug 06 '10 at 16:12

3 Answers3

35

just do this $pdf->setPrintHeader(false); and the line at the top will go away

animuson
  • 53,861
  • 28
  • 137
  • 147
bakaburg
  • 366
  • 3
  • 3
  • 12
    It's worth noting the `setPrintHeader(false)` command must come before the `AddPage()` command otherwise the black line will continue to display. – Loftx Aug 07 '12 at 12:41
  • This solution did not work for me. I had to override the `Header()` method to remove the line, as explained by @user412934 – Jeff Hines Dec 06 '12 at 17:01
4

The horizontal line is defined on the default Header(). You can either override the Header() method as on example n. 3 or disable the header as on the example n. 2. Check the TCPDF website at http://www.tcpdf.org and consult the official forum for further information.

user412934
  • 364
  • 4
  • 5
1

In case this is not solved for anyone else here and they are using FPDI to import a template, try looking at the calculated page height from FPDI and the resultant page height from TCPDF. For me they did not match, and to get rid of the black line I had to add 8 to the page height, and subtract 7 from the y-ordinate value in the useTemplate function in addition to setPrintHeader(false), like this:

$tplidx = $pdf->ImportPage($i);
$s = $pdf->getTemplateSize($tplidx);
// TCPDF STUFF, AddPage(), etc.
$pdf->useTemplate($tplidx,0,-7,$s['w'],$s['h']+8);
jbrain
  • 561
  • 3
  • 7
  • 18