提问人:Robby Slaughter 提问时间:8/20/2008 最后编辑:AndyRobby Slaughter 更新时间:1/26/2009 访问量:2311
Mac iWork/Pages 自动化
Mac iWork/Pages Automation
问:
Microsoft Office有一个丰富的脚本模型,但Apple iWork,特别是文字处理器Pages则不然。虽然有一些 AppleScript 钩子,但看起来最好的方法是操作底层 XML 数据。
事实证明,这是非常丑陋的,因为(例如)分页符存储在XML中。例如,你有类似的东西:
... we hold these truths to be self evident, that </page>
<page>all men are created equal, and are ...
因此,如果要添加或删除文本,则必须根据页面上文本的大小移动开始/结束标记。如果不计算页面可以容纳的字数,这几乎是不可能的,这似乎非常不优雅。
有人对此有什么想法吗?
答:
我建议修改底层XML文件是“被认为是有害的”。特别是如果您还没有检查文档是否打开!
我快速浏览了一下 Scripting Dictionary for Pages,它似乎非常全面;下面是一个条目的一部分:
文件N [INH.>项目文件; 另请参阅 Standard Suite]:Pages 文档。
元素
包含捕获的页面、字符 样式、图表、图形、图像、 行、列表样式、页面、段落 样式、截面、形状、表格、文本 盒子。
性能
正文文本 (text) :文档的主要文本流。
下边距(实数):出版物的下边距。
facing pages (boolean) :视图是否设置为朝向 页面。
页脚页边距(实数):出版物的页脚页边距。
页眉页边距(实数) :出版物的页眉页边距。
id (integer, r/o) :文档的唯一标识符。
...
所以,我想我想知道你想做什么,而你不能用AppleScript做什么?
评论
最新版本的 iWork '09 包含非常全面(尽管不完整)的 Applesript 钩子,尤其是页面。Applescript 的 us 应该比修改底层文件更安全、更稳定。
评论