duanhuang1967 2014-09-01 11:15
浏览 76
已采纳

如何使用PHP获取给定的HTML代码的缩略图视图

I'm using ckeditor to create email templates, I'm trying to get a thumbnail view of a given html code.

I have tried with

html2canvas(document.getElementById('templatecontent'),{
   onrendered: function (canvas) {         
    var imgString = canvas.toDataURL("image/png");
    window.open(imgString);                  
}});

But here id(#templatecontent) is hidden textarea element. How to save an image even if the id is hidden.

Or

Can this operation can be done directly with php if I have html code? this will be great. Please give me some suggestions or procedure to follow.

Error details: IndexSizeError: Index or size is negative or greater than the allowed amount

  • 写回答

1条回答 默认 最新

  • dsw7547 2014-09-01 12:37
    关注
        $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);
                } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?