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包
分享到:
相关推荐
在Java编程环境中,读取PDF文件是一项常见的任务,特别是在开发桌面应用或需要处理PDF文档内容时。本篇文章将深入探讨如何使用Java来读取PDF文件,并将其内容展示在一个由JFrame和JPanel构建的GUI窗口中。 首先,...
Java作为一种强大的编程语言,提供了多种库和方法来处理PDF文件,包括创建和解析PDF。本篇将详细介绍如何在Java环境下创建PDF文件以及将PDF解析为TXT文本。 首先,我们来看如何使用Java创建PDF文件。通常,我们可以...
总之,删除PDF空白页是Java开发者在处理PDF文档时可能遇到的问题,通过iTextPDF和PDFBox这两个强大的库,我们可以高效地完成这一任务。无论是利用页面内容的可视化检测还是字形分析,都能帮助我们实现目标。在实践中...
虽然这个服务在处理某些特殊元素如水印和印章时可能有局限性,但对常规PDF内容的转换效果良好,并已在实际项目中得到验证。对于需要处理PDF转换需求的IT专业人员,理解和掌握这种技术是十分必要的。
Java PDF文件处理是一个重要的领域,尤其在开发企业级应用时,常常需要对PDF文档进行创建、编辑、转换或渲染等操作。Aspose.PDF是一款强大的Java库,它为开发者提供了全面的API,使得处理PDF文档变得简单高效。在这...
这份"Java(PDF版)"教程可能是为初学者设计的,旨在帮助他们理解Java的基础知识,构建编程思维,并掌握编写Java程序的基本技能。由于它被标记为“适合初学者适用”且“比较基础”,我们可以期待这个PDF文件包含以下...
在Java开发中,处理PDF文档是一项常见的任务,特别是在需要搜索、提取或替换PDF中的特定信息时。本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来...
在Java开发中,生成PDF并为其添加电子签章是一项常见的任务,这主要涉及到PDF文档处理和数字签名技术。本文将详细介绍如何使用Java实现这一功能,包括三种可行的技术,并结合提供的"signPDF"压缩包文件,解析其可能...
在Java编程环境中,生成PDF(Portable Document Format)文档是一项常见的任务,这主要涉及到处理文档的结构、样式和内容。在给定的“java生成pdf”的示例中,我们可以看到使用了iText库来实现这一功能。iText是一个...
本篇文章将探讨如何使用Java来实现这一功能,主要涉及的工具有iText库,这是一个强大的PDF处理库。 首先,我们需要理解iText库。iText是Java平台上用于创建和修改PDF文档的开源库。它提供了丰富的API,可以方便地...
在Java世界里,一个常用的库是iText,它是一个功能强大的开源库,专门用于处理PDF文档。描述中提到的"jar包都已经封装好了",意味着已经包含了iText库或者类似库的依赖。你需要将这些jar包添加到你的项目类路径中,...
在Java中解析PDF文件是一项常见的任务,特别是在处理用户提交的文档、数据分析或自动化报告等场景下。本篇文章将深入探讨如何使用Java来解析PDF文件,并提供一个实际的示例。 Java解析PDF主要依赖于第三方库,如...
iText是一个流行的Java库,它提供了丰富的API来创建、修改和处理PDF文档。使用iText,你可以创建从简单的文本文件到复杂的布局,包括表格、图像和自定义字体。以下是一个基本的iText示例,展示如何生成一个包含简单...
不过,由于PDF格式的复杂性,深入使用时可能会遇到一些挑战,如处理PDF的兼容性和渲染问题。这时,开发者可能需要参考OpenPDF的官方文档,或者社区提供的示例代码和解决方案。 在实际项目中,你可以结合Apache POI...
Java作为一种强大的编程语言,提供了多种库来处理PDF文档,其中一个关键任务是读取PDF中的数据。本篇文章将详细介绍如何使用Java进行PDF数据的读取,并围绕`PdfReader`这个概念展开。 首先,`PdfReader`通常指的是...
在项目中,你可以选择一个适合的PDF库,结合Java GUI框架(如Swing或JavaFX),构建一个用户友好的界面,提供翻页、缩放等基本操作。同时,注意性能优化和安全性的考量,以提供流畅且安全的PDF预览体验。
此外,IText还提供了对PDF安全性和数字签名的支持,以及表格、列表和超链接的处理。 为了更好地理解和应用这些示例,开发者应该熟悉Java Servlet API,理解HTTP请求和响应的工作原理,同时还需要掌握基本的PDF概念...
在实际应用中,你可能需要对这个基本的转换过程进行优化,例如添加错误处理、文本格式化或者处理多语言PDF。另外,如果你的应用需要处理大量PDF文件,考虑使用多线程或者异步处理来提高效率。 总的来说,Java通过...
在企业级应用开发中,经常需要处理各种文档操作,其中包括PDF文件的打印。Java作为一种广泛应用的企业级开发语言,提供了多种方式来实现这一功能。本文将详细介绍如何利用Java进行PDF文件的打印,包括单个文件打印...
在Java中实现PDF签章的基本步骤包括: 1. 导入必要的库:如iText库或PDFBox库。 2. 加载PDF文件:使用库提供的API打开并加载PDF文件。 3. 准备签名:创建一个签名容器,定义签章的位置、大小和外观。 4. 获取证书:...