我正在使用 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 方法结合使用。先感谢您。