Seitenselektor und Aufteilungsschema

Für einige Funktionen ist es sehr wichtig, eine flexible Möglichkeit zu haben, zu bestimmen, welche Seiten verarbeitet werden sollen und welche nicht (z. B. alle geraden Seiten, alle ungeraden Seiten, nur die ersten beiden und die letzten Seiten oder jede 4.) Zu diesem Zweck wird eine flexible Syntax verwendet, um die gewünschten Gruppen von Seiten oder Seitenbereiche auszudrücken.

Ein Seitenselektor-Ausdruck kann eine Liste sein, z. B. 1,2,3. Er kann auch ein einfacher Ausdruck sein, z. B. 3--3 findet alle Seiten außer den ersten und letzten beiden (die letzte Seite ist -1). Oder es wird eine erweiterte Syntax verwendet: z.B. *3 wählt jede dritte Seite aus. Weitere Informationen finden Sie weiter unten.

"page_selector": "all|even|odd|<splitscheme_expression>"

Das Aufteilungsschema ist ein TYP des 'page selector'.

Verwendung auf CLI

Die Funktion "page selector" kann auf der CLI wie folgt verwendet werden:

--pagerange=<expression>

Dies ist die gleiche Syntax wie für Split-Schemata (--splitscheme=<expression>)

Verwendung mit SDK

Die Funktion "page selector" kann mit pdfToolbox SDK überall dort verwendet werden, wo der folgende Parameter aufgeführt ist (mit leicht abweichenden Typen in anderen Sprachen).

const PTB_sys_char_t*         pageselector         /*!< Use page selector syntax, might be NULL for all pages */

Split Schema

Ein Split-Schema-Ausdruck kann eine Zahl mit einem Sternchen "*" oder eine komplexere Zeichenfolge sein. Wenn es sich um eine Zahl mit einem Sternchen "*" handelt, werden Gruppen von Seiten erstellt, wobei jede Gruppe die festgelegte Anzahl von Seiten hat. Lautet der Ausdruck z. B. "3*", wird die PDF-Datei in Gruppen von 3 Seiten unterteilt.

Ausdrücke

Typ Syntax Beispiel

Einfacher Ausdruck

number[-number]
1-5

Seite 1 bis 5: [1,2,3,4,5]



5-1

Seite 5 bis 1: [5,4,3,2,1]



8 Nur Seite 8


-1 Letzte Seite


-3--1

Letzte 3 Seiten: [n, n-1, n-2]



-1--3

Letzte 3 Seiten in umgekehrter Seihenfolge: [n-2, n-1, n]



-1-3

Letzte n - 2 Seiten in umgekehrter Reihenfolge: [n, n-1, ... ,3]



*2(2)
[2][4][6]...
Typ
Syntax
Beispiel

Einfacher Ausdruck mit Einfacher Range

number[-number]_ number[-number][ "," joker$]

1-2_-2--1

Erste 2 und letzte 2 Seiten: [1,2,n- 1,n]



1-2_-2--1,$

Erste 2 und letzte 2 Seiten [1,2,n-1,n] und verbleibenden innere Seiten [3, ... ,n-2]



1_1_1_1

4 times page 1: [1,1,1,1]

Typ Syntax Beispiel

Mehrseitiger Ausdruck

even_pages

even

Alle geraden Seiten (selbes wie *2(2))


uneven_pages odd

All ungeraden Seiten (selbes wie *2(1))


Package number* [(start_page)]

5*

Pakete zu je 5 Seiten



5*(2)

Pakete zu je 5 Seiten, angefangen mit Seite 2


*number [(start_page)]

*5 Jede 5. Seite


*5(2)

Jede 5. Seite, angefangen mit Seite 2



*5(-20)

Jede 5. Seite der letzten  20 Seiten des Dokumentes (gesamt 4 Seiten)


*number [(start_page,end_page)]
*5(2,20) Jede 5. Seite, angefangen mit Seite 2 bis zu Seite 20
Typ Syntax
Beispiel

Einfache Ausdrucksliste

simple_expression {"," simple_expression}[ "," joker$]

1-5,8,-3--1

1 PDF mit Seite 1-5, Seite 8 und die letzten 3 Seiten der Eingabe-PDF



1-5,8,-1--3

1 PDF mit Seite 1-5, Seite 8 und die letzten 3 Seiten der Eingabe-PDF, aber die letzten 3 Seiten in umgekehrter Reihenfolge



1-5,8,$
1 PDF mit Seite 1-5, Seite 8 und alle verbleibenden Seiten

Joker

<expression>,$

Kann mit anderen Ausdrücken kombiniert werden (muss das letzte Element in einer Liste sein), um alle Seiten, die nicht Teil eines anderen Ausdrucks sind, in einer eigenen Gruppe zusammenzufassen.

Beispiel

1-5,8,-3--1,$

würde Seitengruppen mit den Seiten 1-5, Seite 8, den letzten 3 Seiten und den restlichen Seiten der PDF-Datei erstellen.