【问题标题】:any objective-c library to parse/read word documents? [duplicate]任何用于解析/读取word文档的objective-c库? [复制]
【发布时间】:2013-01-04 04:14:36
【问题描述】:

可能重复:
Reading Microsoft word document in iphone

想知道是否有某种 objC 库可用于解析/读取 word 文档,以便将其转换为 txt 文件以进行更多数据处理。

【问题讨论】:

  • 阅读不同于解析。因此,不能重复。
  • 绝对不是重复的,确实是一个非常好的问题

标签: iphone objective-c


【解决方案1】:

如果您只需要 Word 文档中的纯文本,那非常简单。

假设您有一个 NSData 填充了来自 Word .doc 的数据...

在字节索引 536 处从数据中读取 UInt32。这个数字加上 512 是文本开始的字节索引。 (通常从 2048 年开始,但并非总是如此。)

从数据中的字节索引 588 读取另一个 UInt32。这个数字是文本中有多少个字符。

从这两个 UInt32 中创建一个范围,然后从数据中的该范围读取文本。

UInt32 fcMin;
[data getBytes:&fcMin range:NSMakeRange(536, sizeof(UInt32))];
UInt32 ccpText;
[data getBytes:&ccpText range:NSMakeRange(588, sizeof(UInt32))];
NSData *textData = [data subdataWithRange:NSMakeRange(fcMin + 512, ccpText)];
NSString *textContent = [[NSString alloc] initWithData:textData encoding:NSUTF16LittleEndianStringEncoding];

【讨论】:

  • 我在 getBytes:range 调用中遇到错误,说发送到实例的选择器无法识别...
  • @pneftali 您确定要在 NSData 实例上调用它吗?并且所有参数都是我使用的相同类型?
  • DOC 和 DOCX 格式有什么区别?
  • @ShivanRaptor 是的,DOC 和 DOCX 格式完全不同。 DOCX 实际上是一个包含一系列 XML 文件的 zip 文件。
猜你喜欢
  • 1970-01-01
  • 2010-12-27
  • 2011-10-05
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多