gpt4 book ai didi

php - 使用 mPDF 错误 :Class 'Mpdf\Mpdf' not found 在 codeigniter 3 中将 html 导出和下载为 pdf

转载 作者:行者123 更新时间:2023-12-03 21:07:42 27 4
gpt4 key购买 nike

我正在尝试通过按 eventView.php 中的打印按钮将 html View eventView.php 导出并下载到 pdf,使用 mPDF。即使加载速度很慢,我现在也可以转换为 pdf,但现在我收到了关于我试图在 pdf 上获取的数据。基本上我无法转换动态数据,您能帮我如何获取它们吗?
我已经使用以下方法下载了 mPDF:

composer require mpdf/mpdf


配置文件
$config['composer_autoload'] = TRUE;
事件.php Controller
function get_pdf_test($id)
{
$data['incidents'] = $this->incidents_model->getByIdPdf($id);
$data['incidents_history'] = $this->incidents_model->getById_historyPdf($id);
$data['company_name'] = $this->incidents_model->getAllCompanyNamePdf();
require_once (APPPATH. 'vendor/autoload.php');
$path = '/tmp/mpdf';
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$mpdf = new \Mpdf\Mpdf(['tempDir' => $path]);
$html = $this->load->view('admin/incidents/incidentsPdf',[],true);
$mpdf->WriteHTML($html);
$mpdf->Output();
$mpdf->Output('incidentsPdf.pdf','D');

}
事件Pdf.php查看
<div class="TaskView" > 
<h2 class="heading" ><?php echo "ASGB_IN".str_pad($incidents->incidents_id, '4', '0', STR_PAD_LEFT);?></h2>
<!-- <form action="<?php echo base_url('get_pdf_test/'.$incidents->id);?>" method="post" > -->
<div class="row">
<div class="form-group col-md-4">
<label for="email">Incidents ID</label>
<input type="text" class="form-control" id="T_id" placeholder="Name" name="T_id" value="<?php echo "ASGB_IN".str_pad($incidents->incidents_id, '4', '0', STR_PAD_LEFT);?>" readonly>
</div>
<div class="form-group col-md-4">
<label for="email">Incidents Name</label>
<input type="text" class="form-control" id="Tname" placeholder="Name" name="Tname" value="<?php echo $incidents->incident_name;?>" readonly>
</div>
<div class="form-group col-md-4">
<label for="pwd">Company Name</label>
<input type="text"class="form-control" id="Cname" name="Cname" value="<?php echo $incidents->company_name;?>"readonly>
</div>
<div class="form-group col-md-4">
<label for="pwd">Project Name</label>
<input type="text" class="form-control" id="Pname" name="Pname" value="<?php echo $incidents->project_name;?>" readonly>
</div>
事件模型.php
 function getById_history_pdf($id)
{
$query=$this->db->query("SELECT incidents_id FROM incidents WHERE id = $id");
$get_row = $query->row();
$incident_id = $get_row->incidents_id;

$this->db->select('*');
$this->db->where(array('incidents.incidents_id'=>$incident_id));
$this->db->join('incident_status', 'incidents.id = incident_status.incident_id');
return $this->db->get('incidents')->result_array();
}


function getAllCompanyNamePdf()
{
$query = $this->db->get('company_details');
$query = $this->db->query('SELECT company_name FROM company_details where delete_flag =0');
return $query->result_array();
}

function getByIdPdf($id)
{
return $this->db->get_where('incidents',array('id'=>$id))->row_array();
}
供应商位置
enter image description here
pdf
enter image description here

最佳答案

您正在使用

require_once __DIR__ . '/vendor/autoload.php';
在您的 Controller 文件中。 __DIR__计算为使用它的文件的目录。由于这是一个 Controller 文件,您正在尝试加载
/opt/lampp/htdocs/ticketing_tool_v2/application/controllers/admin/vendor/autoload.php
__DIR__评估为 /opt/lampp/htdocs/ticketing_tool_v2/application/controllers/admin这不是正确的路径。
正确的代码是
require_once __DIR__ . '/../../vendor/autoload.php';
更好的解决方案是使用 APPPATH所以你不必知道相对路径。
require_once APPPATH.'vendor/autoload.php';
你也可以
$config['composer_autoload'] = true; 
您可以找到更多信息 here.
最后,在 GitHb readme.md 中你可以看到这一点。

It is recommended to set one's own temporary directory via tempDir configuration variable. The directory must have write permissions (mode 775 is recommended) for users using mPDF (typically cli, webserver, fpm).


这意味着您需要一个可写文件夹来进行临时操作。您可以将临时位置初始化为您喜欢使用的任何位置
$mpdf = new \Mpdf\Mpdf(['tempDir' => '/tmp']);
/tmp总是可写的。但是,您可以将任何文件夹和路径作为参数作为参数,例如
$path = '/tmp/mpdf'; // You should change this as prefered.
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$mpdf = new \Mpdf\Mpdf(['tempDir' => $path]);

关于php - 使用 mPDF 错误 :Class 'Mpdf\Mpdf' not found 在 codeigniter 3 中将 html 导出和下载为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65654111/

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