Java 复制PDF文档的2种方法

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Java 复制PDF文档的2种方法,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

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

 

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

Jar文件获取及导入方法:

方法1可通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到Java程序。参考如下导入效果:(这里程序将jar文件分别导入了两个module)

Java 复制PDF文档的2种方法

方法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();
    }
}

跨文档复制效果:

Java 复制PDF文档的2种方法

 

【示例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);
    }
}

复制效果:

Java 复制PDF文档的2种方法

 

 

(本文完)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/209409.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!