【发布时间】:2015-05-27 02:57:51
【问题描述】:
我正在将基本 HTML 加载到 DOMPDF 中。在横向模式下,第一个页面之后的所有页面都是重叠的。
这是我的(基本)HTML,它在浏览器中呈现良好:
<div id="certificates-layout-1" style="<?php echo $styles['outer-container']; ?>">
<div style="<?php echo $styles['inner-container']; ?>">
<div style="<?php echo $styles['fullname']; ?>">
<?php echo $data['fullname']; ?>
</div>
<div style="<?php echo $styles['fullcouncil']; ?>">
<?php echo $data['fullcouncil']; ?>
</div>
<div style="<?php echo $styles['session_date']; ?>">
<?php echo $data['session_date']; ?>
</div>
</div>
</div>
这是我的 DOMPDF 渲染逻辑:
$filename = (isset($params['filename'])) ? $params['filename'] : 'ubcdet_report_' . date('YmdHis') . '.pdf';
$lib = $_SERVER['DOCUMENT_ROOT'] . '/sites/all/libraries/vendor/';
require_once($lib . "dompdf/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($report);
$dompdf->set_paper('letter', 'landscape');
$dompdf->render();
$dompdf->stream($filename, array("Attachment" => false));
exit(0);
我也试过用A4纸,结果一样。
我还尝试在设置纸张之前移动 render(),重叠问题消失了,但它只会渲染为纵向(这里也尝试过 A4)。
我没有尝试在浏览器中渲染下载之前输出为实际文件,但我会。
这就是结果的样子...
任何建议表示赞赏。谢谢。
======================================
根据 BrianS 的请求更新
感谢您的关注。这是呈现的 HTML 的转储:
<html>
<head></head>
<body>
<div id="certificates-layout-1" style="font-family: Times New Roman; font-size:33px; text-align:center; page-break-after:auto;">
<div style="height:672px; width: 906px; border: thin solid #666666;">
<div style="font-size:45px; font-weight:bold; margin-top:96px; margin-bottom:10px;">John Smith</div>
<div style="margin-bottom:125px;">Council of Councils</div>
<div style="font-weight:bold;">April 16 - 19, 2015</div>
</div>
</div>
<style>
@font-face {
font-family: TimesBold;
src: url('/sites/all/modules/ubcdet/ubcdet_report/fonts/timesbd.ttf');
}
</style>
<style>
}
@page {
margin: 0;
}
html {
margin: 72px 76px;
}
body {
width: 1056px;
margin:0;
}
.hint {
background: none repeat scroll 0 0 #6AEA91;
font-size: 13px;
padding: 50px 10px;
text-align: center;
width: 250px;
position: absolute;
}
@media print {
.hint {
display:none;
}
}
</style>
</body>
</html>
我不认为那里有什么太不寻常的地方,但也许我错了。如果您需要更多信息,请告诉我。谢谢。
【问题讨论】:
-
这是一个很奇怪的问题。看起来 HTML 或 CSS 中的某些内容正在破坏 dompdf 的布局跟踪。但是如果没有看到导致问题的示例文档(HTML 和 CSS)(而不是生成文档的 PHP),我们就无法真正调试它。