php实现pdf导出和打印功能。

所用插件:TCODF

//导出pdf
    
    public function export_pdf($order_sn){
        require_once(FCPATH .‘../shared/plugin/tcpdf/tcpdf.php‘);
        
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, "pt", "A4", true, ‘UTF-8‘, false);
        $pdf->SetFooterMargin(50);
        $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
        if (@file_exists(FCPATH .‘../shared/plugin/tcpdf/examples/lang/eng.php‘)) {
            require_once(FCPATH .‘../shared/plugin/tcpdf/examples/lang/eng.php‘);
            $pdf->setLanguageArray($l);
        }
        $pdf->SetMargins(20,50,10 ,true);
        $pdf->AddPage();
        $pdf->SetFont(‘stsongstdlight‘, ‘‘, 12);
        $buffer = $this->assign_value($order_sn);
        $startpos = strpos($buffer,‘<!--startprint1-->‘);
        $endpos = strpos($buffer,‘<!--endprint1-->‘);
        $html = substr($buffer,$startpos,$endpos-$startpos+strlen(‘<!--endprint1-->‘));
        header("Content-type: text/html; charset=utf-8");
        $name = "customs_declaration";
        $export_name = $name.‘_‘.$order_sn;
        $pdf->writeHTML($html,true,false,false,false,false);
        $pdf->Output($export_name.‘.pdf‘, ‘d‘);
    }

  //将获取的网页赋值
    public function assign_value($order_sn){
        ob_start();
        $this->declaration_print($order_sn);
        $buffer = ob_get_contents();
        ob_clean();
        return $buffer;
    }

通过ob缓存,将动态的页面缓存,已用来导出。

js打印

<script>
    function preview(oper){
        if (oper < 10){
            //get_page_info();
            bdhtml=window.document.body.innerHTML;//获取当前页的html代码
            sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
            eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
            prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
            
            prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
            window.document.body.innerHTML=prnhtml;
            window.print();
            //prnhtml.print();
            window.document.body.innerHTML=bdhtml;
        } else {
            window.print();
        }
    }
</script>

时间: 2024-10-09 06:20:53

php实现pdf导出和打印功能。的相关文章

个人永久性免费-Excel催化剂功能第50波-批量打印、导出PDF、双面打印功能

在倡导无纸化办公的今天,是否打印是一个碍眼的功能呢,某些时候的确是,但对于数据的留存,在现在鼓吹区块链技术的今天,仍然不失它的核心价值,数据报表.单据打印出来留存,仍然是一种不可或缺的数据存档和防篡改功能.听说Excel最好用的功能是打印功能,在此谨借第50波功能的重大里程碑,献给打印这一最古老且长存的功能,推出批量打印功能. 视频演示 Excel催化剂已正式在千聊上发布视频,如查阅文章有理解障碍,不妨查看下视频,视频不定期更新,内容丰富,干货满满,有术亦有道! 推广期间有砍价购活动,白菜价59

模块管理常规功能自定义系统的设计与实现(16--模块数据的导出和打印[1])

模块数据的导出和打印(1) 一般管理软件的最终目的是要能输出数据,包括grid多条记录的导出和打印以及单条记录的导出和打印.对于这二种方式的导出和打印,我的设计思路是以下的方式. 一.grid数据的导出和打印. grid数据的导出,我的设计是按照grid的字段分组和列的样式来导出.每个grid列表方案都可以按此方案来导出数据.即你看到的grid是什么样的,导出来的数据就是什么样的.并且导出的时候,会加入导航值,筛选值,总计,分类汇总小计等数据.下面我对"省份"模块修改了第一个grid的

模块管理常规功能自定义系统的设计与实现(17--模块数据的导出和打印[2])

模块数据的导出和打印(2) 对于单条数据的导出,看过以前的单条数据导入的章节的话,就能看出导出就是一个逆过程.下面介绍一下步骤: 1. 先设计好模块的单记录的Excel表: 2.在"模块Excel报表"中添加一条记录,设置为需要选择一条记录的报表,然后上传设计好的excel表: 3.刷新网页: 4.进入模块,选中一条需要导出的记录: 5.执行报表导出菜单下的相关菜单条导出数据. 下面看看具体的操作: 1.设计好"省份"模块的excel 导出表. 对于excel的设计

添加条码生成和打印功能到SQL Server Reporting Services report 中

Barcode Professional for Reporting Services 是一款灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加条码生成和打印功能到您的SQL Server Reporting Services report 中.支持几乎所有当前常用的条码:Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Austra

浅谈QT打印功能实现

QT作为一款轻量级的集成开发环境,其设计的目标是使开发人员利用QT这个应用程序框架更加快速及轻易的开发应用程序.要达到此目的,要求QT必须能够跨平台,QT能够在32位及64位的Linux,MAC OS X以及Windows上运行. 现在我们想在项目中加入一项打印功能,即使在不同的操作系统环境下,仍然能有相同的用户体验,在实现中发现QT对打印的支持不是那么友好.我们希望在跨平台的情况下,能打印各种文档,比如用户的简历,发现如果不调用对应操作系统的内核外壳打印函数,这项工作变得异常艰难.我们希望用Q

Atitit.收银机小票打印功能的设计&#160;&#160;java&#160;php&#160;c#.net版本

Atitit.收银机小票打印功能的设计  java php c#.net版本 1. 1. 打印方式有4种:1 1.1. 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.1 1.2. 1.2. 二根据客户要求的报表格式,编写相应格式的html,装载数据打印,同样调用window.print()打印,只是对html的格式要求比较高.1 1.3. 1.3. 三是通过客户提供的word格式,通过xml配置文件与数据库的数据进行关联,自动装载数据到word中

js 实现打印功能

前端js实现打印功能的两种方式: 1.利用iframe,隐藏iframe,直接通过按钮直接打印,弹出打印设置页面. <button onclick="doPrint();">print</button> <iframe style="display:none" id="printIframe" frameBorder=0 scrolling=no width="100%" src="./

打印功能

1.首先做好一个模板,想打印图片的话下载一个图片模板,打印表格的话直接建一个表格.然后在word里面打开.保存为PDF格式,然后下载Adobe Acrobat DC,没有的话在我的第一个链接可以直接下载. 2下载以后把PDF打开,点击准备表单.如果是表格的话,在空的表格里面会自动生成打印是要加入数据的框:图片只会生成一个,可以复制粘贴.框可以自己移动.调大小. (注意:如上方法里面插入字段是按照图片上由上到下.从左至右的顺序插入的) 3.输入框做好了直接保存就好了. 4.打印方法:第一段绿色是把

JS达到Web指定保存的和打印功能的内容

背景 首先,说说文章的背景.近期手中的一个项目,因为需求中要求提供Web界面的打印功能.当然假设没有打印机,还能够提供保存到本地.项目组长把这个"小任务"分给了我.本着努力为组长分忧解难的思想,领了任务之后,就立即開始了工作. 问题 刚開始的时候.组长给了一个工具(jatoolsprinter)让我研究.我用了一个多小时的时间,做出了一个简单的Demo,然后就是各种的測试,因为 web 打印须要浏览器安装 ActiveX 组件.在随后的測试中,我用了几款浏览器.甚至把安全级别都调到了最