PHP / TCPDF: ошибка шаблона? - PullRequest
       1

PHP / TCPDF: ошибка шаблона?

19 голосов
/ 06 августа 2010

Я уже некоторое время использую TCPDF. Он прост в использовании, выводит PDF небольшого размера и находится в стадии активной разработки. Ниже приведен код страницы, на которой должны быть только Hello World и нижний колонтитул с номером страницы. Однако я получаю дополнительную горизонтальную линию вверху страницы. Это меня беспокоит. Как мне от этого избавиться?

<?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');

?>

Решение:

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

Изменение или удаление верхнего и нижнего колонтитула в TCPDF

Ответы [ 3 ]

35 голосов
/ 26 ноября 2011

просто сделайте это $pdf->setPrintHeader(false); и линия наверху исчезнет

4 голосов
/ 06 августа 2010

Горизонтальная линия определена в заголовке по умолчанию (). Вы можете переопределить метод Header (), как в примере n. 3 или отключите заголовок, как в примере n. 2. Посетите веб-сайт TCPDF по адресу http://www.tcpdf.org и обратитесь на официальный форум для получения дополнительной информации.

1 голос
/ 01 ноября 2012

Если это не решается ни для кого здесь, и они используют FPDI для импорта шаблона, попробуйте посмотреть на рассчитанную высоту страницы из FPDI и результирующую высоту страницы из TCPDF.Для меня они не совпадали, и чтобы избавиться от черной линии, мне пришлось добавить 8 к высоте страницы и вычесть 7 из значения y-координаты в функции useTemplate в дополнение к setPrintHeader (false), например так:

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