
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ページ、白紙が追加されている。