gpt4 book ai didi

php - 在 Php 中将 Fpdf 中的文本换行

转载 作者:可可西里 更新时间:2023-10-31 23:07:25 44 4
gpt4 key购买 nike

我正在尝试使用 FPDF 在单元格中换行文本。这是我的代码。

<?php
require('fpdf.php');

$pdf = new FPDF();

$pdf->AddPage();
$pdf->SetFont('Arial','',16);
$pdf->Cell(20,7,'Hi1',1);
$pdf->Cell(20,7,'Hi2',1);
$pdf->Cell(20,7,'Hi3',1);

$pdf->Ln();

$pdf->Cell(20,7,'Hi4',1);
$pdf->Cell(20,7,'Hi5(xtra)',1);
$pdf->Cell(20,7,'Hi5',1);

$pdf->Output();
?>

此代码的输出如下所示 enter image description here

现在我想将那里的 Xtra 文本包装到单元格中。 xtra 文本应该进入第二行。我应该怎么做。

当我对该行使用 MultiCell 时 $pdf->MultiCell( 20, 7, 'Hi5(xtra)', 1);变成了下面的样子。。 enter image description here

我试过Log1c提到的答案是这样出来的 enter image description here

最佳答案

使用 MultiCell() 代替 Cell()

改变这个:

$pdf->Cell(20,7,'Hi5(xtra)',1);

收件人:

$pdf->MultiCell( 20, 7, 'Hi5(xtra)', 1);

MultiCell()用于打印多行文本。

编辑:

我可以看到 MultiCell() 打破了这一行,因此新的单元格将被放置在当前位置的下方。

在这种情况下,您可以计算xy 坐标并在输出每个单元格后计算新位置和设置位置。

<?php
require('fpdf.php');

$pdf = new FPDF();

$pdf->AddPage();

$start_x=$pdf->GetX(); //initial x (start of column position)
$current_y = $pdf->GetY();
$current_x = $pdf->GetX();

$cell_width = 20; //define cell width
$cell_height=7; //define cell height

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

$pdf->MultiCell($cell_width,$cell_height,'Hi1',1); //print one cell value
$current_x+=$cell_width; //calculate position for next cell
$pdf->SetXY($current_x, $current_y); //set position for next cell to print

$pdf->MultiCell($cell_width,$cell_height,'Hi2',1); //printing next cell
$current_x+=$cell_width; //re-calculate position for next cell
$pdf->SetXY($current_x, $current_y); //set position for next cell

$pdf->MultiCell($cell_width,$cell_height,'Hi3',1);
$current_x+=$cell_width;

$pdf->Ln();
$current_x=$start_x; //set x to start_x (beginning of line)
$current_y+=$cell_height; //increase y by cell_height to print on next line

$pdf->SetXY($current_x, $current_y);

$pdf->MultiCell($cell_width,$cell_height,'Hi4',1);
$current_x+=$cell_width;
$pdf->SetXY($current_x, $current_y);

$pdf->MultiCell($cell_width,$cell_height,'Hi5(xtra)',1);
$current_x+=$cell_width;
$pdf->SetXY($current_x, $current_y);

$pdf->MultiCell($cell_width,$cell_height,'Hi5',1);
$current_x+=$cell_width;
$pdf->SetXY($current_x, $current_y);

$pdf->Output();
?>

关于php - 在 Php 中将 Fpdf 中的文本换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23542244/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com