Java基础之PDF文件的合并

时间:2024-03-03 13:55:45

1、首先下载一个jar包:pdfbox-app-1.7.1.jar

2、代码如下:

package com;

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.util.PDFMergerUtility;


/**
 * PDF格式的图片合并
 *
 */
public class PdfBox {

	  private static String[] getFiles(String folder) throws IOException {  
	      File _folder = new File(folder);  
	      String[] filesInFolder;     
	 
	      if(_folder.isDirectory()){  
	            filesInFolder = _folder.list();  
	            return filesInFolder;  
	       } else {  
	            throw new IOException("Path is not a directory");  
	       }  
	    } 
	  
	  
	public static void main(String[] args) throws Exception {
		//pdf合并工具类
        PDFMergerUtility mergePdf = new PDFMergerUtility();  

        String folder = "D:/testFile";  
        String destinationFileName = "mergedTest.pdf";  
          
        String[] filesInFolder = getFiles(folder);     
  
        for(int i = 0; i < filesInFolder.length; i++){ 
            //循环添加要合并的pdf存放的路径
            mergePdf.addSource(folder + File.pathSeparator + filesInFolder[i]);  
        }  
        //设置合并生成pdf文件名称
        mergePdf.setDestinationFileName(folder + File.separator + destinationFileName);  
        //合并pdf
        mergePdf.mergeDocuments();  
	}

}

 其中注意的是:File.separator

在windows中的文件分隔符是 \ 和 /都可以

但是在Linux中,文件分隔符只能是/

所以用了\\的程序在Linux下会出问题。

而File.separator是系统默认的文件分割符号,屏蔽了这些系统的区别。

用File.separator保证了在任何系统下不会出错。