Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打印PDF | Javascript赢得#x27;我得不到数据_Javascript_Php_Pdf_Moodle - Fatal编程技术网

打印PDF | Javascript赢得#x27;我得不到数据

打印PDF | Javascript赢得#x27;我得不到数据,javascript,php,pdf,moodle,Javascript,Php,Pdf,Moodle,在Moodle中,我使用javascript在PDF中打印带有课程信息的页面(在单独的文件中使用TCPDF库) javascript: $( document ).ready(function() { $('#page-enrol-index .printpdf').click(function(){ //jquery extend function $.extend( { redirectPost: functio

Moodle
中,我使用
javascript
PDF
中打印带有
课程
信息的页面(在单独的文件中使用
TCPDF

javascript:

    $( document ).ready(function() {
$('#page-enrol-index .printpdf').click(function(){
        //jquery extend function
        $.extend(
        {
            redirectPost: function(location, args)
            {
                var form = '';
                $.each( args, function( key, value ) {
                    form += '<input type="hidden" name="'+key+'" value="'+value+'">';
                });
                $('<form action="'+location+'" method="POST">'+form+'</form>').appendTo('body').submit();
            }
        });

        //fill the variables
        var title = $("div.sessioninfo_title span.sessioninfodata").text();
        var description = $("div.content div.summary").text();
        console.log(title);


        //create the pdf
        $.redirectPost("/moodle/local/printpdf.php", {
            ptitle: title, 
            pdesc: description, 
        });
    });
});

您是否直接使用TCPDF库?如果是这样,您应该切换到使用lib/pdflib.php,因为这是一个包装器,可以避免直接使用TCPDF时出现的一些问题。我还注意到在代码中使用了$POST-在Moodle中,您应该始终使用必需的参数或可选的参数(可能不是问题的原因,但无论如何您应该更改代码)。再次查看您的代码-为什么要注释掉这些变量?“”将隐藏在输出中(我只能假设TCPDF删除了这些注释)。你是对的,这是我的错误。这里的问题是,我没有在debug.js文件中添加相同的代码。现在,我只需要找出如何将变量$description中的文本格式化为与课程页面上相同的格式。可能吗?您是否直接使用TCPDF库?如果是这样,您应该切换到使用lib/pdflib.php,因为这是一个包装器,可以避免直接使用TCPDF时出现的一些问题。我还注意到在代码中使用了$POST-在Moodle中,您应该始终使用必需的参数或可选的参数(可能不是问题的原因,但无论如何您应该更改代码)。再次查看您的代码-为什么要注释掉这些变量?“”将隐藏在输出中(我只能假设TCPDF删除了这些注释)。你是对的,这是我的错误。这里的问题是,我没有在debug.js文件中添加相同的代码。现在,我只需要找出如何将变量$description中的文本格式化为与课程页面上相同的格式。可能吗?
    if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}
$pdf->SetFont('helvetica', '', 9);
$pdf->AddPage();

if (!empty($_POST["ptitle"])) {
    $title = $_POST["ptitle"];
    $description = $_POST["pdesc"];
}

$html = '<html>
<body>
<img src="/moodle/theme/base/pix/logo.png" alt="test alt attribute" border="0" height="100" width="220" allign="left" /><br />
<p><span style="font-size: small;"><font color="#C0C0C0">Organisation name<br><b>Department<br></font></span></p>
<h2>Information about the course</h2>
<!-- 
<h3>'. $title . '</h3><br />
'. $description . '<br />
-->
</body>
</html>';



// $pdf->writeHTML($html, true, false, true, false, '');

$pdf->writeHTML($html, true, false, true, false, '');

$pdf->lastPage();
$pdf->Output('CourseInfo.pdf', 'D');