Ral*_*per 12 php pdf codeigniter
我打算创建一个发票系统,我现在正在为此做准备.我要用Codeigniter.问题是我想用PDF创建发票,以便我可以通过电子邮件发送.
你们的建议是什么?我正在考虑HTML到PDF转换,或者在屏幕上显示发票并安装pdf打印机(当你点击打印并选择打印到PDF文件时)或者创建一个word文档并连接到我认为使用odbc的MySQL服务器.
你们中的任何人都有这方面的经验吗?
Sir*_*han 25
请点击此链接它应该工作..
http://www.php-guru.in/2013/html-to-pdf-conversion-in-codeigniter/
或者你可以在下面看到
Web上有许多PHP库可将HTML页面转换为PDF文件.当您在核心PHP中处理任何Web应用程序时,它们易于实现和部署.但是当我们尝试将这些库与任何框架或模板集成时,如果我们使用的框架没有自己的库来将它与任何PDF库集成,那么它就变得非常繁琐.当有一个要求将HTML页面转换为PDF文件并且我使用的框架是codeigniter时,同样的情况出现在我面前.
我在网上搜索并获得了许多PHP库,将HTML页面转换为PDF文件.经过大量的研究和谷歌搜索,我决定使用TCPDF PHP库将HTML页面转换为PDF文件以满足我的要求.我发现TCPDf PHP库很容易与codeigniter集成并声明在其上工作.在成功完成codeigniter和TCPDF的集成之后,我想到了在web上共享这个脚本.
现在,让我们从代码的实现开始吧.
下载TCPDF库代码,您可以从TCPDF网站http://www.tcpdf.org/下载.
现在在webign应用程序的"application/helpers /"目录中创建"tcpdf"文件夹,该目录是在codeigniter中开发的.复制所有TCPDF库文件并将其粘贴到"application/helpers/tcpdf /"目录中.更新TCPDF的配置文件"tcpdf_config.php",该文件位于"application/helpers/tcpdf/config"目录中,根据您的应用程序要求进行更改.我们可以在cofing文件中设置徽标,字体,字体大小,高度,标题等.为tcpdf文件夹中的"cache"文件夹提供读取,写入权限.定义目录结构,更新配置文件和分配权限后,这里将启动您的实际编码部分.
在codeigniter的"application/helpers /"目录中创建一个PHP帮助文件,比如说"pdf_helper.php",然后复制下面给出的代码并将其粘贴到帮助文件中
助手:application/helpers/pdf_helper.php
function tcpdf()
{
    require_once('tcpdf/config/lang/eng.php');
    require_once('tcpdf/tcpdf.php');
}
然后在控制器文件中调用上面的帮助器,假设我们的控制器文件是"createpdf.php"并且它的方法为pdf(),因此方法pdf()将加载"pdf_helper"帮助程序并且还将具有任何其他代码.
控制器:application/controllers/createpdf.php
function pdf()
{
    $this->load->helper('pdf_helper');
    /*
        ---- ---- ---- ----
        your code here
        ---- ---- ---- ----
    */
    $this->load->view('pdfreport', $data);
}
现在创建一个视图文件,在"application/views /"目录中说"pdfreport.php",它也在控制器的pdf()方法中加载.所以在视图文件中我们可以直接调用我们在"pdf_helper"帮助器中定义的tcpdf()函数,它将加载所有必需的TCPDF类,函数,变量等.然后我们可以直接使用TCPDF示例代码,因为它在我们的当前控制器或视图.现在在当前视图"pdfreport"中复制下面的给定代码:
查看:application/views/pdfreport.php
tcpdf();
$obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$obj_pdf->SetCreator(PDF_CREATOR);
$title = "PDF Report";
$obj_pdf->SetTitle($title);
$obj_pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, $title, PDF_HEADER_STRING);
$obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$obj_pdf->SetDefaultMonospacedFont('helvetica');
$obj_pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$obj_pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$obj_pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$obj_pdf->SetFont('helvetica', '', 9);
$obj_pdf->setFontSubsetting(false);
$obj_pdf->AddPage();
ob_start();
    // we can have any view part here like HTML, PHP etc
    $content = ob_get_contents();
ob_end_clean();
$obj_pdf->writeHTML($content, true, false, true, false, '');
$obj_pdf->Output('output.pdf', 'I');
因此,我们的HTML页面将使用CodeIgniter中的TCPDF转换为PDF.我们还可以使用TCPDF库在PDF文件中嵌入图像,CSS和修改.
小智 7
TCPDF是用于生成pdf文档的PHP类.在这里我们将学习TCPDF与CodeIgniter的集成.我们将使用以下步骤将TCPDF与CodeIgniter集成.
步骤1
要下载TCPDF 点击这里.
第2步
解压缩application/libraries/tcpdf中的上述下载.
第3步
在application/libraries/Pdf.php中创建一个新文件
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once dirname(__FILE__) . '/tcpdf/tcpdf.php';
class Pdf extends TCPDF
{ function __construct() { parent::__construct(); }
}
/*Author:Tutsway.com */
/* End of file Pdf.php */
/* Location: ./application/libraries/Pdf.php */
第4步
在application/controllers/pdfexample.php中创建Controller文件.
 <?php
    class pdfexample extends CI_Controller{ 
    function __construct()
    { parent::__construct(); } function index() {
    $this->load->library('Pdf');
    $pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
    $pdf->SetTitle('Pdf Example');
    $pdf->SetHeaderMargin(30);
    $pdf->SetTopMargin(20);
    $pdf->setFooterMargin(20);
    $pdf->SetAutoPageBreak(true);
    $pdf->SetAuthor('Author');
    $pdf->SetDisplayMode('real', 'default');
    $pdf->Write(5, 'CodeIgniter TCPDF Integration');
    $pdf->Output('pdfexample.pdf', 'I'); }
    }
    ?>
它对我有用.我参考了http://www.tutsway.com/codeignitertcpdf.php