首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NetSuite BFO实现不中断页面

使用NetSuite BFO实现不中断页面
EN

Stack Overflow用户
提问于 2017-04-20 22:04:49
回答 1查看 1.9K关注 0票数 1

我正在尝试修改一个exist XML模板,以便与NetSuite的BFO PDF报表生成器实现一起使用。基本结构是一个有两行和两列的表,其中第一行进行列合并。在第二行中,一列填充数据,另一列填充图像。图像很小,并且显示在第一页中。但是,数据列提供了不同数量的信息,一些信息提供了HTML格式(例如,无序列表)。问题是,有时会有大量的数据,并且在没有分页的情况下从页面上运行。在某些情况下,我可以重构数据或执行一些魔术,以缩小大小或中断块,添加强制第二页。不过,在像无序列表这样的情况下,我不能用它做任何事情。

我尝试过强迫TBODY标记围绕TR标记,尝试强制页面进入属性。似乎什么都起不到作用。例如,这就是我从一长串清单中得到的:

您可以看到内容如何重叠页脚。这就是我对这张桌子行的看法:

代码语言:javascript
复制
<tbody page-break-inside="auto">
    <tr style="border-top:4px solid; padding-bottom:10px;" page-break-inside="auto">

内容还封装在DIV标记中:

代码语言:javascript
复制
<div id="itemDetails" style="min-width: 0px; max-width:545px;">

对于这个特殊的例子,源记录上有两个内容字段,包含HTML格式的无序列表,也没有应用任何样式。下面是较小的源块(恰好被从显示页面的底部切断):

代码语言:javascript
复制
<ul>
  <li>All the Advantages of Altivar 31 Drive</li>
  <li>Excellent Resistance to Harsh Environments (50° C)</li>
  <li>Coated Cards as Standard (IEC 60721-3-3 Classes 3c2 and 3s2)</li>
  <li>Excellent Resistance to Power Supply and Motor Interference</li>
  <li>0.25 HP to 20 HP</li>
  <li>Single-Phase 200 V to 240 V, Three-Phase 200 V to 240 V, Three-Phase 380 V to 500 V, Three-Phase 525 V to 600 V</li>
  <li>Integrated Class 2 Emc Filter for Radiated and Conducted Emissions</li>
  <li>Din Rail Mounting</li>
</ul>

有什么建议可以帮助使这些数据分页吗?我觉得有一个明显的解决办法我没有想到。

EN

回答 1

Stack Overflow用户

发布于 2018-05-15 14:06:10

在过去一周试图解决同样的问题后,如果列表中的信息比单个页面上的信息更长,我决定在列出信息时进行分页符。OP的评论指出了这个方向--您需要使用/省略嵌套元素来实现它。

如果我将要显示的数据长度小于适合于单个页面的长度,我将使用divpage-break-inside: avoid;。否则,我省略了div,只使用表-这允许表行中断到多个页面。

对于下面的示例,我的主要数据对象是searchResults。它包含valueArr的一个属性,它是我需要在打印输出中显示的散列数组。对于一种类型的打印输出,我的styleObj.maxCoilsPerPage设置为30;在您的情况下,您需要将其更改为适合于单个页面的行数。

CSS片段:

代码语言:javascript
复制
.nopagebreak {
    page-break-inside: avoid;
}

HTML片段:

代码语言:javascript
复制
<#list searchResults.valueArr as item>
    <#if (item.valueArr?size lte styleObj.maxCoilsPerPage?number)>
        <div class="nopagebreak">
    </#if>
        <table>
            <tr>
                <td width="70%">${item.itemName}</td>
                ...other table data...
        </table>
    <#if (item.valueArr?size lte styleObj.maxCoilsPerPage?number)>
        </div>
    </#if>
</#list>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43530694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档