如今在工作中PDF文檔越來越受歡迎,辦公人員經(jīng)常會接觸和處理PDF文檔惯退。例如赌髓,將包含多個發(fā)票的PDF文檔拆分為多個獨立的文檔,或?qū)⒍鄠€報表合并為一個PDF文檔催跪。
本文將介紹如何使用Spire.PDF for Java拆分PDF文檔以及合并多個PDF文檔锁蠕。下面的三段代碼將從以下三個方面解釋如何拆分和合并PDF文檔。
- 將一個PDF文檔拆分為多個單頁PDF
- 按頁面范圍將一個PDF文檔拆分為多個文檔
- 將多個PDF文檔合并為一個文檔
在編譯下面的代碼之前懊蒸,請先下載Spire.PDF for Java,再將Spire.Pdf.jar導(dǎo)入到您的項目中荣倾。
將PDF拆分為多個單頁PDF文檔
Spire.PDF for Java提供了一個非常簡單的方法 -split,將多頁PDF文檔分成多個單頁的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)建一個PdfDocument實例
PdfDocument doc = new PdfDocument();
//加載一個PDF文檔
doc.loadFromFile(inputFile);
//將PDF拆分為單頁PDF
doc.split(outputDirectory + "output-{0}.pdf",1);
按頁面范圍拆分PDF
如果您想要按所選頁碼拆分PDF通危,例如铸豁,將第一頁拆分成一個文檔,其余頁拆分為另一個文檔菊碟,那么您需要創(chuàng)建兩個新的PDF文檔并將原文檔的所選頁面插入到新文檔节芥。 以下代碼段演示了上述過程。
//指定文件輸入路徑和輸出目錄
String inputFile= "C:/Users/Administrator/Desktop/test.pdf";
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";
//創(chuàng)建一個PdfDocument實例
PdfDocument sourceDoc = new PdfDocument();
//加載PDF原文件
sourceDoc.loadFromFile(inputFile);
//再創(chuàng)建兩個PdfDocument對象
PdfDocument newDoc_1 = new PdfDocument();
PdfDocument newDoc_2 = new PdfDocument();
//將原文件的第一頁插入到新的PDF文檔
newDoc_1.insertPage(sourceDoc, 0);
//將原文件中剩下的頁面插入第二個新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ù)組中存儲想要合并的文檔路徑头镊,然后將其作為一個參數(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");