OmniGraffle 附加项

我们在 OmniGraffle 6.1 中构建了许多额外的内容,包括从 Mac 上的其他应用程序中输入和输出文件的功能。这对于 Microsoft® Visio® 或 Adobe® Photoshop® 的用户特别重要,但您需要升级到 OmniGraffle 专业版才能对这些格式进行输入和输出。

除了输入/输出之外,本部分还涉及下列这些 OmniGraffle 高级功能:

  • AppleScript 支持(需要 OmniGraffle 专业版
  • LinkBack 支持
  • 在 OmniGraffle 中使用正则表达式

从其他应用程序输入

OmniGraffle 可以识别多种不同的文件格式。您可以使用打开普通 OmniGraffle 文件的方式打开这些文件,然后进行输入(文件 ▸ 打开Command-O)。

(专业版)Microsoft® Visio® 绘图文件、模板和型版(.vsd、.vsdx、.vdx、.vst、.vtx、.vss、.vsx)
OmniGraffle 专业版可以读取由 Microsoft® Visio® 图表软件保存为 XML 文件格式的文稿(现在甚至包括原始二进制的文件格式!耶!)这真是太棒了!请注意,虽然您可以打开二进制格式,但无法输出为该格式,而是只能存储为 OmniGraffle 图表或输出为 XML 格式。另请注意,您无法输入 Microsoft® Enhanced Metafile (EMF) 格式的图形。
PDF 文件 (.pdf)
有两种方式将 PDF 文件导入到 OmniGraffle 中:
  • 使用文件 ▸ 打开并选择您要处理的 PDF 文件。OmniGraffle 会尝试将 PDF 文件输入为可编辑的形状。
  • 将 PDF 文件拖动到版面上。这会将 PDF 文件作为图像,您可以在上面添加备注、注释以及其他标准的 OmniGraffle 对象。
DOT 文件 (.dot)
OmniGraffle 知晓 Graphviz 所使用的 DOT 语言的子集。虽然这并没完全实现 DOT,但已经相当有用。
图表!2 个文稿(.diagram2 和 .dpalette2)
图表是类似于 OmniGraffle 的 NeXTSTEP/OPENSTEP 应用程序。OmniGraffle 可以输入图表文件中的对象,但不能输入其附加的 EPS 图像、声音或链接。
OmniOutliner 文稿(.ooutline 和 .oo3)
当您打开 OmniOutliner 文件时,大纲的项目被解读为图表。会出现一个对话框;您可以使用它来准确展示大纲的方式: 使用弹出式列表来选择 图表样式 。
OmniOutliner 文稿(.ooutline 和 .oo3)

(专业版)使用表格将图表样式中的对象指定到大纲的栏中。如果您要显示每个项的多栏信息,请使用带有群组对象的图表样式。您也可以为对象的备注分配一栏。

(专业版)选择将大纲放入全新的文稿中还是放入打开文稿的新版面中。

(专业版)Xcode 项目 (.xcode)、Project Builder 项目 (.pbproj) 和框架 (.framework)
OmniGraffle 使用 Objective-C 标头来构造继承关系、协议关系和类别关系的图表。
(专业版)Interface Builder nib 文件 (.nib)
OmniGraffle 在 nib 文件中绘制了连接,以取得简单的视觉效果。
EOModeler 文件 (.eomodeld)
OmniGraffle 创建了由文件描述的数据库关系的图表。
文件夹结构
将文件夹从 Finder 拖放到 OmniGraffle 的应用程序图标,以图表形式映射文件夹的内容。

输出为不同的格式

您可以利用 OmniGraffle 图表创建多种不同类型的文件。选择文件 ▸ 输出 (Option-Command-E)。当您输出时,新文件被写入磁盘,原始文稿则留在屏幕上。当然,不是所有图表特征都可以用所有文件格式表现出来。

可用的文件格式包括:

  • BMP 点阵图像 - 一种传统的图形格式。
  • EPS 向量图像 - 封装的 PostScript。这是专业打印中的通用格式。
  • GIF 点阵图像 - 一种在 web 上广泛使用的传统图形格式。
  • HTML 图像映射 -一种超文本文件和 JPEG、PNG 或 GIF 图像。原始 OmniGraffle 文稿中的 URL 动作将作为链接编码到图像映射中,这样点按图像就可以执行 URL 动作(请注意不包括有关线条的动作,但包括有关线条标签的动作)。
  • JPEG 点阵图像 -一种流行的压缩图像格式,可用于降低图像质量来取得较小的文件。
  • OmniGraffle 文稿(专业版)- OmniGraffle 文稿。您可以制作只读(即不可编辑的)文件,也可以选择在文件中加入带有链接的图像,以便可在他人电脑上正确显示。
  • OmniGraffle 模板、OmniGraffle 样板 - OmniGraffle 的资源。
  • OmniOutliner 3 - 将图表展示为文字大纲,使用形状之间的连线来创建层次。这同样也无法用于不具有严格树型结构的图表。
  • PDF 向量图像 - 可携式文档格式。这是一种优秀的跨平台格式,可以很好地支持向量组件和点阵。
  • PNG 点阵图像 - 可携式网络图形,一种在 Web 上流行的格式。在减少文件大小时,此格式使用无损压缩以保留图像的细节信息。它支持透明度。
  • Photoshop® 图像(专业版)- 输出可以在 Adobe® Photoshop® 或其他可读出 .psd 文件的图像应用程序中打开的分层 .psd 文件。
  • SVG 向量绘图(专业版)- 一种使用 XML 的开放式互联网标准。
  • TIFF 点阵图像 - 标记图像文件格式。此格式支持透明度。
  • Visio® XML 文稿(专业版)- 基于 XML 的文件格式,专用于 Microsoft® 图表应用程序。

取决于所选的文件格式,您将有不同的选项。大部分格式都提供“输出区域”选项,您可以选择要输出的文稿部分。

  • 当前所选内容 - 仅输出现在所选的对象。
  • 所有对象 - 输出版面上的所有对象,但不输出空白区域。
  • 指定区域 - 指定要输出的版面精确区域。
  • 当前版面 - 输出整个版面。
  • 整个文稿 - 输出所有内容,为每个版面创建一个图像文件。

取决于所选的格式,您也可以选择用于输出比实际尺寸、分辨率、压缩级别更小或更大的比例,以及是否要使背景透明。

AppleScript 支持(专业版

OmniGraffle 具备广泛的 AppleScript 支持,可轻松在 OmniGraffle 项目中自动执行任务或创建全新的 OmniGraffle 项目。查询有关 OmniGraffle 的 AppleScript 对象模型和命令的详细信息,请启动 AppleScript 编辑器(/应用程序/实用程序,或使用 Finder 中的 Shift-Command-U),选择文件 ▸ 打开字典,然后在“打开字典”对话框中选择所需的 OmniGraffle 版本。

您可以将 AppleScript 存储在 OmniGraffle 的脚本文件夹中,以便能够从“脚本”菜单中轻松地进行访问。也可以使用动作检查器将脚本附加到版面上的单个对象。在激活浏览工具后点按附加有脚本的对象,即可运行该脚本。

如果选择了一些对象,然后从菜单条中选择编辑 ▸ 拷贝为 ▸ AppleScript,您将获得所需的准确 AppleScript 线条来创建这些对象。这是了解 OmniGraffle 的 AppleScript 支持如何工作,或如何将特定对象添加到您自己本身脚本的最佳方式。

LinkBack

LinkBack 是一种在应用程序之间嵌入内容的方式,在这种方式下,您可以随时使用最初创建内容的软件返回并编辑内容。

请核查 GitHub 上的 LinkBack 资源库,获取有关 LinkBack 的海量信息以及支持该特性的应用程序列表。

要将 OmniGraffle 内容嵌入其他 LinkBack 应用程序,只需按常规方式拷贝和粘贴内容即可。同样的操作可以将其他应用程序的内容嵌入 OmniGraffle 图表。

要将 OmniGraffle 内容嵌入 OmniGraffle 中的单个对象,先选择版面 (Command-A) 上的所有对象,再选择菜单条中的编辑 ▸ 拷贝为 ▸ PDF,然后粘贴 (Command-V)。所拷贝的对象会变成单个图像;连按该对象即可打开一个新的 OmniGraffle 窗口,您可在其中编辑重要内容的对象。

要编辑已嵌入其他应用程序的 OmniGraffle 内容:

  • 连按其他应用程序文稿中的 OmniGraffle 内容,将出现一个包含内容的 OmniGraffle 窗口。

  • 以惯常方式编辑该 OmniGraffle 窗口中的内容。

  • 在 OmniGraffle 中选择文件 ▸ 存储,其他应用程序中的内容会自动更新。

  • 要编辑其他已嵌入 OmniGraffle 图表的 LinkBack 应用程序内容,只需连按即可。在其他应用程序中进行存储时,OmniGraffle 图表中的内容会更新。

在 OmniGraffle 中使用正则表达式

OmniGraffle 的查找对话框支持使用一些简单的正则表达式。正则表达式是代表一整组字符串的单个字符串。所用的语法如下所示:

  • a* - 零或多个 a 的实例(尽可能符合最长的字符串)
  • a*? - 零或多个 a 的实例(尽可能符合最短的字符串)
  • a+ - 一个或多个 a 的实例(尽可能符合最长的字符串)
  • a+? - 一个或多个 a 的实例(尽可能符合最短的字符串)
  • a? - 零或一个 a 的实例
  • ^ - 线条的开始位置
  • $ - 线条的结束位置
  • . - 任何字符
  • [a-z] - az 之间的所有字符
  • [abc-] - abc-
  • (abc) - 符合 abc 并将其存储为一个群组。使用“查找”对话框中的选择或替换弹出式菜单来选择或替换某个群组,而非整个表达式。
  • \1 - 第一个匹配群组的文字
  • a|b - ab
  • \n - 新行
  • \r - 回车符
  • \t - 制表符
  • \d - 数字
  • \D - 非数字
  • \w - 文字字符(字母数字或下划线)
  • \W - 非文字字符
  • \s - 空白
  • \S - 非空白
  • \ - 略过下一个字符

正则表达式十分常用,您可以在 Intenet 或稍好的图书馆或书店中找到大量相关信息。这里有一些教您入门的示例:

  • &\s*$ - 匹配线条结尾端的空白。
  • <.*?> — 匹配以“<”开始且以“>”结尾的字符串,如 XML 标签。
  • &\S+@\S+ — 随意匹配类似电子邮件地址的项 (anything@anything)。
  • (19|20)\d\d-\d\d?-\d\d? - 匹配 YYYY-MM-DD 格式的日期,介于 1900 和 2099 之间