gpt4 book ai didi

java - 从书签处的 PDF 中提取文本

转载 作者:行者123 更新时间:2023-12-02 01:45:10 25 4
gpt4 key购买 nike

我需要从 PDF 中书签所在的位置提取文本。

PDFBox 提取书签所在的整个页面,如所述 here .

但我需要提取以书签开头的文本。

最佳答案

我相信 iText 可以处理这个问题。

Rectangle2D bookmarkRect = getRectFromBookmark(someBookmarkThingy);

FilteredTextRenderListener filter =
new FilteredTextRenderListener( new LocationTextExtractionStrategy(),
new RegionTextRenderFilter( bookmarkRect ));

String bookmarkText = PdfTextExtractor.getTextFromPage(reader, pageNum, filter);

someBookmarkThingy 可能是相关书签的 PdfDictionary。

警告书签实际上可以保存几乎任何操作。它们通常包含多种 GoTo* 操作之一。

GoTo 操作可以指定一个矩形、一个左上角和缩放系数、一个页面以及许多其他变体。任何定义缩放设置的内容都会受到显示 PDF 的窗口大小的影响。这包括除为新 View 明确定义边界框之外的所有内容。您必须对典型窗口大小进行有根据的猜测,并从那里进行转换。

您可能需要阅读PDF Specification ,特别是第 12.6.4.2 节“转到操作”。哼。您真正需要的是“目的地”部分,12.3.2。页面目标可以这样定义:

  • [pageRef/XYZ 左上缩放]
  • [页面引用/适合]
  • [pageRef/FitH 顶部]
  • [pageRef/FitV 左]
  • [pageRef/FitR 左下右上]
  • [pageRef/FitB]
  • [pageRef/FitBH 顶部]
  • [pageRef/FitBV 左]

玩得开心!

关于java - 从书签处的 PDF 中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3778574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com