既存のPDFの縮小版を新しいPDFに面付けする2

package Chapter03StamUnder;

import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.CMYKColor;

public class StamUnder {
public static void main(String[] args) {
//A4で新しいドキュメントを作成
Document document = new Document(PageSize.A4);
try {
//既存PDFの読み込み
PdfReader reader = new PdfReader("C:\\java\\sample.pdf");
//作成するPDF
PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream("C:\\java\\CopyPageAsImage.pdf"));
//ドキュメントを開く
document.open();
//日本語フォント設定(英文だけならここは不要)
BaseFont bf = BaseFont.createFont("HeiseiKakuGo-W5","UniJIS-UCS2-HW-H",false);
Font font = new Font(bf,12);
//***最初のサムネイル:文字を追加する
document.add(new Paragraph("Chapter2 iTextとは",font));
//  1ページ目をインポートする
PdfImportedPage page = writer.getImportedPage(reader, 1);
//  Imageでラップ(変換)
Image image = Image.getInstance(page);
//  40%縮小
image.scalePercent(40f);
//  枠線をつける(付けないとページ枠が見えない)
image.setBorder(Rectangle.BOX);
//  枠線の太さ設定
image.setBorderWidth(3f);
//  枠線の色の設定
CMYKColor color1 =new CMYKColor(0,0,0,256);
image.setBorderColor(color1);
//  最後にImageをドキュメントに追加
document.add(image);
//***2番目のサムネイル:文字を追加する
document.add(new Paragraph("Chapter3 はじめてのiText",font));
//  6ページ目をインポートする
page = writer.getImportedPage(reader, 6);
//  Imageでラップ(変換)
image = Image.getInstance(page);
//  40%縮小
image.scalePercent(40f);
//  枠線をつける(付けないとページ枠が見えない)
image.setBorder(Rectangle.BOX);
//  枠線の太さ設定
image.setBorderWidth(3f);
//  枠線の色の設定
CMYKColor color2 =new CMYKColor(0,100,0,0);
image.setBorderColor(color2);
//  最後にImageをドキュメントに追加
document.add(image);
//***2番目のサムネイル:文字を追加する
document.add(new Paragraph("Chapter3 はじめてのiText",font));
//  6ページ目をインポートする
page = writer.getImportedPage(reader, 6);
//  Imageでラップ(変換)
image = Image.getInstance(page);
//  40%縮小
image.scalePercent(40f);
//  枠線をつける(付けないとページ枠が見えない)
image.setBorder(Rectangle.BOX);
//  枠線の太さ設定
image.setBorderWidth(3f);
//  枠線の色の設定
CMYKColor color3 =new CMYKColor(0,100,0,0);
image.setBorderColor(color3);
//  最後にImageをドキュメントに追加
document.add(image);
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
document.close();
}
}