我想通过PHP生成PDF格式的简历。 TCPDF看起来像是一个灵活的库。假设这是预期的结果:
我刚刚开始学习TCPDF,到目前为止,我已经完成了公司名称,名称和名称,但是它们并没有完全相同。
这是我的代码:
<?php
require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
$image_file = 'umbrella_logo.jpg';
$this->Image($image_file, 10, 10, 45, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// Set font
$this->SetFont('helvetica', 'B', 20);
}
}
// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Umbrella Corporation');
$pdf->SetTitle('Employee Resume');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' My PDF', PDF_HEADER_STRING, array(0,64,255), array(0,64,100));
$pdf->AddPage();
$pdf->SetXY(15, 30);
$pdf->Cell(25, 10, 'Tobias Rieper', 0, $ln=0, 'C', 0, '', 0, false, 'B', 'B');
$pdf->SetXY(15, 35);
$pdf->Cell(20, 10, 'Senior Biochemist', 0, $ln=0, 'C', 0, '', 0, false, 'B', 'B');
$pdf->setFooterData(array(0,64,0), array(0,64,128));
$pdf->Output('example_001.pdf', 'I');
?>
该如何解决?
答案 0 :(得分:0)
首先,您对单元格使用的是中心对齐方式,而不是向左对齐,因此您的单元格分别被对齐为25毫米和20毫米的宽度。
相反,将'C'
调用的参数6从'L'
更改为Cell
,这会将它们更改为左对齐。这样可以使您的单元格按照预期的方式排列。
下一步,用于标题图像和文本对齐。由于您尝试将单元格与图像(或图像中的某些内容)的边界对齐,因此您可能希望使用$pdf->setCellPadding(0);
然后,您可以根据需要调整图像或单元格的位置。在这里,我将它们对齐为10mm的横坐标。
<?php
//Note that my paths are different, use your project's appropriate paths.
require_once('TCPDF-6.2.17/tcpdf.php');
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
// Set font
$image_file = 'lymle.jpg';
$this->Image($image_file, 10, 10, 45, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
$this->SetFont('helvetica', 'B', 20);
}
}
// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Umbrella Corporation');
$pdf->SetTitle('Employee Resume');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' My PDF', PDF_HEADER_STRING, array(0,64,255), array(0,64,100));
$pdf->AddPage();
$pdf->setCellPadding(0);
$pdf->SetXY(10, 30);
$pdf->Cell(25, 10, 'Tobias Rieper', 0, $ln=0, 'L', 0, '', 0, false, 'B', 'B');
$pdf->SetXY(10, 35);
$pdf->Cell(20, 10, 'Senior Biochemist', 0, $ln=0, 'L', 0, '', 0, false, 'B', 'B');
$pdf->setFooterData(array(0,64,0), array(0,64,128));
$pdf->Output('example_001.pdf', 'I');