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日