簡體   English   中英

使用NetSuite BFO PDF報告實施的頁面沒有中斷

[英]Page Not Breaking Using NetSuite BFO PDF Report Implementation

我正在嘗試修改現有的XML模板,以便與NetSuite的BFO PDF報告生成器實現一起使用。 基本結構是一個包含兩行和兩列的表,其中第一行執行列合並。 在第二行中,一列填充數據,另一列填充圖像。 圖像很小,顯示適合第一頁。 但是,數據列提供了不同數量的信息,並且一些信息以HTML格式提供(例如無序列表)。 問題是,有時會有很多數據,並且它會在沒有分頁符的情況下運行。 在某些情況下,我能夠重構數據或執行一些魔術技巧,以減小大小或中斷第二頁的塊添加力。 但是,在無序列表的情況下,我無法做任何事情。

我嘗試在TR標記周圍強制使用TBODY標記,嘗試強制使用page-break-inside屬性。 似乎沒什么用。 例如,這是我得到的長列表:

在此輸入圖像描述

您可以看到內容如何與頁腳重疊。 這就是我對所討論的表行的看法:

<tbody page-break-inside="auto">
    <tr style="border-top:4px solid; padding-bottom:10px;" page-break-inside="auto">

內容也封裝在DIV標記中:

<div id="itemDetails" style="min-width: 0px; max-width:545px;">

在這個特定的例子中,源記錄中有兩個內容字段,包含HTML格式的無序列表,並且都沒有應用任何樣式。 這是較小的源塊(恰好是從顯示頁面的底部切掉):

<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>

有關什么可能有助於將此數據分頁的任何建議? 我覺得有一個明顯的解決方案,我沒想到。

在嘗試過去一周解決相同的問題之后,如果列表中的信息長於單個頁面上的信息,我決定在列出信息時進行分頁。 OP的評論指出了我的方向 - 你需要使用/省略嵌套元素來實現它。

我正在使用帶有page-break-inside: avoid;div page-break-inside: avoid; 如果我要顯示的數據長度小於單個頁面的數據長度。 否則我省略div並只使用表 - 這允許表行分成多個頁面。

對於以下示例,我的主要數據對象是searchResults 它包含valueArr的屬性,它是我需要在打印輸出中顯示的哈希數組。 對於這種打印輸出的一種類型,我將styleObj.maxCoilsPerPage設置為30; 您需要將其更改為適合您案例中單個頁面的行數。

CSS片段:

.nopagebreak {
    page-break-inside: avoid;
}

HTML片段:

<#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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM