2012-12-11 28 views
0
/*PDFMergerUtility mergerUtility = new PDFMergerUtility();*/ 


while(rs.next()) 
    { 


     PDFMergerUtility mergerUtility = new PDFMergerUtility(); 

     try 
      { 
      in=resultset.getBinaryStream(1); 
      mergerUtility.addSource(in); 
      mergerUtility.setDestinationStream(bos); 
      mergerUtility.mergeDocuments(); 

      } 

    catch (Exception e) 
     { 

     } 
     bos.reset(); 
     /*How to reset/clear mergeutility object?*/ 
    } 

如果沒有實例化,PDFMergerUtility mergerUtility = new PDFMergerUtility(); while while循環,給出文件錯誤結束。如何在while循環中聲明時重用它?PdfBox:PDFMergerUtility如何重用該對象?

+0

,如果我得到它,但你嘗試到while循環外聲明並初始化它在循環中,我不知道嗎? – Averroes

+0

@Averroes:通過初始化你的意思是在循環內實例化它? –

+0

就是這樣。 'PDFMergerUtility mergerUtility = null; while(rs.next()){mergerUtility = new PDFMergerUtility(); ...' – Averroes

回答

0

在你的代碼中,你沒有合併。要解決,代碼將是這樣的

PDFMergerUtility mergerUtility = new PDFMergerUtility(); 
    try { 
     while(rs.next()) {  
      in=resultset.getBinaryStream(1); 
      mergerUtility.addSource(in); 

     }  
     mergerUtility.setDestinationStream(bos); 
     mergerUtility.mergeDocuments(); 

     bos.close(); 

    } 
    catch (Exception e) { 

    }