在html2pdf中使用css浮点数

Wer*_*eta 14 css css-float html2pdf

我正在使用花车将2个div放在彼此旁边.

<a href="printbox.php">print</a>
<?php ob_start(); ?>
<style>
    #sidedish{
        float: left;

        border: 1px solid black;
        width: 100px;
        height: 100px;
    }
    #maindish{
        float: right;
        width: 200px;
        border: 1px solid black;
        height: 100px;
        text-align: center;
    }

    #container{
        width: 304px;
        height: 100px;
        border: 1px solid black;
    }
</style>

<div id="container">
<div id="sidedish"></div>
<div id="maindish"><div id="box">name</div></div>
</div>
<?php $_SESSION['boxes'] = ob_get_contents(); ?>
Run Code Online (Sandbox Code Playgroud)

这是printbox的作用,它只是将缓冲的数据渲染成pdf,但不知何故,设置的浮点数在此过程中丢失了.

<?php require_once('html2pdf/html2pdf.class.php'); ?>
<?php
$html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8', array(0, 0, 0, 0));
$html2pdf->writeHTML($_SESSION['boxes']);

$html2pdf->Output('random.pdf');
?>
Run Code Online (Sandbox Code Playgroud)

它在html上工作正常:

在此输入图像描述

但当我点击打印时,它转向:

在此输入图像描述

知道问题是什么吗?

Jar*_*nen 25

从个人经验来看,我认为造型的输出HTML2PDF充其量只是深奥的黑魔法科学.主要原因是:

  • 该类仅支持CSS样式和选择器的(相对较小的)子集
  • CSS兼容性没有记录
  • PDF无法根据HTML输入进行调试

说句公道话,这不仅是对这一问题HTML2PDF,但也为TCPDFHTML2PDF使用.

也许是可能的HTML2PDF,正在为只是一个几乎零设置,快捷和方便的替代接口TCPDF,削减更多的CSS支持-不过我敢肯定,甚至TCPDF不会支持float正常.

您可以使用的最佳解决方法是将浮动div发送到九十年代:

<table>
    <tr>
        <td><div class="float"> ... </div></td>
        <td><div class="float"> ... </div></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

您还可以隐藏公开HTML中的这种尴尬:

<?php
    $isPdf = (/* condition that tells us we're outputting PDF */) ? true : false;
    if ($isPdf) {
        echo "<table><tr><td>";
    }
?>
<div class="float"> ... </div>
<?php
    if ($isPdf) { 
        echo "</td><td>";
    }
?>
<div class="float"> ... </div>
<?php
    if ($isPdf) {
        echo "</td></tr></table>";
    }
?>
Run Code Online (Sandbox Code Playgroud)

  • 我有同样的问题.我的解决方案是使用绝对定位而不是浮动,这很好,但你需要设置容器尺寸. (2认同)

Ced*_*edo 7

您可以在此处使用法语在线查看快速文档:http: //demo.html2pdf.fr/examples/pdf/about.pdf

('Les float nesontgérésquepour la balise IMG')

= Floats仅由类处理img标记.

处理过的css属性也列在doc中.