OnceUponATim..
10
ABCpdf包括两个HTML呈现引擎.
MSHTML基于Trident,产生的输出大致类似于系统上安装的IE版本.
Gecko一个基于Firefox,截至2013年6月将产生与您在Firefox 21中看到的输出大致相似的输出.
您可以使用Doc.HtmlOptions.Engine属性在两个引擎之间切换.
两个引擎都支持分页CSS样式.您可以使用以下内容:
请注意,page-break-inside是对基本MSHTML行为的补充.
两个引擎对这些结构的处理略有不同.一般来说,MSHTML更加宽容和直观.如何应用样式的元素必须是可见的才能工作.
因此,如果样式不会在您期望的位置产生中断,则调试它们的最简单方法是将边框样式应用于元素,以便您可以查看中断的位置.这通常会使问题的原因显而易见.
Gecko引擎中的分页符样式并不总是像在MSHTML中一样直观地应用.其根源是CSS规范,该规范说断点样式必须适用于"根元素的正常流"中的块级元素.它允许将这些样式应用于其他元素,但不强制要求它.
在Gecko引擎中,结果是页面分隔样式不能在表格中应用于表格行等元素.如果您不确定某些内容是否可行,只需在Firefox 21.0中尝试打印预览作为简单的完整性检查.