Java 拆分PDF文档

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/Eiceblue/article/details/84107462

这篇文章主要介绍以下两种拆分方式:

  1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)
  2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)

使用组件:

Spire.PDF for Java

在使用下面的代码前,你需要下载Spire.PDF for Java包并解压缩,然后从lib文件夹下导入Spire.Pdf.jar包到你的Java应用程序中。

原PDF文档如下:

1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)

以下代码将原PDF文档均分为5个PDF文档,每个文档包含1页:

import com.spire.pdf.*;

public class SplitPDF {
    public static void main(String[] args)
    {
        //加载PDF文档
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("sample.pdf");

        //拆分为多个PDF文档
        doc.split("output/splitDocument-{0}.pdf", 0);
        doc.close();
    }
}

拆分后:

2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)​​​​​​​

以下代码将原PDF文档的第1-2页拆分一个PDF文档,第3-5页拆分为另一个PDF文档:

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfMargins;

import java.awt.geom.Point2D;

public class SplitPDF {

    public static void main(String[] args)
    {

        //加载PDF文档
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("sample.pdf");

        //新建一个PDF文档
        PdfDocument newDoc1 = new PdfDocument();

        PdfPageBase page;

        //将原PDF文档的第1、2页添加至新建的PDF
        for(int i = 0;i<2;i++)
        {
            page = newDoc1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));
            doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));
        }

        //保存文档
        newDoc1.saveToFile("split/Doc1.pdf");

        //新建另一个PDF文档
        PdfDocument newDoc2 = new PdfDocument();

        //将原PDF文档的第3至5页添加至新建的PDF
        for(int i = 2;i<5;i++)
        {
            page = newDoc2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));
            doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));
        }

        //保存文档
        newDoc2.saveToFile("split/Doc2.pdf");
    }
}

拆分后:

猜你喜欢

转载自blog.csdn.net/Eiceblue/article/details/84107462