`
unbounder
  • 浏览: 174704 次
  • 性别: 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文件

    在Java编程环境中,读取PDF文件是一项常见的任务,特别是在开发桌面应用或需要处理PDF文档内容时。本篇文章将深入探讨如何使用Java来读取PDF文件,并将其内容展示在一个由JFrame和JPanel构建的GUI窗口中。 首先,...

    java创建和解析PDF

    Java作为一种强大的编程语言,提供了多种库和方法来处理PDF文件,包括创建和解析PDF。本篇将详细介绍如何在Java环境下创建PDF文件以及将PDF解析为TXT文本。 首先,我们来看如何使用Java创建PDF文件。通常,我们可以...

    JAVA删除PDF空白页

    总之,删除PDF空白页是Java开发者在处理PDF文档时可能遇到的问题,通过iTextPDF和PDFBox这两个强大的库,我们可以高效地完成这一任务。无论是利用页面内容的可视化检测还是字形分析,都能帮助我们实现目标。在实践中...

    JAVA实现PDF转HTML

    虽然这个服务在处理某些特殊元素如水印和印章时可能有局限性,但对常规PDF内容的转换效果良好,并已在实际项目中得到验证。对于需要处理PDF转换需求的IT专业人员,理解和掌握这种技术是十分必要的。

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

    Java PDF文件处理是一个重要的领域,尤其在开发企业级应用时,常常需要对PDF文档进行创建、编辑、转换或渲染等操作。Aspose.PDF是一款强大的Java库,它为开发者提供了全面的API,使得处理PDF文档变得简单高效。在这...

    Java(PDF版)

    这份"Java(PDF版)"教程可能是为初学者设计的,旨在帮助他们理解Java的基础知识,构建编程思维,并掌握编写Java程序的基本技能。由于它被标记为“适合初学者适用”且“比较基础”,我们可以期待这个PDF文件包含以下...

    java PDF关键字定位

    在Java开发中,处理PDF文档是一项常见的任务,特别是在需要搜索、提取或替换PDF中的特定信息时。本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来...

    java 生成pdf 签章

    在Java开发中,生成PDF并为其添加电子签章是一项常见的任务,这主要涉及到PDF文档处理和数字签名技术。本文将详细介绍如何使用Java实现这一功能,包括三种可行的技术,并结合提供的"signPDF"压缩包文件,解析其可能...

    java生成pdf

    在Java编程环境中,生成PDF(Portable Document Format)文档是一项常见的任务,这主要涉及到处理文档的结构、样式和内容。在给定的“java生成pdf”的示例中,我们可以看到使用了iText库来实现这一功能。iText是一个...

    使用java实现对PDF增加文字水印功能

    本篇文章将探讨如何使用Java来实现这一功能,主要涉及的工具有iText库,这是一个强大的PDF处理库。 首先,我们需要理解iText库。iText是Java平台上用于创建和修改PDF文档的开源库。它提供了丰富的API,可以方便地...

    java生成pdf文件包含表格

    在Java世界里,一个常用的库是iText,它是一个功能强大的开源库,专门用于处理PDF文档。描述中提到的"jar包都已经封装好了",意味着已经包含了iText库或者类似库的依赖。你需要将这些jar包添加到你的项目类路径中,...

    java解析pdf

    在Java中解析PDF文件是一项常见的任务,特别是在处理用户提交的文档、数据分析或自动化报告等场景下。本篇文章将深入探讨如何使用Java来解析PDF文件,并提供一个实际的示例。 Java解析PDF主要依赖于第三方库,如...

    java+pdf生成.zip

    iText是一个流行的Java库,它提供了丰富的API来创建、修改和处理PDF文档。使用iText,你可以创建从简单的文本文件到复杂的布局,包括表格、图像和自定义字体。以下是一个基本的iText示例,展示如何生成一个包含简单...

    OpenPDF是用于创建和编辑PDF文件的开源Java库

    不过,由于PDF格式的复杂性,深入使用时可能会遇到一些挑战,如处理PDF的兼容性和渲染问题。这时,开发者可能需要参考OpenPDF的官方文档,或者社区提供的示例代码和解决方案。 在实际项目中,你可以结合Apache POI...

    用Java读取pdf中的数据

    Java作为一种强大的编程语言,提供了多种库来处理PDF文档,其中一个关键任务是读取PDF中的数据。本篇文章将详细介绍如何使用Java进行PDF数据的读取,并围绕`PdfReader`这个概念展开。 首先,`PdfReader`通常指的是...

    java实现pdf预览

    在项目中,你可以选择一个适合的PDF库,结合Java GUI框架(如Swing或JavaFX),构建一个用户友好的界面,提供翻页、缩放等基本操作。同时,注意性能优化和安全性的考量,以提供流畅且安全的PDF预览体验。

    java 操作PDF实例

    此外,IText还提供了对PDF安全性和数字签名的支持,以及表格、列表和超链接的处理。 为了更好地理解和应用这些示例,开发者应该熟悉Java Servlet API,理解HTTP请求和响应的工作原理,同时还需要掌握基本的PDF概念...

    Java将pdf文件转换成String

    在实际应用中,你可能需要对这个基本的转换过程进行优化,例如添加错误处理、文本格式化或者处理多语言PDF。另外,如果你的应用需要处理大量PDF文件,考虑使用多线程或者异步处理来提高效率。 总的来说,Java通过...

    java 打印pdf文件 也可批量打印

    在企业级应用开发中,经常需要处理各种文档操作,其中包括PDF文件的打印。Java作为一种广泛应用的企业级开发语言,提供了多种方式来实现这一功能。本文将详细介绍如何利用Java进行PDF文件的打印,包括单个文件打印...

    java实现PDF签章功能

    在Java中实现PDF签章的基本步骤包括: 1. 导入必要的库:如iText库或PDFBox库。 2. 加载PDF文件:使用库提供的API打开并加载PDF文件。 3. 准备签名:创建一个签名容器,定义签章的位置、大小和外观。 4. 获取证书:...

Global site tag (gtag.js) - Google Analytics