我在将 dompdf 的 pdf 附件成功附加到电子邮件时遇到了一些麻烦。pdf文档只是说它格式错误,没有给我任何错误,但是当我直接转到链接时,pdf下载并成功加载。
电子邮件发送正常,所以我可以看到以下行可能会导致问题。
$mailer->addStringAttachment(file_get_contents(JRoute::_('index.php?option=com_helloworld&view=finish&format=pdf&tmpl=component&data='.$id.'&Itemid='.$Itemid)),'Assessment.pdf');
项目 id 和 id 是从以下代码加载的
$app = JFactory::getApplication();
$menu = $app->getMenu();
$menuItem = $menu->getItems( 'link', 'index.php?option=com_helloworld&view=core', true );
$Itemid = $menuItem->id;
$id = JRequest::getVar('assessmentId',null,'get');
这都是为了实际的电子邮件创建,它确实会发送一封带有附件的 pdf 的电子邮件,但是 pdf 格式不正确。
view.pdf.php 文件也可以运行,它们之间的唯一区别是 id 加载数据而不是会话。
$data = JRequest::getVar('data',false,'get');
if($data!==false){
//$data = urldecode($data);
//$data = json_decode($data);
$this->curData = array('id'=>$data,'data'=>$model->getAssessment($data));
}else{
$this->curData = $session->get('core_value_assessment');
}