这个有点复杂的,我们一步一步来说明。
受先我们要下载pdf需要的文件,搜索‘php生成pdf’找到相关进行下载,这里不做介绍
//pdf下载
$name = $_SESSION['ex_uname'];
$name_pdf=$name.'.pdf';
$url = $_SERVER['DOCUMENT_ROOT']."/static/download/".$name;
if (false == file_exists($url.'/'.$name_pdf)) {
$name = $_SESSION['ex_uname'];
$url = $_SERVER['DOCUMENT_ROOT']."/static/download/".$name;
@mkdir ( $_SERVER['DOCUMENT_ROOT']."/static/download/".$name, 0777 );//新建文件夹
//echo dirname(dirname(__FILE__)).'/static/pdf/tdpdf/tcpdf_autoconfig.php';exit;
require_once($_SERVER['DOCUMENT_ROOT'].'/static/pdf/tcpdf/tcpdf.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/static/pdf/opendir.php');
$var_array = require($_SERVER['DOCUMENT_ROOT'].'/static/pdf/signconfig.php');
$str_array = require($_SERVER['DOCUMENT_ROOT'].'/static/pdf/rayconfig.php');
class MYPDF extends TCPDF {
public function Header() {
$bMargin = $this->getBreakMargin();
$auto_page_break = $this->AutoPageBreak;
$this->SetAutoPageBreak(false, 0);
$this->SetAutoPageBreak($auto_page_break, $bMargin);
$this->setPageMark();
}
}
$id = $_SESSION['ex_uid'];
$str = APP::M('advset')->get_exlist($id);
$companyname = $str['companyname'];
$username = $str['username'];
$fullname = $str['fullname'];
$telphone = $str['telphone'];
$address = $str['address'];
$fax = $str['fax'];
$email = $str['email'];
//print_r($str);exit;
//实例化类并设置一些PDF属性
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Note');
$pdf->SetTitle('Note');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF,文件');
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(0);
$pdf->SetFooterMargin(0);
$pdf->setPrintFooter(false);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//调用遍历文件的类
$biao = new opdirsign();
$jet = $biao->kob();
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$i=1;
foreach($jet as $key=>$value){
//添加新的一页
$pdf->AddPage();
$bMargin = $pdf->getBreakMargin();
$auto_page_break = $pdf->getAutoPageBreak();
$pdf->SetAutoPageBreak(false, 0);
$img_file = K_PATH_IMAGES.'sign/'.$value["name"];
$pdf->Image($img_file, 0, 0, 210, 297, '', '', '', true, 300, '', false, false, 0);
$pdf->SetAutoPageBreak($auto_page_break, $bMargin);
$pdf->setPageMark();
$pdf->SetFont('cid0cs', '', 10);
//这里开始定位
$bot = explode(",",$var_array[$i]['firm']);
$bot[0] == 0 && $bot[1] ==0?" " :$pdf->writeHTMLcell($bot[0],$bot[1],$bot[2],$bot[3],$companyname, 0, 0, false, false, '',0,0);
$jot = explode(",",$var_array[$i]['address']);
$jot[0] == 0?" ":$pdf->writeHTMLcell($jot[0],$jot[1],$jot[2],$jot[3],$address, 0, 0, false, false, '',0,0);
$aot = explode(",",$var_array[$i]['booth']);
$aot[0] ==0?" ":$pdf->writeHTMLcell($aot[0],$aot[1],$aot[2],$aot[3],$username, 0, 0, false, false, '',0,0);
$cot = explode(",",$var_array[$i]['touch']);
$cot[0] == 0?" ":$pdf->writeHTMLcell($cot[0],$cot[1],$cot[2],$cot[3],$fullname, 0, 0, false, false, '',0,0);
$dot = explode(",",$var_array[$i]['tel']);
$dot[0] == 0 ?" ":$pdf->writeHTMLcell($dot[0],$dot[1],$dot[2],$dot[3],$fax, 0, 0, false, false, '',0,0);
$eot = explode(",",$var_array[$i]['fax']);
$eot[0] == 0 ?" " :$pdf->writeHTMLcell($eot[0],$eot[1],$eot[2],$eot[3],$telphone, 0, 0, false, false, '',0,0);
$fot = explode(",",$var_array[$i]['email']);
$fot[0] == 0 ?" ":$pdf->writeHTMLcell($fot[0],$fot[1],$fot[2],$fot[3],$email, 0, 0, false, false, '',0,0);
$hot = explode(",",$var_array[$i]['phone']);
$hot[0] == 0 ?" " :$pdf->writeHTMLcell($hot[0],$hot[1],$hot[2],$hot[3],$phone, 0, 0, false, false, '',0,0);
$i++;
}
$iconv = iconv("UTF-8","gbk//TRANSLIT","资料下载");
//echo $mingz;exit;
$pdf->Output($name.'_optional.pdf', 'd');
$pdf->Output($url.'/'.$name.'_optional_'.$iconv.'.pdf', 'F');
}