Java 复制PDF文档

本文将介绍通过Java程序来复制PDF页面,包括:

  • 跨文档复制,即从文档1复制到文档2

  • 在同一文档内复制,即从页面A复制到页面B

使用工具:Free Spire.PDF for Java (免费版)

Jar文件获取及导入方法:

方法1:可通过官网 下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到Java程序。可参考如下导入效果:


方法2:可通过 m aven仓库安装导入。

 

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);
     }
 }

复制效果:



(本文完)


请使用浏览器的分享功能分享到微信等