本文將介紹通過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);
}
}
複製效果:
(本文完)