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);
                } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵