zoukankan      html  css  js  c++  java
  • Java 拆分 PDF 文档

    在办公过程中,我们有时会遇到需要将一个比较大的PDF文档拆分成多个文档的情况, 今天这篇文章就将介绍两种使用Free Spire.PDF for Java来拆分PDF文档的方法。

    方法一:将一个PDF文档均分为多个PDF(每个PDF包含1页)

    方法二: 将一个PDF文档拆分为2个或多个PDF(每个PDF可包含不同的页数)

     

    Jar包导入

    方法一:下载Free Spire.PDF for Java包并解压缩,然后将lib文件夹下的Spire.Pdf.jar包作为依赖项导入到Java应用程序中

    方法二:直接通过Maven仓库安装JAR包,配置pom.xml文件的代码如下:

    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.pdf.free</artifactId>
            <version>2.6.3</version>
        </dependency>
    </dependencies>

    原PDF文档如下(包含5页):

    【示例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文档的第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");
        }
    }

    拆分后:

  • 相关阅读:
    详解快速排序算法
    json和字符串、数组
    晚上回去搞这个
    json2使用方法
    mysql格式化时间函数:FROM_UNIXTIME
    java链接sqlite
    第七章 闭包
    产品家:你的闷骚,我的产品!
    关于json的格式
    JQuery选择器$()的工作原理浅析
  • 原文地址:https://www.cnblogs.com/jazz-z/p/13560445.html
Copyright © 2011-2022 走看看