Подтвердить что ты не робот

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

Я использую 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

4b9b3361

Ответ 1

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

Ответ 2

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

Ответ 3

Если это не разрешено для кого-то еще здесь, и они используют 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);