FPDF表彼此相邻

问题描述:

Calendar year viewFPDF表彼此相邻

我试图创建类似上面的图像FPDF日历PDF,但我的表是他们之间显示。下面是我得到:

enter image description here

我使用这个脚本:http://www.fpdf.org/en/script/script50.php ,让我到HTML表格转换为PDF。

非常感谢,如果有人有一个想法如何我可以实现这一点或有人知道这个问题的另一个工具。

+1

不太清楚'它们之间的含义'。你可以添加你正在获取的屏幕截图。 而且,fwiw中的表格是使用html将事物组织在一起的标准方法,所以也许类似的东西可以在fpdf中与您一起工作。 (我没有一个例子可以证明这一点,但考虑一下。) –

+0

https://i.stack.imgur.com/pZwa2.png这就是我得到的。是的,好点,我试图在每张“行”的一张大桌子上做,但效果不佳。我会进一步尝试。 –

您可以使用setXY函数在您每次开始绘制表格时移动页面上的当前位置。在每个表格行之后,当前位置将一直返回到左边距而不是先前的X位置,但您可以使用SetLeftMargin来解决该问题。

下面的示例使用您链接到的脚本。你可以调整数字或做一些更聪明的尺寸计算。我打印了相同的表格12次,以保持示例代码的简短。

<?php 
require('html_table.php'); 
$pdf = new PDF('L'); 
$pdf->AddPage(); 
$pdf->SetFont('Arial', '', 12); 

$html = '<table border="1"> 
<tr><td width="100" height="50">cell 1</td><td width="100" height="50">cell 2</td></tr> 
<tr><td width="100" height="50">cell 3</td><td width="100" height="50">cell 4</td></tr> 
</table>'; 

// 'origin' is the top left of the January table: 
$originX = 10; 
$originY = 50; 
for ($i = 0; $i < 12; $i++) { 
    // Move 70mm to the right after every month: 
    $x = $originX + ($i % 4) * 70; 
    // Move 60mm down after every 4 months: 
    $y = $originY + floor($i/4) * 60; 
    $pdf->SetLeftMargin($x); 
    $pdf->SetXY($x, $y); 
    $pdf->WriteHTML($html); 
} 
$pdf->Output(); 
?>