本文將介紹通過Java程序來復制PDF頁面,包括:
- 跨文檔復制,即從文檔1復制到文檔2
- 在同一文檔內復制,即從頁面A復制到頁面B
使用工具:Free Spire.PDF for Java (免費版)
Jar文件獲取及導入方法:
方法1:可通過官網下載jar文件包。下載后,解壓文件,並將lib文件夾下的Spire.Pdf.jar文件導入到Java程序。參考如下導入效果:(這里程序將jar文件分別導入了兩個module)
方法2:可通過maven倉庫安裝導入。
Java代碼示例
【示例1】跨文檔復制
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfMargins; import com.spire.pdf.graphics.PdfTemplate; import java.awt.*; import java.awt.geom.Dimension2D; public class Copy1 { public static void main(String[]args){ //加載兩個PDF文檔 PdfDocument pdf1 = new PdfDocument("test1.pdf"); PdfDocument pdf2 = new PdfDocument("test2.pdf"); //獲取pdf1的第一頁,並根據頁面創建模板 PdfPageBase page = pdf1.getPages().get(0); Dimension2D size = page.getSize(); PdfTemplate template = page.createTemplate(); //在pdf2中第一頁插入從復制的pdf1中繪制的模板 pdf2.getPages().insert(0,size,new PdfMargins(0,0)); pdf2.getPages().get(0).getCanvas().drawTemplate(template,new Point(0,0)); //保存pdf2 pdf2.saveToFile("result.pdf",FileFormat.PDF); pdf2.dispose(); } }
跨文檔復制效果:
【示例2】在同一個文檔內復制
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfMargins; import com.spire.pdf.graphics.PdfTemplate; import java.awt.*; import java.awt.geom.Dimension2D; public class Copy2 { public static void main(String[]args){ //加載測試文檔 PdfDocument pdf = new PdfDocument("test1.pdf"); //獲取第一頁,並將於頁面創建模板 PdfPageBase page = pdf.getPages().get(0); Dimension2D size = page.getSize(); PdfTemplate template = page.createTemplate(); //在文檔末循環添加兩張繪制好的頁面模板 for(int i=0; i<2; i++){ page = pdf.getPages().add(size, new PdfMargins(0)); page.getCanvas().drawTemplate(template, new Point(0, 0)); } //在第一頁插入一張繪制好的頁面模板 pdf.getPages().insert(0,size,new PdfMargins(0,0)); pdf.getPages().get(0).getCanvas().drawTemplate(template,new Point(0,0)); //保存文檔 pdf.saveToFile("result1.pdf",FileFormat.PDF); } }
復制效果:
(本文完)