如今在工作中PDF文檔越來越受歡迎,辦公人員經(jīng)常會接觸和處理PDF文檔。例如,將包含多個(gè)發(fā)票的PDF文檔拆分為多個(gè)獨(dú)立的文檔,或?qū)⒍鄠€(gè)報(bào)表合并為一個(gè)PDF文檔。
本文將介紹如何使用Spire.PDF for Java拆分PDF文檔以及合并多個(gè)PDF文檔。下面的三段代碼將從以下三個(gè)方面解釋如何拆分和合并PDF文檔。
- 將一個(gè)PDF文檔拆分為多個(gè)單頁P(yáng)DF
- 按頁面范圍將一個(gè)PDF文檔拆分為多個(gè)文檔
- 將多個(gè)PDF文檔合并為一個(gè)文檔
在編譯下面的代碼之前,請先下載Spire.PDF for Java,再將Spire.Pdf.jar導(dǎo)入到您的項(xiàng)目中。
將PDF拆分為多個(gè)單頁P(yáng)DF文檔
Spire.PDF for Java提供了一個(gè)非常簡單的方法 -split,將多頁P(yáng)DF文檔分成多個(gè)單頁的PDF文檔。只需將PDF原文件加載到PdfDocument對象中,然后調(diào)用split方法進(jìn)行拆分。
//指定文件輸入路徑和輸出目錄
String inputFile= "C:/Users/Administrator/Desktop/test.pdf";
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";
//創(chuàng)建一個(gè)PdfDocument實(shí)例
PdfDocument doc = new PdfDocument();
//加載一個(gè)PDF文檔
doc.loadFromFile(inputFile);
//將PDF拆分為單頁P(yáng)DF
doc.split(outputDirectory + "output-{0}.pdf",1);
按頁面范圍拆分PDF
如果您想要按所選頁碼拆分PDF,例如,將第一頁拆分成一個(gè)文檔,其余頁拆分為另一個(gè)文檔,那么您需要創(chuàng)建兩個(gè)新的PDF文檔并將原文檔的所選頁面插入到新文檔。 以下代碼段演示了上述過程。
//指定文件輸入路徑和輸出目錄
String inputFile= "C:/Users/Administrator/Desktop/test.pdf";
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";
//創(chuàng)建一個(gè)PdfDocument實(shí)例
PdfDocument sourceDoc = new PdfDocument();
//加載PDF原文件
sourceDoc.loadFromFile(inputFile);
//再創(chuàng)建兩個(gè)PdfDocument對象
PdfDocument newDoc_1 = new PdfDocument();
PdfDocument newDoc_2 = new PdfDocument();
//將原文件的第一頁插入到新的PDF文檔
newDoc_1.insertPage(sourceDoc, 0);
//將原文件中剩下的頁面插入第二個(gè)新PDF文檔
newDoc_2.insertPageRange(sourceDoc,1,sourceDoc.getPages().getCount()-1);
//保存新的PDF文檔
newDoc_1.saveToFile(outputDirectory + "output-1.pdf");
newDoc_2.saveToFile(outputDirectory + "output-2.pdf");
合并PDF文檔
Spire.PDF for Java提供了另一種簡單的mergeFiles方法。只需在String數(shù)組中存儲想要合并的文檔路徑,然后將其作為一個(gè)參數(shù)輸入到mergeFiles方法中,最后將返回的對象另存為新的PDF文檔。
//獲取文件路徑
String[] filePaths = new String[]{
"C:/Users/Administrator/Desktop/Source/input-1.pdf",
"C:/Users/Administrator/Desktop/Source/input-2.pdf",
"C:/Users/Administrator/Desktop/Source/input-3.pdf"
};
//指定輸出目錄
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";
//使用mergeFiles方法合并PDF文件
PdfDocumentBase newDoc = PdfDocument.mergeFiles(filePaths);
//保存新的PDF文檔
newDoc.save(outputDirectory + "Merged.pdf");