mPDF隐藏HTML元素

时间:2015-07-17 13:17:13

标签: javascript php html css mpdf

当mPDF从表单生成PDF时,我正在寻找隐藏某些HTML元素的方法,因此它们不会在PDF上呈现,在本例中为div。

JavaScript无法与mPDF一起使用

visibility="hidden"提交无效,display="none"

样式属性中的硬编码visibility="hidden"确实有效,但显然会使元素无法使用。

编辑: 更多代码:

Div I试图隐藏。

    <div class="initial-container">
        <form id="initial" action="checkpage.php" method="post">
            <input type="hidden" id="page-num" name="page-num" value="1">
            <input type="text" class="initial" name="initials[]" placeholder="Initials" value="<?php if($initialsEntered == 'true'){ echo $initials; }  ?>">
            <input type="submit" class="submit" name="submit" value="Next Page" id="submit">
            <p class="page-num">Page 1/6</p>
        </form>
    </div>

在单独的页面上生成PDF代码:

if(isset($_GET["pdf"])){
    $pdf = new mPDF('utf-8', '', '', '', 0, 0, 0, 0, 0, 0); 
    $pdf->SetDisplayMode('fullpage');
    $pdf->list_indent_first_level = 0;  // 1 or 0 - whether to indent the first level of a list

    $pages = ["page-one.php", "page-two.php", "page-three.php", "page-four.php", "page-five.php"];

    $pageCount = 0;
    while($pageCount < count($pages)){
        ob_start();
        include $pages[$pageCount]; 
        $template = ob_get_contents();
        ob_end_clean();
        $pdf->WriteHTML($template);
        $pdf->AddPage();
        $pageCount++;
    }

    $pdf->Output("probate-agreement.pdf", "I");
}

起初我尝试过:

get("submit").onclick = function(){
     get("initial-container").style.visibility = "hidden";
}

但这不起作用。

1 个答案:

答案 0 :(得分:0)

我明白了。

我只使用了一个带media="print"的单独CSS页面来隐藏特定元素。 我之前尝试过但它没有用,但现在我发现mPDF还不支持非块级元素的显示属性。

使用块级元素包装要控制的任何元素,并在样式表中隐藏块元素:

<p class="hide-this">
    <input type="submit" class="what-i-want-to-hide">
</p>