PDF合併PDF

package com.zsd.tool;


import java.io.File;  
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
  
import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFMergerUtility;  

/**
 * PDF 和PDF 合併
 * @author admini
 *
 */
public class MergeFile {  
    
    public static void main(String[] args){  
        // TODO Auto-generated method stub  
      
        try {
			PDFMergerUtility mergePdf = new PDFMergerUtility();  
			String test = "E:/hisProPdfPath/test";
			String folder1 = "E:/hisProPdfPath/bb";
			String destinationFileName = "mergedTest.pdf";  
			File _folder = new File(test);
			String[] filesInFolder = _folder.list(); 
			List<InputStream> sourcesList = new ArrayList<InputStream>();
			for(int i = 0; i < filesInFolder.length; i++)  {
				File file = new File(test + File.separator + filesInFolder[i]);
				InputStream is = new FileInputStream(file);
				//對PDF文件進行判斷,該PDF文件是否能夠打開
				//因爲有些PDF文件是損壞的、或者設置了密碼之類的
				PDDocument destination = PDDocument.load(file);
				PDDocument source = PDDocument.load(file);
				if(destination.isEncrypted())
		            throw new IOException("Error: destination PDF is encrypted, can't append encrypted PDF documents.");
		        if(source.isEncrypted())
		            throw new IOException("Error: source PDF is encrypted, can't append encrypted PDF documents.");
				System.out.println(is.read());
				//把文件添加到List中
				sourcesList.add(is);
				//mergePdf.addSource(is);  
			}
			    
			//PDF 合併  
			mergePdf.addSources(sourcesList);
			mergePdf.setDestinationFileName(folder1 + File.separator + destinationFileName);  
			mergePdf.mergeDocuments();  
			System.out.print("done");
		} catch (COSVisitorException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
    	
    }  
          
} 

發佈了23 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章