gpt4 book ai didi

java - Word 文件到 Java 字符串 : Missing formatting info and showing invalid characters

转载 作者:行者123 更新时间:2023-12-01 14:00:01 28 4
gpt4 key购买 nike

我正在尝试获取 Word 文档中包含的文本的String。我尝试使用 Apache POI api 的代码是:

FileInputStream fis = new FileInputStream(file.getAbsolutePath());
HWPFDocument document = new HWPFDocument(fis);
WordExtractor extractor = new WordExtractor(document);
String fileData = extractor.getText();

fileData 应包含 Word 文件中的数据。

但是我收到了一些我想消除的无效字符。例如,word中的以下文本:

Project Name    Customer 360

Position Software Engineer

与在 java 控制台中打印时一样:

Project Name [?]Customer 360[?][?]Position \t [?]Software Engineer

其中[?]是小框中的问号符号。当我把它粘贴到这里时,它没有出现,所以我只是用 [?] 来表示它。

我希望输出如下:

Project Name \t Customer 360 \n Position \t Software Engineer

这为我提供了有关处理此文本真正需要的选项卡和新行的信息。

我知道 tabnewline 信息在那里,因为我正在获取 \t\n有些地方但有些地方缺失。

最佳答案

看起来您有一些特殊字段适用于该文本。它很可能有适用于它的链接、特殊规则、表单字段等

如果您不想要所有这些,您将需要使用 stripFields(java.lang.String) method on WordExtractor删除它们,只留下显示的文本。

来自the JavaDoc on that method :

Removes any fields (eg macros, page markers etc) from the string.

您的代码将是:

    FileInputStream fis = new FileInputStream(file.getAbsolutePath());
HWPFDocument document = new HWPFDocument(fis);
WordExtractor extractor = new WordExtractor(document);
String rawText = extractor.getText();
String displayText = extractor.stripFields(rawText);

关于java - Word 文件到 Java 字符串 : Missing formatting info and showing invalid characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19397664/

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