这是到目前为止我尝试过的代码,我只是得到空白的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');
答案 0 :(得分:1)
电子邮件附件仅采用文件路径,此处不存在确切路径。
您需要将pdf文件路径包含在电子邮件附件中,因此首先将生成的pdf文件保存到服务器,然后将该路径包含在附件中。
答案 1 :(得分:0)
电子邮件附件仅从服务器获取路径,而该路径不存在。您可以使用tcpdf库(用于CI)创建pdf文件并将其保存到服务器。您正在使用客户端pdf库生成pdf。 https://github.com/bcit-ci/CodeIgniter/wiki/TCPDF-Integration