zoukankan      html  css  js  c++  java
  • JAVA将一个pdf按页码拆分成多个pdf

    引入maven

       <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itextpdf</artifactId>
                <version>5.5.13</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>1.47</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcmail-jdk15on</artifactId>
                <version>1.47</version>
            </dependency>
    public static void main(String[] args) throws Exception {
            // 根据页码拆分pdf,有多少页就拆成多少张pdf
            File file = new File("pdf文件绝对路径");
            PdfReader pdfReader = new PdfReader(new FileInputStream(file));
            int pages = pdfReader.getNumberOfPages();
            // 设置日期格式
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
            for (int i = 1; i <= pages; i++) {
                PdfReader reader = new PdfReader("pdf文件绝对路径");
                Document doc = new Document();
                // 每个pdf命名规则:时间戳(2019109143408)+"-"+顺序编号(i)
                String pdfName =  "D:/test/" + df.format(new Date()) + "-" + i + ".pdf";
                PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(pdfName));
                doc.open();
                PdfContentByte cb = writer.getDirectContent();
                doc.newPage();
                cb.addTemplate(writer.getImportedPage(reader, i), 0, 0);
                doc.close();
                writer.close();
                reader.close();
            }
        }
    -----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------ (蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
  • 相关阅读:
    ReactiveCocoa详解
    你真的了解iOS的深浅拷贝吗?
    Spring Boot中使用Swagger2构建强大的RESTful API文档
    Spring Boot Logback应用日志
    HTTP与私有二进制协议之间的区别
    Linux常见命令
    solr云的简单搭建(了解)
    项目开发与总结
    垂直分库所带来的问题和解决方法
    水平分库分表的关键问题及解决思路
  • 原文地址:https://www.cnblogs.com/pxblog/p/14556393.html
Copyright © 2011-2022 走看看