package com.merge.rui;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import org.apache.pdfbox.util.PDFMergerUtility;
//Author:Yiutto
//destination:主要用于pdf文件批处理转换为text文档

public class PdfMerge  {
	
	 public static void main(String[] args) throws Throwable {
	        // @3 “E:\\data\\Inputpdf\\”是pdf文件夹根目录,所有的pdf文件都放在该目录下(自己可以设置)
	       String pdfPath = "C:\\Users\\rui\\Desktop\\test\\";
	       
	       String out = "C:\\Users\\rui\\Desktop\\test\\out\\Merge.pdf";
	       PdfMerg(pdfPath,out);
	    }
	/**
	 * 得到文件夹下pdf文件
	 * @param folder
	 * @return
	 * @throws IOException
	 */
	public static String[] getCurFiles(String folder) throws IOException{
		File _folder = new File(folder);
		File[] files = _folder.listFiles();
		ArrayList<String> list = new ArrayList<String>();
		 for(int i= 0;i<files.length;i++){
			 if(!files[i].isDirectory()){
				if( files[i].getName().endsWith("pdf")){
					list.add(folder+File.separator+files[i].getName());
//					list.add(files[i].getName());
				}
			}
		 }
		return list.toArray(new String[list.size()]);
	}
	
	static ArrayList<String> list;
	//得到文件夹下所有pdf文件
	public static String[] getFiles(String folder) throws IOException
	{
	
		list = new ArrayList<String>();
		File _folder = new File(folder);
		File[] filesInFolder = _folder.listFiles();
		
//		int i=0;
		for (int x = 0; x < filesInFolder.length; x++) {
			if (filesInFolder[x].isDirectory()){
				
				getFiles(filesInFolder[x].getPath());
			}
			else{
				
				if (filesInFolder[x].getName().endsWith(".pdf")) {
					list.add(_folder+ File.separator+filesInFolder[x].getName());//路径+文件名
//					list.add(filesInFolder[x].getName());//文件名
					
				}
				
		
			}
		}
		
		String[] fileString = new String[list.size()];
		for(int k=0;k<list.size();k++){
			fileString[k]=list.get(k);
		}
//		System.out.println("luj"+Arrays.toString(fileString));
			return fileString;
		
	}
	/**
	 * pdf合并,源文件夹,目标文件名
	 * @param folder
	 * @param destinationFileName
	 * @throws IOException
	 * @throws Exception
	 */
	public static void PdfMerg(String folder,String destinationFileName) 
			throws IOException, Exception{
		PDFMergerUtility mergePdf = new PDFMergerUtility();
		String[] filesInFolder = getCurFiles(folder);
//		String[] filesInFolder = getFiles(folder);
		System.out.println(Arrays.toString(filesInFolder));
		for(int i = 0; i < filesInFolder.length; i++)
			mergePdf.addSource(filesInFolder[i]);
//		mergePdf.addSource(folder + File.separator + filesInFolder[i]);
		
		
		mergePdf.setDestinationFileName(destinationFileName);
//		mergePdf.setDestinationFileName(folder + File.separator + destinationFileName);
		mergePdf.mergeDocuments();
		System.out.println("Merge is done");
	}

    
   
    
}
最近下载更多
gshnlj  LV15 2022年8月24日
2252536772  LV21 2022年2月18日
thornton2011  LV2 2021年9月2日
aihui523  LV34 2021年3月23日
wupujian  LV17 2020年12月30日
18321000850  LV14 2020年6月24日
EdgarLi  LV14 2020年5月16日
kkalpha  LV5 2020年3月20日
qq371348836  LV7 2020年3月12日
xuyongff  LV24 2019年11月4日
最近浏览更多
f22m1a2b2  LV17 5月31日
syd1988  LV7 3月14日
孤留光乩 2023年12月3日
暂无贡献等级
chen影 2023年10月31日
暂无贡献等级
zj0010722  LV2 2023年3月2日
G你太美  LV9 2022年10月13日
PaymentCodeSystem  LV11 2022年8月4日
funcrit  LV2 2022年7月18日
mengfanyun  LV9 2022年7月4日
xytthy  LV3 2022年4月25日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友