このselectPages()
方法は、私の本の第 6 章で説明されています (164 ページを参照)。コード スニペット 6.3 および 6.11 のコンテキストでは、またはによってPdfReader
消費されるために読み取られるページ数を減らすために使用されます。ただし、ページの並べ替えにも使用できます。まず、構文を説明させてください。PdfStamper
PdfCopy
selectPages()
メソッドにはさまざまな種類があります。
List<Integer>
保持したいすべてのページ番号を含む を渡すことができます。このリストは、1、2、3、4 のように増加するページ番号で構成できます。たとえば、1、3、2、4 のようPdfReader
に順序を変更すると、その変更された順序でページが表示されます。
次の構文を使用して文字列を渡すこともできます (これはスニペットで行われます)。
[!][o][odd][e][even]start[-end]
コンマで区切られた複数の範囲を持つことができます。モディファイアは、すでに選択されているものからページを削除します。範囲の変更はインクリメンタルです。範囲が表示されると、番号が追加または削除されます。開始または終了は省略できます。両方を省略する場合は、少なくとも o (奇数; 奇数ページをすべて選択する) または e (偶数; 偶数ページをすべて選択する) が必要です。
あなたの場合、次のものがあります。
String.format("%d, 1-%d", n, n-1)
10 ページのドキュメントがあり、n
が 10 に等しく、フォーマット操作の結果が"10, 1-9"
. この場合、PdfReader
最後のページが最初のページとして表示され、その後に 1 ~ 9 ページが表示されます。
ここで、 8ページから始まる TOC があり、この TOC を最初のページに移動したい場合、次のようなものが必要であるとし8-10, 1-7
ます。toc
n
String.format("%d-%d, 1-%d", toc, n, toc -1)
メソッドの詳細についてはformat()
、 API ドキュメントString
およびFormat String syntaxを参照してください。