
PDFの印鑑画像を貼り付け印鑑画像をPDF文書として作成しておき、別のPDF文書に捺印します。
印鑑画像をPDF文書(印鑑PDF)として用意しておきます。
別のPDF文書(捺印するPDF)の捺印する位置に、印影の大きさで配置矩形を設定します。
捺印するPDF文書に、印鑑PDFを配置矩形の大きさになるように縮小して貼り付けます。こうして挿入された印鑑画像は拡大・縮小でにじむことがありません。
package cookbook;
import java.io.*;
import jp.co.antenna.ptl.*;
public class AddPdfStampOnReceipt {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
if (args.length < 3)
{
System.out.println("usage: java AddPdfStampOnReceipt in-pdf-file out-pdf-file insert-stamp-pdf");
return;
}
try (PtlParamInput inputFile = new PtlParamInput(args[0]);
PtlParamOutput outputFile = new PtlParamOutput(args[1]);
PtlPDFDocument doc = new PtlPDFDocument();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)))
{
// PDFファイルをロードします。
doc.load(inputFile);
//コマンドライン引数の取得
String insertPdfURI = args[2];
...【RemovePages.javaと同じ処理のため省略
・doc.getPages()メソッドを用いてPtlPages pagesにページコンテナを取得
・ページコンテナが空だった場合にエラーを出力して終了】...
try (PtlPage page = pages.get(0))// 先頭ページの取得
{
// フォームの描画処理
drawPdfStamp(page, insertPdfURI);
}
}
...【AppendPages.javaと同じ処理のため省略
・PtlParamOutputを用いてPtlPDFDocument docの内容を出力
・PtlException, Exception, Error を catchするエラー処理
・finally文で"--完了--"と表示する処理】...
}
public static void drawPdfStamp (PtlPage page, String insertPdfURI) throws PtlException, Exception, Error{
try(PtlContent content = page.getContent();// 挿入先ページコンテントの取得
PtlRect outputRect = new PtlRect(165, 55, 200, 75);// 出力矩形の設定
PtlParamInput insertPdf = new PtlParamInput(insertPdfURI); // 挿入PDF指定に使うパラメータクラス
PtlPDFDocument doc2 = new PtlPDFDocument()) // 挿入PDFの実体
{
doc2.load(insertPdf);
try(PtlPages pages2 = doc2.getPages())
{
// ページコンテナが空かどうか
if (pages2.isEmpty())
{
System.out.println("挿入するPDFのページコンテナが空");
return;
}
try(PtlPage pageInsert = pages2.get(0)) // 先頭ページの取得
{
// 指定ページの挿入()
content.drawForm(outputRect, PtlContent.ALIGN.ALIGN_CENTER, pageInsert);
}
}
}
}
}
AddPdfStampOnReceipt.java
C:\samples>java cookbook.AddPdfStampOnReceipt usage: java AddPdfStampOnReceipt in-pdf-file out-pdf-file insert-stamp-pdf C:\samples>java cookbook.AddPdfStampOnReceipt form.pdf form-stampPdf.pdf stamp.pdf -- 完了 --
PDF形式で作成した領収書にPDF形式で作成した印鑑を押した例を図に示します。
