gpt4 book ai didi

php - 如何在 Codeigniter 中将 mySQL 数据导出为 PDF?

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:01 26 4
gpt4 key购买 nike

我是 Codeigniter 的新手,我需要将 mySQL 数据导出到 PDF 文件中。

我该怎么做?

最佳答案

下载库 here

图书馆 explanation

下载解压文件夹后,您会发现两个文件,即class.ezpdf.php/cezpdf.php 和class.pdf.php。现在将这两个 .php 文件放在 application/libraries 中。要使这些在 CI 中工作,您必须修改 cezpdf.php/class.ezpdf.php。修改要在include语句中完成:

include_once(APPPATH . 'libraries/class.pdf.php');

现在转到您的 Controller 文件夹,新建一个文件名 generate.php 和 pdf_helper.php。

pdf_helper.php :

<?php

function prep_pdf($orientation = 'portrait')
{
$CI = & get_instance();

$CI->cezpdf->selectFont(base_url() . '/fonts');

$all = $CI->cezpdf->openObject();
$CI->cezpdf->saveState();
$CI->cezpdf->setStrokeColor(0,0,0,1);
if($orientation == 'portrait') {
$CI->cezpdf->ezSetMargins(50,70,50,50);
$CI->cezpdf->ezStartPageNumbers(500,28,8,'','{PAGENUM}',1);
$CI->cezpdf->line(20,40,578,40);
$CI->cezpdf->addText(50,32,8,'Printed on ' . date('m/d/Y h:i:s a'));
$CI->cezpdf->addText(50,22,8,'PDF Tutorial');
}
else {
$CI->cezpdf->ezStartPageNumbers(750,28,8,'','{PAGENUM}',1);
$CI->cezpdf->line(20,40,800,40);
$CI->cezpdf->addText(50,32,8,'Printed on ' . date('m/d/Y h:i:s a'));
$CI->cezpdf->addText(50,22,8,'PDF Tutorial');
}
$CI->cezpdf->restoreState();
$CI->cezpdf->closeObject();
$CI->cezpdf->addObject($all,'all');
}

?>

生成.php :

<?php

class Generate extends CI_Controller
{

function Generate()
{
parent::__construct();
$this->load->database();
$this->load->helper('url');
}


function create()
{

$this->load->library('cezpdf');

$this->cezpdf->ezText('PDF REPORT OF LOGIN TABLE', 12, array('justification' => 'center'));
$this->cezpdf->ezSetDy(-10);
$i=1;
$content="";

$fname="";
$query = $this->db->query('SELECT * FROM table_name');
$num = $query->num_fields();
$farr=array();

while($i <= $num){
$test = $i;
$value = $this->input->post($test);

if($value != ''){
$fname= $fname." ".$value;
array_push($farr, $value);

}
$i++;
}

$fname = trim($fname);

$fname=str_replace(' ', ',', $fname);
$this->db->select($fname);
$query = $this->db->get('table_name');
$result = $query->result();

foreach ($farr as $j)
{

$content= strtoupper($j)."\n\n";
foreach($result as $res){
$content = $content.$res->$j."\n";
}

$this->cezpdf->ezText($content, 10);

$this->cezpdf->ezStream();
}

}

在上面,我们做的第一件事是加载 R&OS 库以供使用。接下来我们使用 ezText() 函数为我们的文档创建一个标题。此函数将要显示的文本作为第一个参数、该文本的大小和附加配置选项的可选数组。

在 whites pace 之后,我们将文档的其余内容放在一个名为 $content 的变量中,并再次使用 ezText() 函数将其添加到我们的文档中。最后,我们使用 ezStream() 函数创建我们的文档,该函数实际创建文档并将其发送给用户,提示他们查看/下载生成的 PDF 文档。

关于php - 如何在 Codeigniter 中将 mySQL 数据导出为 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40190751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com