php 如何使名片与fpdf或tcpdf或其他?当我有一个jpg背景和文字重叠的要求?

0qx6xfy6  于 2022-11-21  发布在  PHP
关注(0)|答案(5)|浏览(138)

我有一个jpg图像的名片布局与尺寸:9.8厘米/5.9厘米。我必须把它作为背景布局,在这个布局的顶部,我必须打印姓名/地址/电话号码电子邮件等,并打印它/保存为pdf供以后使用。
但问题是我不能让它与FPDF或TCPDF一起工作。有什么想法我该如何准备这个?与FPDF或TCPDF?

k10s72fa

k10s72fa1#

使用TCPDF,您可以完全按原样定位元素,因此您可以执行以下操作

$pdf = new TCPDF('L', 'mm', 'A4'); //Or whatever your required settings are

//Basic setup
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);

$pdf->AddPage();

$pdf->Image('src', x, y); //Where x and y are the offset (probably 0, 0)
$pdf->writeHTMLCell(w, h, x, y, 'html') //Again where x and y are offset

$pdf->Output('filename.pdf', 'D'); //To force download

TCPDF在线文档不是很好,但是示例很有帮助

csga3l58

csga3l582#

您特别询问了如何创建名片大小的文稿,因此您应该用途:

//Sets document size to a 5.9cm x 9.8cm landscape oriented page    
$pdf = new TCPDF('L', 'mm', array(59,98));

文档在此处提供了预定义页面大小的列表:http://www.tcpdf.org/doc/classTCPDF.html#a087d4df77e60b7054e97804069ed32c5

hl0ma9xz

hl0ma9xz3#

http://www.tcpdf.org中的示例n.51显示了如何创建一个完整的页面背景。然后,对于页面格式,请查看getPageSizeFromFormat()方法的源代码文档(已经定义了300多种页面格式,包括名片)。

2hh7jdfx

2hh7jdfx4#

要在fpdf上设置背景,在类中设置Header()函数时,首先要调用Image()。
我通常的做法是在我自己的类中扩展Extend FPDF,即:
如果您有任何问题,请联系我们。
类SomeClassName扩展了FPDF {
//添加示例变量(如果需要)
....
函数头(){
//现在调用Image()
$this-〉图像();//在此处设置您的背景
...
}
}
如果你在www.example.com网站上查看常见fpdf.org问题解答,你会看到(模糊的)如何做到这一点的说明。

goqiplq2

goqiplq25#

有一个实现FPDF的库,称为FPDI。要创建自定义纸张尺寸,如名片,通常使用CR 80,尺寸为54 mm x 86 mm,您可以直接将此尺寸添加到fpdf.php的类构造函数中,如stdPageSizes所示:* *'cr 80'=〉array(152.82,243.38)**.此条目已存在,因此只需添加此自定义条目.您得完整定义如下所示:

$this->StdPageSizes = array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28), 'letter'=>array(612,792), 'legal'=>array(612,1008), 'cr80'=>array(152.82,243.38));

如果使用FPDI,您的呼叫将如下所示:

$pdf = new Fpdi();
$pdf->AddPage('L','cr80');   //note our custom name

请注意,即使CR 80的正确尺寸是54 x86 mm,正确的设置似乎要求这些值乘以2.83 -测试。我希望这有助于代码缩短和快速重用。

相关问题