本文将介绍通过使用spire.pdf for java来复制pdf文档的方法,包括:
- 1. 跨文档复制,即从文档1复制到文档2
- 在同一文档中复制,即从页面a复制到页面b
跨文档复制
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();
}
}
跨文档复制效果:
在同一个文档内复制
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);
}
}
复制效果: