zoukankan      html  css  js  c++  java
  • Java 复制PDF文档的2种方法

    本文将介绍通过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);
        }
    }

    复制效果:

    (本文完)

  • 相关阅读:
    Vue中this.$router.push(参数) 实现页面跳转
    vue elementui .eldialog 限制高度
    D Staircase Sequences 题解(思维)
    E Magical Ornament 题解(图论+状压dp)
    软件开发工具之五:“VisualStudio.NET部署应用程序”
    软件开发工具之二 :Power Designer
    软件开发工具之八 :Visio
    软件开发工具之九 :CVS
    软件开发工具之三:NUnit
    软件开发流程实例之一 :项目概述
  • 原文地址:https://www.cnblogs.com/Yesi/p/11344848.html
Copyright © 2011-2022 走看看