【问题标题】:Using LocationTextExtractionStrategy in itextSharp for text coordinate在 itextSharp 中使用 LocationTextExtractionStrategy 获取文本坐标
【发布时间】:2011-11-22 17:09:34
【问题描述】:

我的目标是从 PDF 中检索数据,这些数据可能是表格结构到一个 excel 文件中。

将 LocationTextExtractionStrategy 与 iTextSharp 结合使用,我们可以从左到右获取页面内容的纯文本字符串数据。

我怎样才能在

PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy())

我可以让文本在结果字符串中保留其坐标。

例如,如果 pdf 中的第一行文本右对齐,则生成的字符串必须包含尾随空格或保持内容右对齐的空格。

请给出一些建议,我可以如何继续实现相同的目标。

【问题讨论】:

    标签: excel pdf itextsharp


    【解决方案1】:

    了解 PDF 不支持表格非常重要。任何看起来 像表格的东西实际上只是一堆放置在线条背景上特定位置的文本。这非常重要,您在处理此问题时需要牢记这一点。

    也就是说,您需要继承 TextExtractionStrategy 并将其传递给 GetTextFromPage()。请参阅this post 以获得一个简单的示例。然后see this post 获取更复杂的子类化示例。后者与您的目标并不完全相关,但它确实显示了您可以做的一些更复杂的事情。

    【讨论】:

    • 感谢@Chris 的解决方案。我要把它子类化。
    • 在将其子类化为TextChunk location = new TextChunk(info.GetText(), bottomleft, topRight, info.GetSingleSpaceWidth()); locationalResult.Add(location); 并将其称为PdfTextExtractor.GetTextFromPage(reader, i, strategy 之后,我没有以所需的方式获取文本。你能帮我看看我哪里弄错了吗?
    • 我终于可以从 PDF 中提取带有位置的文本。感谢您的帮助。这些天我试图将它们放在 excelfile 的表结构中,但到目前为止我无法获得合适的 dll 或解决方案,可以帮助我将内容放入 excel 文件中。虽然我正在考虑创建和使用 excel 模板,但目前我正在使用带有文本和位置信息的数据视图/数据表中的文本数据。
    • EPPlus.dll 和 NPOI.dll(即“npoi”)是两个可以读取/写入 Excel .xlsx 文件的 DLL。 NPOI.dll 也可以读/写 Excel "BIFF" (.xls) 文件。
    猜你喜欢
    • 2014-07-17
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多