我正在使用花车将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(); ?>
这是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');
?>
它适用于html:
但是当我点击打印时,它转向:
知道问题是什么吗?
答案 0 :(得分:24)
从个人经历来看,我会说HTML2PDF
的输出风格至多是神秘的黑魔法科学。主要原因是:
公平地说,这不仅是HTML2PDF
而是also for the TCPDF
that HTML2PDF
uses的问题。
可能可能HTML2PDF
,只是一个几乎为零的设置,快速&amp; TCPDF
的简单替代界面,减少了更多的CSS支持 - 但我确信偶TCPDF
不能正确支持float
。
您可以使用的最佳解决方法是将浮动div发送到九十年代:
<table>
<tr>
<td><div class="float"> ... </div></td>
<td><div class="float"> ... </div></td>
</tr>
</table>
您还可以隐藏公开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>";
}
?>
答案 1 :(得分:6)
您可以在这里用法语在线查看快速文档: http://demo.html2pdf.fr/examples/pdf/about.pdf
('Les float nesontgérésquepour la balise IMG')
= 浮动仅由类处理img标记。
处理过的css属性也列在文档中。