首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用PDFBox 2.0.2从PDF中提取文本缺少类PDFTextStripper()

PDFBox是一个开源的Java库,用于处理PDF文件。它提供了丰富的功能,包括从PDF中提取文本、创建新的PDF文件、修改现有的PDF文件等。

在使用PDFBox 2.0.2从PDF中提取文本时,确实缺少了类PDFTextStripper()。这是因为在PDFBox 2.0.2版本中,PDFTextStripper类已经被重命名为PDFTextStripperByArea。因此,我们需要使用PDFTextStripperByArea类来提取文本。

PDFTextStripperByArea类是PDFBox中用于从PDF中提取文本的主要类之一。它允许您指定一个矩形区域,只提取该区域内的文本。这对于需要提取特定区域的文本非常有用,例如表格数据或特定页面的内容。

以下是使用PDFBox 2.0.2中的PDFTextStripperByArea类从PDF中提取文本的示例代码:

代码语言:java
复制
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripperByArea;
import org.apache.pdfbox.text.TextPosition;

import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.List;

public class PDFTextExtractor {
    public static void main(String[] args) {
        try {
            PDDocument document = PDDocument.load(new File("path/to/your/pdf/file.pdf"));

            PDFTextStripperByArea textStripper = new PDFTextStripperByArea();
            textStripper.setSortByPosition(true);

            Rectangle rect = new Rectangle(10, 10, 200, 100); // 设置提取文本的矩形区域
            textStripper.addRegion("region", rect);

            List allPages = document.getDocumentCatalog().getAllPages();
            for (int i = 0; i < allPages.size(); i++) {
                textStripper.extractRegions((org.apache.pdfbox.pdmodel.PDPage) allPages.get(i));
                System.out.println("Page " + (i + 1) + ":");
                System.out.println(textStripper.getTextForRegion("region"));
            }

            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述示例代码中,我们首先加载PDF文档,然后创建一个PDFTextStripperByArea对象。我们通过调用setSortByPosition(true)方法来按位置排序提取的文本。

接下来,我们创建一个矩形区域,通过addRegion("region", rect)方法将其添加到PDFTextStripperByArea对象中。您可以根据需要调整矩形区域的位置和大小。

然后,我们遍历PDF的所有页面,并使用extractRegions()方法提取指定区域的文本。最后,我们通过调用getTextForRegion("region")方法获取提取的文本,并打印到控制台上。

请注意,以上示例代码仅提供了从PDF中提取文本的基本示例。您可以根据自己的需求进行进一步的定制和扩展。

推荐的腾讯云相关产品:腾讯云对象存储(COS)

腾讯云对象存储(COS)是一种高可用、高可靠、安全、低成本的云存储服务。它提供了简单易用的API接口,可以方便地将文件存储到云端,并通过访问链接进行访问和下载。您可以将提取的文本保存到腾讯云对象存储中,以便后续使用和管理。

注意:以上答案仅供参考,具体的技术选择和产品推荐应根据实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

五分钟实现pdf分页

PDFBoxPDFBox 是 Java 实现的 PDF 文档协作库,提供 PDF 文档的创建、处理以及文档内容提取功能,也包含了一些命令行实用工具。...PDFBox提供的主要功能有: PDF 提取文本 合并 PDF 文档 PDF 文档加密与解密 与 Lucene 搜索引擎的集成 填充 PDF/XFDF 表单数据 文本文件创建 PDF 文档 PDF...这里使用的是itextpdf,代码如下: /** * 导出pdf文档的部分页到新的pdf文件 * @param filePath 文件路径 * @param newFile 写入目标文件路径...3); 执行后在目录下可以看到结果文件: 读取pdf文件内容 使用pdfbox的pdfparser,代码如下: /** * 读取pdf文档指定页数的文本内容 * @param fileName...文本剥离器 PDFTextStripper stripper = new PDFTextStripper(); stripper.setSortByPosition(false)

1.8K20

PDF转Word完全指南:3大方法满足各种场景!

PDF是出版和图形领域的软件厂商Adobe制定的电子文档格式标准。PDF转Word就是把PDF文档的文字,图片,表格,注释等等文档元素相对应的转换成Word文档相对应的文档元素。...所谓PDF转Word就是指PDF格式文档中提取文字、图形和及其它内容并放入Word或者其他格式文档(也可以是其他文件格式,如Excel/PPT/HTML/IMAGE等),无需重新排版,支持图文混合排版...3.复杂表格和混合编排的PDF看完了纯文本和表格,我们来看下更复杂点的例子具体转换效果对比可以查看上一篇文章适用人群和场景:在线PDF转换Word需要在线使用,一般是对数据安全没有非常强的诉求,同时非高频的...目前PDF的处理库较多,我们选择几个有代表的来说下。开源pdfbox JavaPDFBox是一个BSD许可下的源码开放项目,为开发人员读取和创建PDF文档而准备的纯Java库。...地址在 https://pdfbox.apache.org/ 社区比较活跃,更新速度较快代码示例import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.text.PDFTextStripper

4.3K40

PDF文档的自动化测试

PDFBox是Apache下的一个开源项目,我们可以通过 PDFBox读取、创建PDF文档,加密/解密PDF文档,PDF和XFDF格式中导入或导出表单数据 等,实现代码如下: private static...,PDFBox提取出来的仅是文字流,而不是带有格式、顺序、标题的文档,经过PDFBox输出的字符串,我们仍需要全篇进行解析,处理并提取其中的关键字与填充信息,这样做很费劲而且不优雅。...场景二:此场景的整体思路就是拿到此基线下的各合同PDF,然后拿新生成的合同进行比对,比对内容包括格式、文案、图片、签章坐标系等。如果复用上面的思路,那么实现原理是提取合同的所有元素进行比较。...这里存在的一个问题是一整个流程下来可能存在十数个合同,我们需要针对每个合同进行一一解析;另外此方法也无法针对位置一的校验点进行检查。...java -jar ImageTester.jar -k $APPLITOOLS_API_KEY -f /pdf_directory/ 那么问题来了,如何把此步骤加到整个自动化的流程呢?

1.8K20

在 Linux 上使用 gImageReader 图像和 PDF提取文本

本上,OCR(光学字符识别)引擎可以让你图片或文件(PDF扫描文本。默认情况下,它可以检测几种语言,还支持通过 Unicode 字符扫描。...因此,gImageReader 就来解决这点,它可以让任何用户使用它从图像和文件中提取文本。 让我重点介绍一些有关它的内容,同时说下我在测试期间的使用经验。...直接通过应用扫描图像 能够一次性处理多个图像或文件 手动或自动识别区域定义 识别纯文本或 hOCR 文档 编辑器显示识别的文本 可对对提取文本进行拼写检查 hOCR 文件转换/导出为 PDF 文件...gImageReader 使用经验 当你需要从图像中提取文本时,gImageReader 是一个相当有用的工具。当你尝试 PDF 文件中提取文本时,它的效果非常好。...对于智能手机拍摄的图片中提取,检测很接近,但有点不准确。也许当你进行扫描时,文件识别字符可能会更好。 所以,你需要亲自尝试一下,看看它是否对你而言工作良好。

2.9K30

Java 解析pdf文档内容实战案例

3.咱么既然要解析PDF文档内容,肯定是想把它解析成格式化数据(JSON)格式的,对吧,这样才能方便我们对数据的一个使用。 二、直接上代码 具体基本每一行,我都有详细的注释说明。...-- pdfbox end --> 注:我这里还有对PDF文档的其他一些解析,包括html字符串生成PDF文档的实际应用需求,所以我这儿引入的包比较多一点儿,你可以根据自己需求,按需引入依赖包。 ...; import org.apache.pdfbox.text.PDFTextStripper; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray...", "E:\\www\\temp\\cxkxj_xzls.txt"); } /** * 测试解析pdf的文档内容,并将解析内容输出到Txt文档 * 正式使用时,无需将解析后的内容写入文件...,测试时,写入文件是为了方便查看解析后的原始内容 * @param sourcePdfPath 要解析的pdf源文件 * @param outFilePath 解析后的文本内容输出路径 */

1.8K30

Word自动化(C# + Python)(持续更新...)

总之, 这里通过使用一些库, Python的python-docx, C#的pdfbox和npoi, 来让对Word和PDF的处理变得更加自动化一些。...最后, 如果你想设计一些定制化的功能, 还是希望可以官方文档进行学习。 读取Word内容 好了, 不多说废话了. 直接看Word获取内容....虽然之前写Unity游戏的时候用过一些C#, 但是这次是我第一次软件开发的角度使用C#, 不得不说, NuGet令我印象深刻, 很好用。...NPOI提取Word内容 其实NPOI非常强大, 足以用来做和Word有关的一切了, 但是, 这里只演示一下提取Word的内容, 因为后面有python-docx这样更加轻巧的库, 不需要vs不需要...读取PDF内容 同样, 这次用的是C#的库, 名为Pdfbox. 其实呢, 这个Pdfbox是个Java库. 是由Apache PDFBox团队为.NET生成的。 ?

2.4K30

java 利用 pdfbox 实现PDF转为图片

* 分享遇到的坑: * 1.如何解决 Linux 环境下乱码的问题:重写 UnixFontDirFinder ,修改 Linux 环境下获取字体文件的路径,改为取项目里的字体文件(使用 pdfbox...转图片时的方法,使用 icepdf 请自行研究) * 2.如果后续遇到乱码的问题,查看日志看看缺少什么字体,然后将字体文件上传到项目的 src/main/resources/fonts 目录下即可...转图片,demo * (使用 pdfbox) * @param pdfPath PDF路径 * @imgPath img路径 * @page_end 要转换的页码...转化为图片 * (使用 pdfbox) * @param pdDocument PDF对象 * @param page_end 要转换的页码,发票一般是一页,取第一页...想想还是研究研究 pdfbox 的源码吧,分析后发现它是根据不同系统来读取字体的文件夹的,然后一个同事建议我重写读写 Linux 系统文件的,指向我们项目的文件夹,然后在项目新建一个文件夹来存放需要的字体

3.5K10

LIMS系统仪器数据采集-使用xpdf解析pdf内容

/mahongbiao/p/3760867.html 这些库解析PDF文本有一个弊端,就是可配置性不强,它们多数是用于PDF文件生成的,对于PDF文本内容的提取仅提供一两个函数供调用。...解析PDF文本,可使用xpdf,该工具为一命令行工具,因此可通过java或.net调用命令行执行。...itextsharp或者pdfbox解析某PDF文件时,文本内容以竖排的形式输出,不易解析信息。...而使用xpdf,则可以指定-layout参数,将其按照页面显示的布局方式输出。 下图为PDF样式: ? 下图为pdfBox、itextsharp解析出的内容样式: ?...例子的中文没有解析出来,可通过配置PDF中文字体解决,xpdf的另一个强项功能,就是它支持配置pdf字体,有些PDF内容通过itextsharp解析不出来的情况下,使用xpdf在配置了正确字体后可以解析出内容

1.7K40

java PDF开源库选择与iText发展历史

iText的java对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。...PDF Box 1958 PDFBox是一个Apache开源的x项目。可以操作PDF文档的Java PDF库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档的内容。...但最新的版本它可以将xml文件转换成pdf,mif,pcl,txt等多种格式以及直接输出到打印机,并且支持使用SVG描述图形 gnujpdf 782 gnujpdf是一个java包(gnu.jpdf....2.2.2 模块/功能比拼 接着来看一下各自的功能特性: PDFBox: Unicode文本提取 PDF文档拼接/分离 PDF表单里面提取数据/数据填充表单 验证PDF文档是否符合PDF/A...-1b标准 使用标准Java打印API打印PDF文档 另存为图片文件,如PNG、JPEG 使用内嵌字体和图片从头创建PDF 电子签名PDF文件 iText: PDFBox里面的特性iText都有 iText

5.8K30

java 打印pdf_java打印pdf文件

2.3.2 先将word转化为pdf文件,然后打印pdf(lz使用) 三、总结 ---- 一、Java的打印简介 在我们的实际工作,经常需要实现打印功能。...优点:jdk的原生支持的打印功能,可直接使用,支持设置各项打印参数。 缺点:局限性较大,只能打印一些图片和文本格式的文件。...文件格式打印实现 在经过网上的查找及对比,我选择了使用Apache PDFbox来实现进行PDF文件格式的打印。...Apache PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以PDF文档中提取所需的内容。...②打印pdf文件时,使用的是上面讲述的pdfbox插件,所以也需要引入pdfbox的依赖 org.apache.pdfbox</groupId

5.2K20

操作 PDF 文件的常用JAR包

操作PDF在很多业务场景都要用到,例如电子发票,电子处方笺。为什么需要使用PDF呢?...iText可以在PDF文件绘制矢量图,但是Apache PDFBox做不到(可能我没发现方法)。...0x03:Apache PDFBox Apache PDFBox库是用于处理PDF文档的开源Java工具。该项目允许创建新的PDF文档,操纵现有文档以及文档中提取内容的功能。...仓库 https://github.com/LibrePDF/OpenPDF 0x05:x-easypdf x-easypdf基于pdfbox构建而来,极大降低使用门槛,以组件化的形式进行pdf的构建...仓库 https://gitee.com/xsxgit/x-easypdf 总结:操作PDF的JAR主要分成两,分别是iText系列和Apache PDFBox系列,在之前的项目中使用PDF操作工具遇到不少的坑

2.4K20
领券