有没有办法在没有使用jsPDF的实际pdf文件的情况下在codeigniter中发送pdf电子邮件

时间:2018-08-29 07:12:45

标签: codeigniter

这是到目前为止我尝试过的代码,我只是得到空白的pdf附件。

var element = $("#html");
var getCanvas;

html2canvas(element, {
onrendered: function (canvas) {
getCanvas = canvas;
var imgageData = getCanvas.toDataURL("image/jpeg");
var newData = imgageData.replace(/^data:image\/png/,"data:application/octet-stream");
var pdf = new jsPDF();
pdf.addImage(imgageData, 'JPEG', 0, 0);
data = pdf
}
});

data我正在通过ajax发送到电子邮件控制器,以附加和发送邮件。

$buffer = $_POST['data'];
$this->email->attach($buffer, 'attachment', 'data.pdf', 'application/pdf');

2 个答案:

答案 0 :(得分:1)

电子邮件附件仅采用文件路径,此处不存在确切路径。

您需要将pdf文件路径包含在电子邮件附件中,因此首先将生成的pdf文件保存到服务器,然后将该路径包含在附件中。

答案 1 :(得分:0)

电子邮件附件仅从服务器获取路径,而该路径不存在。您可以使用tcpdf库(用于CI)创建pdf文件并将其保存到服务器。您正在使用客户端pdf库生成pdf。 https://github.com/bcit-ci/CodeIgniter/wiki/TCPDF-Integration