使用dompdf将javascript生成的内容添加到pdf中

时间:2014-05-30 12:09:13

标签: php fullcalendar dompdf

我使用完整的日历java脚本库生成事件日历。我想将此日历视图转换为PDF。 我正在使用codeigniter框架。和使用dompdf库进行PDF转换。

$html = $this->load->view('pdf_html', $data,true);    
 require_once("dompdf/dompdf_config.inc.php");    
    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    if ($stream) {
        $dompdf->stream($filename.".pdf");
    } else {
        return $dompdf->output();
    }    

查看文件

<script type="text/javascript">
            $(document).ready(function() {
                $('#calendar').fullCalendar({
                    header: {
                        left: '',
                        center: 'title'
                    },
                    editable: false,
                    selectable: false,
                    weekends: false,
                    month: <?php echo $selected_month; ?>
                });
                $(".fc-button-prev").css('display', 'none');
                $(".fc-button-next").css('display', 'none');
                $(".fc-button-today").css('display', 'none');
                $(".fc-day-header").css('padding-top', '10px');
                $(".fc-day-header").css('padding-bottom', '10px');
                $(".fc-day-header").css('background-color', '#FFB848');
                $(".fc-event-container").css('top', '10px');
                $(".fc-event").css('border-radius', '4px !important');
                $(".fc-event").css('margin-bottom', '3px');
                $(".fc-event").css('border', '2px solid #ccc');


            });
        </script>  
<div id='calendar' style="widyh:100%;background-color: #f5f5f5;margin-top:15px;margin-bottom:15px;"></div>            

2 个答案:

答案 0 :(得分:-1)

为什么不使用HTML来PDF。 这是下载它。 http://html2pdf.fr/en/default

非常简单,你只需要把你的

div id='calendar' style="widyh:100%;background-color: #f5f5f5;margin-top:15px;margin-bottom:15px;"></div>

page标记内的

标记(此标记将在此HTML2PDF中使用)。

即使是标准的CSS也适用于HTML2PDF。

答案 1 :(得分:-1)

我不确定,但请尝试设置此选项:

$dompdf->set_option( 'isJavascriptEnabled' , true );