当前位置: 首页 > 知识库问答 >
问题:

pdfbox提取字坐标

狄望
2023-03-14

嗨,这个问题是指之前的帖子:

有人能给我举个例子,说明如何使用PDFBox提取“单词”的坐标吗

我使用的是PDFBOX 2.0.10

我已成功编译了组合代码,但在尝试运行示例时出现异常错误。

提供的解决方案没有标准的主方法,这是我感到困惑的地方。

有人能告诉我怎样才能成功运行组合代码吗。

package org.apache.pdfbox.examples.text;
import java.io.File;
import java.io.IOException;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import org.apache.pdfbox.examples.text.ExtractWordCoordinates;
public class ExtractWordCoordinates2 {
    public static void main(String[] args) throws IOException {
        ExtractWordCoordinates ewc = new ExtractWordCoordinates();
       ewc.testExtractWordsForGoodJuJu();
    }
}

堆栈跟踪

Jul 08, 2018 4:15:41 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO: To get higher rendering speed on java 8 oder 9,
Jul 08, 2018 4:15:41 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO:   use the option -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider
Jul 08, 2018 4:15:41 PM org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB suggestKCMS
INFO:   or call System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider")
Exception in thread "main" java.lang.NullPointerException
        at org.apache.pdfbox.io.ScratchFile.createBuffer(ScratchFile.java:422)
        at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1142)
        at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1041)
        at org.apache.pdfbox.examples.text.ExtractWordCoordinates.testExtractWordsForGoodJuJu(ExtractWordCoordinates.java:47)
        at org.apache.pdfbox.examples.text.ExtractWordCoordinates2.main(ExtractWordCoordinates2.java:17)

可以在这里找到坐标https://github.com/mkl-public/testarea-pdfbox2/blob/master/src/test/java/mkl/testarea/pdfbox2/extract/ExtractWordCoordinates.java#L69

共有1个答案

拓拔高畅
2023-03-14

问题解决了。

ExtractWordCoordinates中的以下行返回空值:

    try (   InputStream resource = getClass().getResourceAsStream("apache.pdf")) {

将文档(apache.pdf)复制到与ExtractWordCoordinates相同的目录后。类。代码成功运行。

 类似资料:
  • 主要内容:从PDF文档生成图像在前一章中,我们已经看到了如何合并多个PDF文档。 在本章中,我们将了解如何从PDF文档的页面提取图像。 从PDF文档生成图像 PDFBox库提供了一个名称为的类,它将PDF文档呈现为AWT BufferedImage。 以下是从PDF文档生成图像的步骤。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态方法,可以使用类名称调用

  • 我的任务是从PDF中提取特定坐标的文本。 我使用Apache Pdfbox客户端进行数据提取。 为了从PDF中获取x、y、高度和宽度坐标,我使用PDF x更改工具,单位为毫米。当我在矩形中传递值时,值不是空值。 请建议我的方法是否正确...

  • 我试图在文档中创建新的页面并写入一些文本,同时使用文件中包含的字体。 字体是从资源中提取的: 后来用来写一些文字: 包括PDF在内的完整项目可在github存储库中获得,该存储库显示了该问题

  • 我试图从PDF中提取文本坐标和直线(或矩形)坐标。 类有和方法,这些方法根据各自TextPosition对象表示的文本块的方向转换坐标(根据@mkl的注释进行更正)。最终输出是一致的,与页面旋转无关。 输出所需的坐标为X0,Y0(页面左上角) 这是对@Tilman Hausherr的解决方案的轻微修改。y坐标被反转(高度-y),以保持其与文本提取过程中的坐标一致,并且输出被写入csv。 正在使用类

  • 2013年7月17日1:05:28 PM org.apache.pdfbox.util.pdfstreamengine processOperator信息:不支持/禁用操作:BDC 2013年7月17日1:05:29 PM org.apache.pdfbox.util.pdfstreamengine processOperator信息:不支持/禁用操作:EMC DeviceGray org.apa

  • 我正试图从一组PDF文件中提取一些信息。这是目前为止的工作,但一个PDF给我的委屈。 我使用的是PDFBOX1.8.8和Java7。 我没有例外,什么都没有。有什么想法吗? 编辑:附加信息:使用Acrobat Distiller 9.0.0(Windows)创建,格式为PDF-1.6;其他PDF是版本1.4和1.5 似乎并不包含异国情调的角色。我可以在Evince PDF-viewer中标记/复制