使用 fpdf Write() 时遇到奇怪的上边距
Experiencing weird top margin when using 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)
我明白了
上面看起来我可以轻松地给 Y 加 7.5 分并且没问题。
但是,如果我更改字体大小,顶部和文本之间的距离会变大一些。
$pdf->SetFont('Arial', '', 8);
任何人都可以帮我弄清楚如何中和它以至少做到这样,如果我将 XY 设置为一个数字,它会把它放在某个位置,而不管字体大小如何?我试过不同的 pdf,但效果都一样。
编辑:
我做了 $pdf->GetY()
,我得到了 28.35
您只需将行高定义为零即可。因此,文本在 0 附近垂直 "centered"。
常见的行高是:
$pdf->Write($pdf->FontSize * 1.2, "Hi");
我用 Cell()
.
而不是 Write()
解决了这个问题
我认为主要问题是没有固定的宽度和高度。我所知道的是它现在 完美 所以任何遇到同样问题的人都应该试试这个。
$pdf->Cell(WIDTH,HEIGHT,TEXT);
我还做了以下操作,不确定是否有帮助,但我的脚本中有它。
$pdf->SetMargins(0, 0);
$pdf->cMargin = 0;
我正在尝试将文本写入 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)
我明白了
上面看起来我可以轻松地给 Y 加 7.5 分并且没问题。
但是,如果我更改字体大小,顶部和文本之间的距离会变大一些。
$pdf->SetFont('Arial', '', 8);
任何人都可以帮我弄清楚如何中和它以至少做到这样,如果我将 XY 设置为一个数字,它会把它放在某个位置,而不管字体大小如何?我试过不同的 pdf,但效果都一样。
编辑:
我做了 $pdf->GetY()
,我得到了 28.35
您只需将行高定义为零即可。因此,文本在 0 附近垂直 "centered"。
常见的行高是:
$pdf->Write($pdf->FontSize * 1.2, "Hi");
我用 Cell()
.
Write()
解决了这个问题
我认为主要问题是没有固定的宽度和高度。我所知道的是它现在 完美 所以任何遇到同样问题的人都应该试试这个。
$pdf->Cell(WIDTH,HEIGHT,TEXT);
我还做了以下操作,不确定是否有帮助,但我的脚本中有它。
$pdf->SetMargins(0, 0);
$pdf->cMargin = 0;