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日