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

復制效果:

 

 

(本文完)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM