2019独角兽企业重金招聘Python工程师标准>>>

这个有点复杂的,我们一步一步来说明。

受先我们要下载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');
}

转载于:https://my.oschina.net/meng527/blog/364276

php实现pdf文件的生成与下载相关推荐

  1. Nginx配置文件目录实现pdf文件预览及下载

    默认情况下,通过nginx服务器来访问pdf文件,在浏览器上是会直接打开该pdf文件呈现内容的.如果想要访问pdf文件时,实现下载文件的效果,则需要在nginx服务端做一些配置. 以下配置只能下载 n ...

  2. JAVA 实现返回PDF文件流并进行下载

    JAVA 实现返回PDF文件流并进行下载 首先确保本地存放pdf 保证通过路径可以拿到文件 我这边把pdf放在e盘下的目录 1.前台方法 原生ajax 发送请求返回文件流进行下载 function d ...

  3. Java使用itextpdf生成PDF文件,用浏览器下载

    浏览器下载生成PDF文件 1.引入jar包 <dependency><groupId>com.itextpdf</groupId><artifactId> ...

  4. 生成pdf文件并打包zip下载

    第一种写法,使用org.apache.tools.zip,具体流程: 1.逐个生成pdf文件 2.打包zip 3.下载 第二种写法,使用java.util.zip,这种写法没成功. 1.使用pdf文件 ...

  5. 课堂派PDF文件下载教程 / 课堂派批量下载PDF文件 / 在课堂派下载老师上传的资料

    试了网上说的20多种方法,都没有下载成功,最后终于发现了一种实用的下载方法: 一.首先用谷歌浏览器打开课堂派(最好用谷歌),打开这个页面,点开文件 二.打开这个页面之后,在下面这个页面点击F12 三. ...

  6. PHP中使用mpdf导出PDF文件以及生成PDF的方法

    电子书内容介绍了关于PHP.核心技术.实践方面的内容,目前豆瓣.亚马逊.当当.京东等电子书综合评分为:7.1 PHP中使用mpdf 导出PDF文件的实现方法 mPDF是一个很强大的PDF生成库,能基本 ...

  7. php图片生成加密pdf文件,php生成PDF格式文件并且加密

    本文给大家介绍的是如何使用php生成pdf文件,并且把该文件加密或设置访问密码的方法,有需要的小伙伴可以参考下. 项目需求:php生成pdf文件,,并且把该文件加密或设置访问密码 开源的TCPDF是基 ...

  8. pdf文件如何生成目录 wps_wps制作pdf文档的详细方法

    一些用户在使用wps软件的时候,wps怎样制作pdf文档?你们知道怎么操作的吗?对此感兴趣的伙伴们可以去下文看看wps制作pdf文档的详细方法. wps制作pdf文档的详细方法 一.打开或生成原始文件 ...

  9. php pdf只能查看不能下载,对于pdf文件不支持浏览器下载如何处理?

    最近在工作中遇到这样一个问题,就是知道pdf文件的下载地址,但是所有浏览器对于pdf文件都是在浏览器中打开,不支持下载,需要用户下载下来.于是就做了一个html页面,把下载地址设为downpdf.ph ...

最新文章

  1. 3分和30分文章差距在哪里?
  2. 美国限制研究生入境,港大神操作,只要你愿意,填个表就行,还有机会获得校长奖学金...
  3. 基于canoe 新建一个lin工程_CANoe教程 | 高级编程 - C Library API
  4. SQL Server 2000 To SQL Server 2005
  5. ABAP function group和Tomcat library重复加载问题
  6. Flask 中的Jinja2模板引擎
  7. Springboot: Failed to get nested archive for entry BOOT-INF/lib/ Zip64 archives are not supported
  8. 实例协议分析RFC1483:AAL5和几种常见ADSL接入技术
  9. flashlite3无法接入网络的解决办法
  10. 计算机基本知识(8000)---boot系统引导文件
  11. 小写的tensor接受数据,大写的Tensor()接受的是shape,数据的维度
  12. net framework 4.0安装未成功,原因是?
  13. CRITIC权重指标如何计算?
  14. Spring的Bean生命周期
  15. 使用shell脚本实现everthing的功能
  16. 企业内IT部/信息部发展阶段和趋势(第一阶段)
  17. cesium等高线_Cesium专栏-空间分析之地形等高线(附源码下载)
  18. 租客儿子高考608分,房东送上大礼“免租4年”
  19. win7设置自动关机
  20. numeric mysql_MYSQL的DECIMAL和NUMERIC类型

热门文章

  1. .net 解析Transfer-Encoding:chunked 秒掉网上无用方案
  2. 从零开始攻略PHP(8)——面向对象(下)
  3. jQuery自定义选择器
  4. 鸡啄米MFC教程笔记之七:对话框:为控件添加消息处理函数
  5. VelocityTracker简要
  6. jenkins 通过批处理自动构建 非标准项目
  7. 【原创】ABAP动态编程之功能实现
  8. 02-15 GUCCI 我喜欢的
  9. Spring事物的实现方式和原理以及隔离级别
  10. static{}静态代码块与{}普通代码块和构造代码块之间的区别