使用FPDF复制文本并设置页面大小

时间:2012-01-11 08:55:57

标签: php fpdf

我正在使用FPDF。该课程以最基本的形式实施和运作。我创建了一张名片(3.5“x 2”)并将其放在8.5“x 11”页面上。该卡在一页上复制了10次。

这是我正在尝试做的事情:

  1. 复制一个变量10次,并为每个变量定义一个自定义偏移量(每张卡底部的字符串打印)

  2. 将页面大小从$unit='mm', $size='A4'更改为$unit='inch', $size='letter'。这样做会给我一个错误FPDF error: Incorrect unit: inch

  3. 我正在使用的代码如下:

           switch($_POST['picker']){
            case 'option1':
               // initiate FPDI 
                $pdf = new FPDI(); 
                // add a page 
                $pdf->AddPage(); 
                // set the sourcefile 
                $pdf->setSourceFile('10-up.pdf'); 
                // import page 1 
                $tplIdx = $pdf->importPage(1); 
                // use the imported page and place it at point 10,10 with a width of 100 mm 
                $pdf->useTemplate($tplIdx, 0, 0, 216, 279); 
                // now write some text above the imported page 
                $pdf->SetFont('Arial'); 
                $pdf->SetTextColor(0,0,0); 
                $pdf->SetXY(12, 12); 
    
                 //This is the variable I want to repeat 10 times and define custom offsets for each
                $pdf->Write(0, $user); 
                $pdf->Output('final.pdf', 'D'); 
               break;
    

    我读过的文档似乎非常有限。如果您知道任何好的文档,请告诉我。感谢。

3 个答案:

答案 0 :(得分:4)

如果其他人遇到同样的问题,我的问题的第二部分就是答案:

你必须在这里设置页面大小......

$pdf->AddPage('P', 'Letter');

这将页面定义为“Portrait”,“Letter”

我仍然在寻找第一部分的答案。如果有人可以提供帮助,我会很感激。

答案 1 :(得分:1)

FPDF类中有一个未记录的函数,也称为FPDF。

function FPDF($orientation='P', $unit='mm', $size='A4') { ... }

我用这种方式( - 请注意,$ pdf对象是FPDF类的子类。例如,这可能是FPDI对象;当它被定义为FPDI对象时,它在与原始问题中的方式相同,其中$ pdf是FPDI对象):

$pdf = new FPDI(); 
$pdf->FPDF('L' /* =$orientation */, 'pt' /* =$unit */, 'A4' /* =$size */);

因此,在这个代码示例中,从FPDF类派生的类的对象是调用FPDF类的FPDF函数来设置PDF文档的方向并将单位设置为'pt'(= points)尺寸符合DIN A4,这是德国的标准字母格式。

答案 2 :(得分:0)

你在启动构造函数的地方执行此操作,当前有$ pdf = new FPDI()

$ pdf = new FPDF('P','in','Letter');

P - 将文档设置为纵向 in - 将单位设置为英寸 信件 - 将文件大小设置为美国信件

http://www.fpdf.org/en/doc/fpdf.htm