【问题标题】:iTextSharp does not retrieve the TAB characteriTextSharp 不检索 TAB 字符
【发布时间】:2014-06-21 20:02:10
【问题描述】:

我正在阅读 iTextSharp 的 pdf 文件,但以下命令不返回 TAB 字符,只返回 ENTER。

var rect = new System.util.RectangleJ(x, y, width, height);
var filters = new RenderFilter[1];
filters[0] = new RegionTextRenderFilter(rect);
ITextExtractionStrategy strategy = new FilteredTextRenderListener(new LocationTextExtractionStrategy(), filters);
var currentText = PdfTextExtractor.GetTextFromPage(pdfReader, pageNumber, strategy);

有人可以帮助我吗?

谢谢

【问题讨论】:

    标签: itextsharp


    【解决方案1】:

    没有人能回答您的问题,因为您认为 PDF 内容流中存在 TAB 字符的概念是错误的。

    两个单词之间没有 TAB 字符。 TAB 是通过定义单词之间的距离来创建的。文本添加在绝对位置,如果两个sn-ps文本需要用制表符空间隔开,则按照此要求调整坐标。 没有 TAB 字符!只有文本 sn-ps 之间的距离不同。

    iTextSharp 可以为您提供有关存储在 PDF 中的文本 sn-ps 位置的详细信息。您可以在此问题的已接受答案中找到一些代码:PDF Reading highlighed text (highlight annotations) using C#

    我们已在 2014 年 6 月 17 日在科隆举行的 iText 峰会上展示了文本提取的概念。这些幻灯片将在您的道路上为您提供帮助:http://www.slideshare.net/iTextPDF/itext-summit-2014-talk-unstructured-pdf

    【讨论】:

    • 布鲁诺你好,谢谢回复,我会分析的。在同样的情况下,例如,我无法区分违反列限制和故意换行作为标题的行。您能否指导我如何区分这两种情况?
    • 您已经确定了PDF解析的核心问题。我在上周的 PDF 日看到了一些解决方案,它们都涉及人工干预(无法自动完成,需要手动、可视化操作)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多