我正在使用jasper报告iReport 5.6.0为公司创建动态报告。 我将报告工具与我的php web应用程序集成,它正在运行。我在html模板中创建了导出选项,在 IFRAME
中创建了预览按钮我不想将iframe放在php变量中并将其发送到电子邮件功能。我可以生成报告为可下载的pdf,xls ..文件,我可以自动发送此文件作为电子邮件的附件吗?
我正在使用laravel框架,即用于生成和导出报告的代码:
use JasperPHP\JasperPHP;
public function xmlToPdf()
{
$output = public_path() . '/report/'.time().'_CancelAck';
$output = public_path() . '/report/'.time().'_CancelAck';
$ext = "pdf";
$data_file = public_path() . '/report/CancelAck.xml';
$driver = 'xml';
$xml_xpath = '/CancelResponse/CancelResult/ID';
\JasperPHP::process(
public_path() . '/report/CancelAck.jrxml',
$output,
array($ext),
array(),
array('data_file' => $data_file, 'driver' => $driver, 'xml_xpath' => $xml_xpath),
false,
false
)->execute();
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.time().'_CancelAck.'.$ext);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Length: ' . filesize($output.'.'.$ext));
flush();
readfile($output.'.'.$ext);
unlink($output.'.'.$ext);
}
是否有任何解决方案可以将此报告导出为电子邮件附件(php)?