2012-12-17 9 views
6

Mam kilka bardzo długich tabel, które obejmują wiele stron, renderowanych za pomocą Apache-FOP 1.1Jak zrobić powtarzanie podpisu tabeli XSL-FO na każdej stronie, gdy tabela obejmuje wiele stron?

Tabela ma podpis, na przykład "Tabela 7.6. Szczegóły czegoś" i nagłówki kolumn.

Na każdej kontynuowanej stronie nagłówki kolumn są prawidłowo powtarzane u góry. Ale muszę również mieć kontynuację tabeli z podpisem w postaci: "Tabela 7.6. Szczegóły czegoś (kontynuacja)"

Czy jest jakiś sposób, aby to zrobić z XSL-FO i Apache-FOP? czy wymaga rozszerzeń, być może dostępnych przez RenderX?

Odpowiedz

6

Nie wiem, jak to zrobić w FOP, ale może to być spowodowane tym, że nie używałem FOP do niczego więcej niż do generowania podstawowych plików PDF.

Za pomocą RenderX (XEP) możesz ustawić swój fo:table-header na dowolny tytuł, którego chcesz używać na stronach ciągłych i używać zwykłego fo:block dla początkowego tytułu.

Następnie można użyć atrybutu rx:table-omit-initial-header="true" na swoim fo:table, aby nie wyprowadzać nagłówka tabeli przy pierwszej wyprowadzaniu tabeli.

Oto przykład świadczonych przez RenderX 4.18 ...

przykład XSL-FO

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" 
    xmlns:rx="http://www.renderx.com/XSL/Extensions"> 
    <fo:layout-master-set> 
     <fo:simple-page-master master-name="my-page" page-width="8.5in" page-height="11in"> 
      <fo:region-body margin="1in" margin-top="1.5in" margin-bottom="1.5in"/> 
     </fo:simple-page-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="my-page"> 
     <fo:flow flow-name="xsl-region-body"> 
      <fo:block font-size="12pt" font-weight="bold" 
       text-align="center" space-after="6pt">Sample Table</fo:block> 
      <fo:block> 
       <fo:table rx:table-omit-initial-header="true" space-before=".08in"> 
        <fo:table-column column-width="100%"/> 
        <fo:table-header> 
         <fo:table-cell> 
          <fo:block font-weight="bold" 
           font-size="12pt" text-align="center" 
           space-after="6pt">Sample Table (Cont)</fo:block> 
         </fo:table-cell> 
        </fo:table-header> 
        <fo:table-body> 
         <fo:table-row> 
          <fo:table-cell> 
           <fo:table border-style="solid" border-width="1pt" padding="6pt"> 
            <fo:table-column column-number="1" column-width="20%"/> 
            <fo:table-column column-number="2" column-width="80%"/> 
            <fo:table-header font-weight="bold"> 
             <fo:table-cell text-align="left"> 
              <fo:block>Column 1</fo:block> 
             </fo:table-cell> 
             <fo:table-cell> 
              <fo:block>Column 2</fo:block> 
             </fo:table-cell> 
            </fo:table-header> 
            <fo:table-body> 
             <fo:table-row padding-before="20px"> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
             <fo:table-row> 
              <fo:table-cell> 
               <fo:block>Lorem ipsum dolor sit amet</fo:block> 
              </fo:table-cell> 
              <fo:table-cell> 
               <fo:block>Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn’t commit. These men promptly escaped from a 
                maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune.</fo:block> 
              </fo:table-cell> 
             </fo:table-row> 
            </fo:table-body> 
           </fo:table> 
          </fo:table-cell> 
         </fo:table-row> 
        </fo:table-body> 
       </fo:table> 
      </fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
</fo:root> 

Przykład PDF Wyjście Page 1

enter image description here

Przykład PDF Wyjście Page 2

enter image description here

+1

Zanim napisałem, że mogę tego dokonać przy użyciu FOP, ale wygląda na to, że źle zrozumiał pytanie i odpowiedź. Przepraszam za wszelkie zamieszanie. –

Powiązane problemy