2016-07-16 67 views
0

我想分割一个PDF文件,我写了代码,我没有任何错误,但没有功能,我没有收到文件。我的Pdf文档有3页,我希望在我的桌面上出现三页一页的文件。Api pdfbox-app-2.0.2我如何分割pdf文件?

import java.io.File; 
import java.io.IOException; 
import java.util.Iterator; 
import java.util.List; 
import org.apache.pdfbox.multipdf.Splitter; 
import org.apache.pdfbox.pdmodel.PDDocument; 

public class CutPDF { 

    private static File file ; 
    private static String filePath = "C:\\Users\\Desktop\\EmailTest.pdf"; 


    public static void main(String[] args) throws IOException { 

     file = new File(filePath); 
     PDDocument document; 
     document = PDDocument.load(file); 

     Splitter splitter = new Splitter(); 
     List<PDDocument> listOfSplitPages; 
     listOfSplitPages = splitter.split(document); 
     Iterator<PDDocument> iterator = listOfSplitPages.listIterator(); 

     // I am using variable i to denote page numbers. 
     int i = 1; 
     while(iterator.hasNext()){ 
      PDDocument pd = iterator.next(); 
       // Saving each page with its assumed page no. 
       pd.save("C:\\Users\\Desktop " + i++ + ".pdf"); 
     }   
    }  
} 

回答

0

您的代码创建了名为

c:\users\desktop 1.pdf 
c:\users\desktop 2.pdf 
c:\users\desktop 3.pdf 

即 “\” 在p后丢失的文件。

因此,正确的代码应该是

pd.save("C:\\Users\\Desktop\\" + i++ + ".pdf"); 

pd.save(new File("C:\\Users\\Desktop", i++ + ".pdf")); 

注意2.0.2与分裂的问题,该文件将太大。如果您要分割多个页面,请使用2.0.1或2.0.3(当它出现时,即在几个月/周内)。

+0

哇!谢谢 :) –