当记录很多并且需要在pdf的第二页上打印时我遇到了这个错误
致命错误:未捕获的异常' DOMPDF_Exception'消息'在cellmap'中找不到框架在 C:\ xampp \ htdocs \ pdf_dompdf \ dompdf \ include \ cellmap.cls.php:244 Stack 追踪:#0 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ table_cell_renderer.cls.php(50): Cellmap-> get_spanned_cells(Object(Table_Cell_Frame_Decorator))#1 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ renderer.cls.php(287): Table_Cell_Renderer-> render(Object(Table_Cell_Frame_Decorator))#2 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ renderer.cls.php(107): Renderer-> _render_frame('表单元&#39 ;, Object(Table_Cell_Frame_Decorator))#3 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ renderer.cls.php(190): 渲染器 - >渲染(Object(Table_Cell_Frame_Decorator))#4 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ renderer.cls.php(190): Renderer-> render(Object(Table_Row_Frame_Decorator))#5 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ renderer.cls.php(190): Renderer-> render(Object(Table_Row_Group_Frame_Decorator))#6 C:\ XAMPP \ htdocs中\ pdf_dompdf \ DOMPDF \包括\ renderer.cls.php(190): 渲染器 - >渲染 第244行的C:\ xampp \ htdocs \ pdf_dompdf \ dompdf \ include \ cellmap.cls.php
<div class="ORMExSum">
<h1 align="center">ORM Executive Summary Report</h1>
<table cellpadding="0" cellspacing="0" border="1" width="100%">
<caption style="text-align:left; padding-bottom: 10px;">Keyword: <?php echo 'Juan dela Cruz, Juan Cruz'; ?></caption>
<thead class="theader">
<tr><th colspan="<?php echo 3+$rtweekly; ?>">Weekly Rankings</th></tr>
<tr>
<th width="10%">Location</th>
<th width="40%">Negative Snippet</th>
<th width="10%">Previous Ranking</th>
<?php while($rw1<$rtweekly): ?>
<th width="8%">
<?php echo date('M. d', strtotime (mysql_result($tweekly,$rw1,"WeeklyRank"))); $rw1++; ?>
</th>
<?php endwhile; ?>
</tr>
</thead>
<tbody>
<?php $x='a';while($rw2<$rsummary): $rw3 = 0;?>
<tr>
<td rowspan="<?php echo $cnt[$x]+1;$x++;?>">
<?php echo mysql_result($summary,$rw2,"Location"); ?>
</td>
<?php for ($i=0; $i < 2+$rtweekly; $i++): ?>
<td></td>
<?php $cnt++; endfor;?>
</tr>
<?php while($rw3<$rsnippet): $rw4 = 0;?>
<?php if(mysql_result($snippet,$rw3,"SummaryID") == mysql_result($summary,$rw2,"LocationID")): ?>
<tr>
<td style="font-size:11px;">
<?php echo mysql_result($snippet,$rw3,"NegativeSnippet"); ?>
</td>
<td>
<?php echo mysql_result($snippet,$rw3,"PreviousRank"); ?>
</td>
<?php while($rw4<$rtweekly): $rw5 = 0;?>
<td>
<?php while($rw5<$rweekly): ?>
<?php if(mysql_result($weekly,$rw5,"SummaryID") == mysql_result($summary,$rw2,"LocationID") && mysql_result($weekly,$rw5,"SnipPrevID") == mysql_result($snippet,$rw3,"NSPID") && mysql_result($tweekly,$rw4,"WeeklyRank") == mysql_result($weekly,$rw5,"WeeklyRank")): ?>
<?php echo mysql_result($weekly,$rw5,"Rank"); ?>
<?php endif;?>
<?php $rw5++; endwhile; ?>
</td>
<?php $rw4++; endwhile; ?>
<?php endif;?>
</tr>
<?php $rw3++; endwhile; ?>
<?php $rw2++; endwhile; ?>
</tbody>
</table>
</div>
答案 0 :(得分:2)
我有同样的问题。
我已经用X行修复它..强行打破页面。
它只是因为pdf尝试输出很多行而他无法跳转到下一页。
在您的情况下,请尝试放置:
page-break-after: always;
在第一个tr ..
<tbody>
<?php $x='a';while($rw2<$rsummary): $rw3 = 0;?>
<tr style="page-break-after: always;">
或者你可以在X行之后制作一个php来做。
我希望这对某人有用。
致以最诚挚的问候,
<强> ===== 编辑 ===== 强>
此外,删除&#34; border-collapse&#34;在你的桌子上。
答案 1 :(得分:0)
当桌子超出纸张大小时会发生这种情况。
您可以使用自定义纸张尺寸。它将解决问题。
示例:
$paper_orientation = 'landscape';
$customPaper = array(0,0,950,950);
$dompdf->set_paper($customPaper,$paper_orientation);
答案 2 :(得分:0)
我几天来一直面临同样的问题,在一个带有rowspan和colspan的巨大表格中,但没有边界崩溃:崩溃(有一个与该属性相关的已知问题)。
我已经通过将其添加到我的表元素的样式来解决它:
table
{
border-collapse:unset;
}
希望它有所帮助!
答案 3 :(得分:0)
我有同样的问题。 确保您没有任何外部CSS或任何其他链接文件。但是我通过内部css和内联css完全设计PDF文件来修复它。 我希望它能解决你的问题。
答案 4 :(得分:-1)
这可以在关闭表几次时解决。然后表格适合纸张大小,错误消失了。