我正在使用ckeditor创建电子邮件模板,我试图获得给定的html代码的缩略图视图。
我试过了
html2canvas(document.getElementById('templatecontent'),{
onrendered: function (canvas) {
var imgString = canvas.toDataURL("image/png");
window.open(imgString);
}});但是在这里id(#templatecontent)是隐藏的textarea元素。如何保存图像,即使id是隐藏的。
或
如果我有html代码,这个操作可以直接用php完成吗?这会很棒的。请给我一些建议或程序来遵循。
错误详细信息: IndexSizeError:索引或大小为负数或大于允许数量
发布于 2014-09-01 12:37:52
$html = @file_get_contents('Myvoucher/'.$_POST['filename'].'.html');
$getFileCommonContents = @file_get_contents('voucher_common.html');
$getFileCommonContents = str_replace('[MAIN_CONTENT]', $html, $getFileCommonContents);
$html = 'htmlfiles/'.$_POST['filename'].date("Ymd").time().'.html';
@file_put_contents($html,$getFileCommonContents);
$target_html_file_url = 'http://xx.com/prakash_rd/'.$html;
$phantomJs = 'jsfiles/'.$_POST['filename'].date("Ymd").time().'.js';
$target_image_file = 'images/'.$_POST['filename'].date("Ymd").time().'.jpg';
$phantomScript = "var page = require('webpage').create();
page.viewportSize = {
width: 1343,
height:12996
};
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36';
page.onLoadStarted = function () {
console.log('Start loading...');
};
page.onLoadFinished = function (status) {
setTimeout(function() {
phantom.exit();
// Do something after 5 seconds
}, 5000);
};
page.open('".$target_html_file_url."',function (status) {
page.render('".$target_image_file ."', { format: 'jpg', quality: 90 });
phantom.exit();
});";
@file_put_contents ($phantomJs, $phantomScript);
$command = 'phantomjs '.$phantomJs;
@shell_exec($command);
if(file_exists($target_image_file))
{
// unlink($phantomJs);
} https://stackoverflow.com/questions/25604595
复制相似问题