首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IDML :按适当顺序提取文本内容

IDML :按适当顺序提取文本内容
EN

Stack Overflow用户
提问于 2013-03-01 09:43:53
回答 1查看 2.7K关注 0票数 1

我正在尝试从IDML文件中提取文本内容。

我现在做的是-

  1. 提取xml文件,转到designmap.xml文件并查找组成文档的传播范围。
  2. 价差是designmap.xml中的元素,定义为:

  1. 在每次传播中,我都会查找<TextFrame>元素,并从ParentStory属性获取相应的内容。

问题是,这一案文似乎不太妥当。我有一个简单的IDML文件,其中我有一个标题的文本框架,一个文本框架覆盖页面的内容。当我提取时,身体部分如果先取,然后取头。

有什么方法可以按照我们看到的顺序提取内容吗?

谢谢。

PS -在元素中,NextFrame和PreviousFrame属性都被设置为'n‘。我不知道这意味着什么,这些价值观能有帮助吗?抱歉,如果我错过了一些非常基本的东西,我是设计和IDML的新手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-01 18:23:28

TextFrame元素在IDML Spread中的顺序表示它们的z级深度,而不是页面上的任何类型的读取顺序。在您描述的文档中,要么深度被操纵,要么body元素被添加到文档的标题之前:不管是哪种方式,它都在较低的深度。

以我认为您想要的方式确定阅读顺序的唯一方法是确定页面上元素的位置(可能一旦您知道了这一点,就可以根据语言从上到下和/或左到右,甚至从右到左工作)。这可能有点棘手,但基本上是GeometricBoundsItemTransform参数( Spread > Page > PageItem传家宝)之和。有关更多细节,请参见这里的答案:https://stackoverflow.com/a/12490600/1014822

或者,如果您控制文档创作过程,则可以确保作者使用深度来指示阅读顺序,这将为您节省一些编码。但是请注意,IDML也有Layer的概念,这进一步复杂化了深度问题。

当故事从一个框架流向另一个框架时,NextTextFramePreviousTextFrame只用于链接帧。值N表示在这个方向上没有链接帧。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15154675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档