在 PHP 中使用 FPDF 将两个 MultiCell 并排放置
Posted
技术标签:
【中文标题】在 PHP 中使用 FPDF 将两个 MultiCell 并排放置【英文标题】:Placing two MultiCells next to each other using FPDF in PHP 【发布时间】:2012-08-12 12:28:40 【问题描述】:我尝试使用 FPDF Cell/MultiCell 创建自定义表格。
我的第一个单元格是MultiCell
,它有两行文本。下一个单元格应该就放在它旁边。
问题:无论我对下一个单元格做什么,它总是在页面的下一行,而不是紧挨着第一个单元格 - 这让我发疯了。
这是我的代码:
require_once 'config.php';
require 'fpdf.php';
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','',10);
$pdf->MultiCell(150,10,'Certificate of foreign Currency usage in respect of materials and components in terms of the notes to rebate item ',1);
$pdf->SetFont('Arial','',10);
$pdf->MultiCell(40,10,'DA190',1);
$pdf->Output();
包含文本“DA190”的单元格应放在前一个单元格的旁边,但位于前一个单元格的下方。
【问题讨论】:
【参考方案1】:在打印第一个多单元格之前,记录光标位置:
$x=$this->GetX();
$y=$this->GetY();
使用$this->Multicell($w,5,'Content');
添加您的多单元格
将光标位置重置为起始高度 (y) 和起始水平 + 第一个多格的宽度:
$this->SetXY($x+$w,$y);
添加您的下一个多单元格并根据需要重复。
【讨论】:
$w 未定义 $w 已定义。它是前一个单元格的宽度。如果你使用 MultiCell(123,6,'content');您也可以只使用 $this->SetXY($x+123,$y);如果您不使用 MultiCell 宽度的变量。【参考方案2】:这对我有用
$pdf->multicell(120, 5, ' ' . $actividad, 0, 'l', true);
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->SetXY($x + 120, $y);
$pdf->Cell(70, -5, ' ' . $claseActividad, '', 0, 'l', true);
result
【讨论】:
【参考方案3】:我找到了解决方案 - fpdf 有一个扩展 (#3),专注于使用多单元格。
【讨论】:
你能再解释一下这个答案吗?需要添加什么才能使 3 个单元格适合一行?这是您修改后的code。以上是关于在 PHP 中使用 FPDF 将两个 MultiCell 并排放置的主要内容,如果未能解决你的问题,请参考以下文章
FPDF.php 的文件大小比 TCPDF.php 小约 20 倍?为啥?
使用 FPDF (PHP) 插入带有 alpha 通道的 PNG
php中我用了thinkPHP 然后我要打印pdf报表 用了fpdf 但是现在不知道在action中怎么调用fpdf中的内容。