2012-03-25 6 views
1

JavaのiTextを使用して2つのpdfドキュメントをマージしたいのですが、pdfsの1つは実行時に作成され、もう1つは読み込み済みのPdfStamper関数それに画像をスタンプする。私はこれらの2つのpdfsをマージし、サーブレットを使ってそれらを表示したいと思います。iTextは、実行時に作成されたpdfとスタンプされたpdfをマージします

これが可能かどうか、どうすればいいか知りたいです。

私はそれらを別々に作成またはスタンプすることは問題ありませんが、私はそれらをマージする方法を理解できないようです。

ありがとうございます

答えて

0

私はこのコードがあなたを助けることができると思います。このためにIText.Jarをインポートする必要があります

public static void doMerge(List<InputStream> list, 
          OutputStream outputStream) throws DocumentException, 
                  IOException { 
    Document document = new Document(); 
    PdfWriter writer = PdfWriter.getInstance(document, outputStream); 
    document.open(); 
    PdfContentByte cb = writer.getDirectContent(); 
    float k = 0; 
    for (InputStream in : list) { 
     PdfReader reader = new PdfReader(in); 
     for (int i = 1; i <= reader.getNumberOfPages(); i++) { 

      //    document.newPage(); 
      //import the page from source pdf 
      PdfImportedPage page = writer.getImportedPage(reader, i); 
      //add the page to the destination pdf 
      cb.addTemplate(page, 0, 0); 
      System.out.println(page.getHeight()); 
     } 
    } 

    outputStream.flush(); 
    document.close(); 
    outputStream.close(); 
}