`
unbounder
  • 浏览: 171851 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java对pdf一些基本处理

    博客分类:
  • java
阅读更多
apahce 孵化器中有一个项目是pdfbox,这是一个操作处理pdf的jar包

可以实现的方法有
pdf信息提取:
    public void getContent(String file) throws Exception {
        PDDocument pdf = PDDocument.load(file);
        PDFTextStripper s = new PDFTextStripper();
        s.setStartPage(1);
        s.setEndPage(10);
        String outfile = "1.txt";
        Writer out = new OutputStreamWriter(new FileOutputStream(outfile), "utf8");
        s.writeText(pdf, out);
    }

将pdf内容提取到txt文档中,不过图表、格式都有遗失

pdf截取
    @SuppressWarnings("unchecked")
    public void getPdf(String file, int[] pages) throws Exception {
        Splitter splitter = new Splitter();
        PDDocument document = null;
        List<PDDocument> documents = null;
        document = PDDocument.load(file);
        splitter.setSplitAtPage(1);// 将pdf分成单页
        documents = splitter.split(document);
        for (int i = 0; i < pages.length && pages[i] < documents.size(); i++) {
            PDDocument doc = (PDDocument) documents.get(pages[i]);
            FileOutputStream output = null;
            COSWriter writer = null;
            output = new FileOutputStream(pages[i] + ".pdf");// 输出文件
            writer = new COSWriter(output);
            writer.write(doc);
            doc.close();
        }
    }

提取特定页码的pdf,例如pages=[1,2,3,4,5],将输出五个pdf文件,分别为原pdf的前五页。

pdf粘合
    public void buildPdf(String[] files) throws Exception {
        PDFMergerUtility u = new PDFMergerUtility();
        PDDocument out = new PDDocument();
        for (int i = 0; i < files.length; i++) {
            PDDocument doc = PDDocument.load(files[i]);
            u.appendDocument(out, doc);
            doc.close();
        }
        FileOutputStream output = null;
        COSWriter writer = null;
        output = new FileOutputStream("out.pdf");// 输出文件
        writer = new COSWriter(output);
        writer.write(out);
        out.close();
    }

将几个pdf拼成一个新的pdf

pdf截取和pdf粘合都不会丢失图表、格式等信息

附上所需jar包
1
0
分享到:
评论
1 楼 Sun_Oak 2014-11-26  
多谢楼主的分享,感谢。

相关推荐

    java PDF文件处理库 aspose-pdf-17.8.jar ,好用

    aspose-pdf-17.8.jar 其他下载都要几十个积分,咱来发个免费的,版本虽然没那么新,但基本功能都有

    java根据动态模板生成pdf(包含柱状图)所需jar包

    java根据动态模板生成pdf(包含柱状图)所需jar包 iText+FreeMarker+JFreeChart生成可动态配置的PDF文档。 iText有很强大的PDF处理能力,但是样式和排版不好控制,直接写PDF文档,数据的动态渲染很麻烦。 FreeMarker...

    疯狂Java讲义 第3版 PDF电子书下载 带书签目录 完整版.rar

    本书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、JavaGUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、...

    Java2游戏编程.pdf

    附录B 一些常用的Java“要”与“不要”原则 附录C 使用JNI创建一个gamepad阅读器 附录D 使用.JAR文件来部署Java applet 附录E 正确运行Java 2 applet 附录F Magic游戏引擎源码清单 附录G 更多的资源 附录H 配书光盘...

    Java编程艺术 PDF

    5.5 对基本E-mail客户端的扩展 157 第6章 使用Java搜索Internet 158 6.1 Web搜索程序基础 159 6.2 遵守Robot协议 160 6.3 Search Crawler概述 161 6.4 SearchCrawler类 162 6.4.1 SearchCrawler类的变量 179 6.4.2 ...

    java面试题库2021.pdf

    ①Java 基础部分(基本语法, Java 特性等) ②关键字 ③面向对象 ④集合部分 2、 Java 高级知识 ①线程 ②锁 ③JDK ④反射 ⑤JVM ⑥GC ⑦ IO 和 NIO, AIO 二、 JavaEE 部分 1、 Spring ①IoC 与 Bean 配置、 管理 ...

    Java开发详解.zip

    031708_【第17章:Java数据库编程】_处理大数据对象(1)—处理CLOB数据笔记.pdf 031709_【第17章:Java数据库编程】_处理大数据对象(2)—处理BLOB数据笔记.pdf 031710_【第17章:Java数据库编程】_...

    JAVA SE应用详解.pdf

    、基本语法规则、面向对象核心技术、数组和集合、异常处理、文件和数据流、图形用户界面、线程、网络编程和数据库程序设计。_x000D_本书以初学者为 起点,每个章节循序渐进地向读者介绍了Java相关核心知识,并设计...

    Java大学教程(Java How to Program)(第四版)中文版 pdf

    书中还讨论了很多有关Java的高级课题,包括图形、图形用户界面组件、异常处理、多线程、多媒体、文件和流、网络、数据结构以及Java工具包和位处理。全书内容丰富、构思严谨、条理清晰,写作方法别具一格,并且提供了...

    JAVA语言程序设计【高清版】.pdf

    18 第3章 标识符和基本数据类型 19 3.1 Java的基本语法单位 19 3.1.1 空白、注释及语句 19 3.1.2 关键字 21 3.1.3 标识符 21 3.2 Java编码体例 22 3.3 Java的基本数据类型 23 3.3.1 变量和常量 23 ...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    Java SE实践教程 pdf格式电子书 下载(一) 更新 http://download.csdn.net/source/2824033 Java SE实践教程 pdf格式电子书 下载(二) 更新 http://download.csdn.net/source/2824040 Java SE实践教程 pdf格式...

    Java入门1·2·3——一个老鸟的Java学习心得 高清pdf

    第1篇为Java语言基本语法,包括Java语言概述、配置开发环境、Java中的基本数据类型、Java运算符、Java流程控制语句和数组。第2篇为Java语言高级语法,包括类、对象、方法、继承、多态、修饰符、接口、抽象类、内部类...

    全国计算机等级考试二级教程--Java语言程序设计必杀秘诀.pdf

    4、掌握 Java语言编程的基本技术。 5、会编写 Java用户界面程序。 6、会编写 Java简单应用程序。 7、会编写 Java小应用程序( Applet)。 8、了解 Java的应用。 主要内容 第 1 章 Java语言概述 第 2 章 简单数据类型...

    Java基础核心总结.PDF

    1.java概述 2.java开发环境配置 3.java基本语法 4.java执行控制流程 5.面向对象 6.访问控制权限 7.接口和抽象类 8.异常 9.内部类 10.集合 11.泛形 12.反射 13.枚举 14.I/O 15.注解 16.Null值处理 17.思维导图

    Java.In.A.Nutshell 7th Covers Java11.pdf

    第二部分是对核心概念和API的引用,它解释了如何在Java环境中执行真正的编程工作。 快速掌握语言详细信息,包括Java 9-11更改 使用基本的Java语法学习面向对象的编程 探索泛型,枚举,注释和lambda表达式 了解面向...

    Java核心技术 第12版 开发基础+高级特性 英文原版

    着力让读者在充分理解Java语言和Java类库的基础上,灵活应用Java提供的高级特性,具体包括面向对象程序设计、反射与代理、接口与内部类、异常处理、泛型程序设计、集合框架、事件监听器模型、图形用户界面设计和并发...

    基于Java与Python的面向对象编程的基本特征研究.pdf

    基于Java与Python的面向对象编程的基本特征研究.pdf

    java2核心技术第I卷.基础知识(中文PDF完整版)

    本版也不例外,它反映了Java SE 6的新特性,全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    Java Web编程宝典-十年典藏版.pdf 是PDF电子书,不是源码。共分2个包。 《Java Web编程宝典(十年典藏版)》是一本集技能、范例、项目和应用为一体的学习手册,书中介绍了应用Java Web进行程序开发的各种技术、技巧。...

Global site tag (gtag.js) - Google Analytics