4

我正在使用 PDFBox 1.7.0 版从 PDF 中提取文本。这些类使用 .NET 编译为 .NET IKVM.NET。我正在使用以下代码,我在其中传递文件的名称和路径:

public static String PDFText(String PDFFilePath)
    {
        PDDocument doc = PDDocument.load(PDFFilePath);
        PDFTextStripper stripper = new PDFTextStripper();
        string text = stripper.getText(doc);
        doc.close();
        return text;
    }

PDF 有 2 列。提取工作相当好。然而,许多单词被一个连字符分割到下一行,它们应该被保留为一个完整的单词。

例如,单词“becoming”变成了“becoming”,
就像许多其他单词一样。

有没有办法防止 PDFBox 用破折号“-”或连字符随机拆分单词并在一行上显示部分单词,而将其余部分带到下一行?

我在 stackoverflow 上看到了一篇文章,该文章涉及在单词之间随机插入空格,即PDFBox 在单词中添加空格

但是,我的问题是 PDFBox 用破折号或连字符拆分。

我还看到了对名为 的方法的引用,该方法charactersByArticle专门用于双列 PDF,我认为这可能会正确呈现提取的文本。但是,我还没有找到如何使用这种方法的工作示例,只是对它的预告片引用。

如果该charactersByArticle方法不能阻止这种情况,我什至会考虑 Regex,如果有人可以提供一个很好的工作示例,将其与我上面的 PDFTextStripper 方法结合使用。先感谢您。

4

0 回答 0