我正在使用FPDF。该课程以最基本的形式实施和运作。我创建了一张名片(3.5“x 2”)并将其放在8.5“x 11”页面上。该卡在一页上复制了10次。
这是我正在尝试做的事情:
复制一个变量10次,并为每个变量定义一个自定义偏移量(每张卡底部的字符串打印)
将页面大小从$unit='mm', $size='A4'
更改为$unit='inch', $size='letter'
。这样做会给我一个错误FPDF error: Incorrect unit: inch
我正在使用的代码如下:
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;
我读过的文档似乎非常有限。如果您知道任何好的文档,请告诉我。感谢。
答案 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 - 将单位设置为英寸 信件 - 将文件大小设置为美国信件