2017-02-14 4 views
1

Haben Sie ein Dokument mit zwei Abschnitten, so benötigen Sie zwei Seitennummernfolgen, eine für das Dokument und eine für jeden der Abschnitte.XSL-FO: Mehrere Seitennummernfolgen

So wird jede Seite haben die zwei Seitenzahlen

gedruckt

Abschnitt 1: Abschnitt Seite #, Dokument-Seite #
Abschnitt 2: Abschnitt Seite #, Dokument-Seite #

Wie das ich erreichen?

Antwort

2

Wenn das, was Sie wollen, ist so etwas wie diese:

  • Abschnitt 1 Seite 1, Dokument Seite 1
  • Abschnitt 1 Seite 2, Dokumentseite 2
  • Abschnitt 2 Seite 1, Dokumentseite 3
  • ...

es nicht nur mit Standard LWL-Elemente und propert erreicht werden kann ies.

Jede fo:page-sequence kann entweder eine neue initial-page-number definieren oder die vorherige Seitenzahlfolge fortsetzen; In beiden Fällen hat jede Seite nur einen einzigen Seitennummer:

Der Wert des Folio-number Merkmals auf der ersten Seite von der fo zurückgegeben: page-Sequenz, die den Wert der gleich eingeschränkt ist die Initialseitenzahl Merkmal. Der Wert der Folio-Nummer-Eigenschaft auf nachfolgenden Seiten ist auf einen Wert größer als der Wert auf der unmittelbar vorhergehenden Seite beschränkt.

Die Format, Brief Wert, Gruppierung Scheider, Gruppierung-Größe, Land und Sprache Züge verwendet werden, um die Zahl in eine String Form zu formatieren, wie angegeben in XSLT. Diese formatierte Nummer wird vom Flow-Objekt fo: seitenzahl verwendet.

XSL-FO 1.1 recommendation, 6.4.13 fo:simple-page-master

+0

Kann es einen Platzhalter geben, sagen wir in der Fußzeile der Seite, dann registrieren Sie sich für ein neues Seitenereignis, und aktualisieren Sie den Wert dieses Platzhalters, der dann auf der Seite gedruckt wird? Ich stelle diese Frage, weil Sie Profil sagt, fop Mitwirkender, ich benutze fop, auch ich bin ok mit der Verwendung nicht standardmäßiger Mittel, um dies zu erreichen. – tmokha

+1

"Nicht-Standard" zu verwenden bedeutet, dass die Lösung trivial ist. Sie bearbeiten das ganze Dokument mit sich wiederholenden Sequenzen, die Ihnen die 1 von 1 von X, 2 von 1 von X zum Zwischenformat geben Dann verarbeiten Sie das Zwischenformat, um die anderen Zahlen zu injizieren –

Verwandte Themen