如何从php函数生成pdf& TCPDF中的变量

时间:2012-08-31 10:53:04

标签: php

我有功能,需要样式表&在PHP中使用OOP从其他类获取输出。 我需要使用TCPDFm生成pdf,但我面临问题如何传入$ html变量,我已经阅读了XHTML + CSS的手册,但没有解释PHP变量输出。 我在这里考虑我的代码,请帮助。

<?php
// define some HTML content with style
$html = <<<EOF
<?php $frame->HTML_DOCTYPE(); ?>

<html>
    <head><?php $frame->HTML_Title($page); $frame->HTML_CSS($page); $frame->HTML_JS($page); ?></head>
        <body>
            <div class='container_pngfix'>
                <?php echo $frame->Print_Top($page); ?>

                <div class='container_magazine'>
                    <div class='magazine_left'>
                        <?php 
                        /*if(FALSE == empty($_SESSION['wi_id']) && FALSE == empty($_SESSION['wi_type']) &&  0 == strcasecmp('bride',$_SESSION['wi_type'])){*/

                  if ($_REQUEST['magazineId']!="") {
                    echo $article->Print_Magazine_Issue($_REQUEST['magazineId']);
                  } else if ($_REQUEST['latestissue']) {
                    echo $article->Print_Magazine_Issue($article->getLatestMagazineId());
                  } else {
                    if (isset($_REQUEST['magazinedate'])) { $magazinedate=$_REQUEST['magazinedate']; } else { $magazinedate=""; }
                                if ($magazinedate=="") { $magazinedate=date("Y-m")."-01"; }

                    echo $article->Print_Magazine($magazinedate);
                  }
                        /*}else{
                            echo "<h2>Please Login/Register first to see Magazine details</h2>";
                        }*/
                ?>              
                </div>
                    <div class='magazine_right'><?php echo $frame->Print_RightSide_Articles($page); ?></div>
                    <div class='clearfloat'>&nbsp;</div>
                    <?php echo $frame->get_ContextualWeb($page,"low"); ?>
                </div>

            </div>
            <?php echo $frame->Print_Bottom_Links($page); ?>
            <?php $frame->Print_Bottom($page); ?>
        </div>
    </body>
</html>EOF;

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

// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output('example_061.pdf', 'I');
?>

在这段代码中,我使用这些类的对象调用多个函数。 所有的html&amp;页面内容是动态生成的。我有传递PAGE html&amp;的问题$ html变量中的PHP代码。

1 个答案:

答案 0 :(得分:2)

您可以使用ob_start()ob_get_clean()获取任何输出。

<?php
    ob_start();
?>
    <!-- HTML and PHP code here -->
<?php
    $html = ob_get_clean();
?>

$html将包含您可以发送到TCPDF的数据

您的情况示例:

<?php
    // your other script
    ob_start();
?>
<?php $frame->HTML_DOCTYPE(); ?>
<html>
    <head><?php $frame->HTML_Title($page); $frame->HTML_CSS($page); $frame->HTML_JS($page); ?></head>
    <body>
        <!-- rest of the page -->
    </body>
</html>
<?php
$html = ob_get_clean();
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();

// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output('example_061.pdf', 'I');
?>