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.