PDF文書に白紙ページを追加して総ページ数を偶数にします。
PDF文書の総ページ数を調べます。
総ページ数が奇数のとき、最後に空白の1ページを追加します。総ページ数が偶数のときは何もしません。
この例では次の機能を使っています。
package cookbook; import jp.co.antenna.ptl.*; public class MakeEvenPage { /** * @param args the command line arguments */ public static void main(String[] args) { if (args.length < 2) { System.out.println("usage: java MakeEvenPage in-pdf-file out-pdf-file"); return; } ...【AppendPages.javaと同じ処理のため省略 ・PtlParamInputを用いてPtlPDFDocument docに入力PDFをロード ・PtlParamOutputを用いて出力PDF名を指定】... //ページ数を取得 int pageCount = doc.getPageCount(); System.out.println("ページ数:"+ pageCount); if(pageCount % 2 == 0) { System.out.println("ページ数は偶数です。このままの内容で出力します。"); } else { System.out.println("ページ数は奇数です。空白ページを追加して出力します。"); try (PtlPages pages = doc.getPages(); //ページコンテナの取得 PtlPage page = pages.get(0); //PDFの先頭ページのページオブジェクトを取得 PtlSize sizeOfPage = page.getSize(); //先頭ページのサイズを取得 PtlPage blancPage = new PtlPage(); //作成予定のページオブジェクトを作成 PtlSize sizeOfBlancPage = blancPage.getSize()) //サイズを取得 { // 追加する空白ページを作成するために、先頭ページのサイズに合わせます。 sizeOfBlancPage.setHeight(sizeOfPage.getHeight()); sizeOfBlancPage.setWidth(sizeOfPage.getHeight()); // ページの追加 pages.append(blancPage, PtlPages.OPTION_NONE); } } ...【AppendPages.javaと同じ処理のため省略 ・PtlParamOutputを用いてPtlPDFDocument docの内容を出力 ・PtlException, Exception, Error を catchするエラー処理 ・finally文で"--完了--"と表示する処理】... } }
MakeEvenPage.java
C:\samples>java cookbook.MakeEvenPage usage: java MakeEvenPage in-pdf-file out-pdf-file C:\samples>java cookbook.MakeEvenPage chap1-2.pdf chap1-2-even.pdf ページ数:13 ページ数は奇数です。空白ページを追加して出力します。 -- 完了 --
出力されたPDFには末尾に1ページ、白紙が追加されている。