OneNote 解析 - 如何获取文档中的 Text Blob?
OneNote parsing - how to get to the Text Blobs in the document?
我正在为 .one
文件扩展名创建解析器,完成后我会将其添加到 Apache Tika 项目中。
这是我正在创建的 APL 2.0 许可开源项目:https://github.com/nddipiazza/onenote-parser-java
我在这里使用了规范文档:https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-one/73d22548-a613-4350-8c23-07d15576be50
作为起点,我移植了这个开源 C++ 项目的代码:https://github.com/dropbox/onenote-parser
我在解析文档方面取得了很大进展,但遇到了障碍。
这是我用来解析的 OneNote 文件:https://drive.google.com/file/d/1uROTEnKeBKU08CG_K5zdDTGHa178LgBK/view?usp=sharing
我无法在我的解析结果中查看 Section1TextArea1 和 Section1TextArea2。所以我缺少某种关键数据解析元素或其他东西。
肯定在 OneNote 文件本身。我可以在十六进制查看器中看到它:
这里是 JSON 解析输出:https://gist.github.com/nddipiazza/02d2252d357b3b02a6b9ab1050474267
我觉得规范文档缺少解析此专有格式所需的一些非常重要的信息。
我缺少哪些主要元素导致我无法获得实际的文本内容?
我明白了。需要理解的是,OneNote 中的 属性 值可以是:
- 二进制内容
- Ascii 文本内容
- UTF-16LE 内容。
到处都是各种各样的。
另外,我只是继续解析整个根文件树。它会导致很多重复的文本,但我真的不在乎。
项目更新了测试用例和修复:https://github.com/nddipiazza/onenote-parser-java/tree/master/src/main/java/org/apache/tika/onenote
更新:
刚刚创建了 apache tika PR:https://github.com/apache/tika/pull/300
我正在为 .one
文件扩展名创建解析器,完成后我会将其添加到 Apache Tika 项目中。
这是我正在创建的 APL 2.0 许可开源项目:https://github.com/nddipiazza/onenote-parser-java
我在这里使用了规范文档:https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-one/73d22548-a613-4350-8c23-07d15576be50
作为起点,我移植了这个开源 C++ 项目的代码:https://github.com/dropbox/onenote-parser
我在解析文档方面取得了很大进展,但遇到了障碍。
这是我用来解析的 OneNote 文件:https://drive.google.com/file/d/1uROTEnKeBKU08CG_K5zdDTGHa178LgBK/view?usp=sharing
我无法在我的解析结果中查看 Section1TextArea1 和 Section1TextArea2。所以我缺少某种关键数据解析元素或其他东西。
肯定在 OneNote 文件本身。我可以在十六进制查看器中看到它:
这里是 JSON 解析输出:https://gist.github.com/nddipiazza/02d2252d357b3b02a6b9ab1050474267
我觉得规范文档缺少解析此专有格式所需的一些非常重要的信息。
我缺少哪些主要元素导致我无法获得实际的文本内容?
我明白了。需要理解的是,OneNote 中的 属性 值可以是:
- 二进制内容
- Ascii 文本内容
- UTF-16LE 内容。
到处都是各种各样的。
另外,我只是继续解析整个根文件树。它会导致很多重复的文本,但我真的不在乎。
项目更新了测试用例和修复:https://github.com/nddipiazza/onenote-parser-java/tree/master/src/main/java/org/apache/tika/onenote
更新:
刚刚创建了 apache tika PR:https://github.com/apache/tika/pull/300