1

我有函数接受样式表并使用 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 和内容都是动态生成的。我在 $html 变量中传递 PAGE html 和 PHP 代码时遇到问题。

4

1 回答 1

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');
?>
于 2012-08-31T11:06:05.057 回答