Испытывает странный верхний край при использовании fpdf Write ()

Я пытаюсь записать текст в PDF, и в верхней части моей страницы есть странное поле.

Это мой следующий код:

require_once('fpdf.php');
require_once('fpdi/fpdi.php');

//Start the FPDI
$pdf = new FPDI('P', 'pt');

//Set the source PDF file
$source_file = $pdf->setSourceFile("template.pdf");

//Import the first page of the file
$tppl = $pdf->importPage(1);

$pdf->AddPage();

//get size of pdf page
$size = $pdf->getTemplateSize($tppl);

$pdf->useTemplate($tppl, null, null, $size['w'], $size['h'], true);
$pdf->SetMargins(0, 0, 0);
$pdf->SetTextColor(0, 0, 0);

Когда я использую размер шрифта pt 12 и пишу текст, я получаю это:

$pdf->SetFont('Arial', '', 12);
$pdf->SetXY(0, 0);
$pdf->Write(0, "Hi");

введите описание изображения здесь

Когда я делаю $pdf->SetXY(0, 7.5) Я понял

введите описание изображения здесь

Вышесказанное выглядит так, будто я могу легко добавить 7,5 баллов к Y и все будет в порядке.

Однако, если я изменил размер шрифта, расстояние между верхом и текстом будет немного больше.

$pdf->SetFont('Arial', '', 8);

введите описание изображения здесь

Может ли кто-нибудь помочь мне разобраться, как нейтрализовать это, чтобы хотя бы сделать так, чтобы, если я установил свой XY на число, он поместил бы его в определенное место независимо от размера шрифта? Я пробовал разные PDF и все работает одинаково.

РЕДАКТИРОВАТЬ:

я сделал $pdf->GetY() и я получаю 28.35

0

Решение

Вы просто определяете высоту строки, равную нулю. Из-за этого текст «центрируется» вертикально вокруг 0.

ограничительная рамка текста

Общая высота строки:

$pdf->Write($pdf->FontSize * 1.2, "Hi");
0

Другие решения

Я решил это, вместо того, чтобы делать Write() я использовал Cell(),

Я думаю, что основной проблемой было не иметь твердую ширину и высоту. Все, что я знаю, это работает в совершенстве Теперь любой, кто сталкивается с такими же проблемами, должен попробовать это.

$pdf->Cell(WIDTH,HEIGHT,TEXT);

Я также сделал следующее, не уверен, помогло ли это или нет, но у меня есть это в моем сценарии.

$pdf->SetMargins(0, 0);
$pdf->cMargin = 0;
0

По вопросам рекламы [email protected]