WOLFRAM 语言 HOW TO

How to| 创建一个可计算文档格式(CDF)的文件
This feature is not supported on the Wolfram Cloud.

可计算文档格式(CDF)文件提供了丰富的部署方法,不仅具有 Wolfram 语言的功能和灵活性,也具有公共格式和免费播放器所提供的广泛分发潜能. 作为 Wolfram 语言的一项内置功能,您可以直接将工作笔记本、自定义格式的论文和文章或专用应用程序的开发工作流程保存为 .cdf 文件. Wolfram 语言中的几乎任何计算都可以成为与用户交互的对象,作为 CDF 文件在 Wolfram CDF Player 上查看,为您在演示中阐明概念提供最大的清晰度.

可计算文档格式的文件可以基于现有的笔记本创建,也可以或从头开始创建. 这类文件可以含有任何能够放到 Wolfram 语言笔记本中的内容. 创建 CDF 文件与创建笔记本相同,可以通过选择 文件 新建.

Wolfram 语言笔记本与 .cdf 文件的主要不同之处是在 CDF Player 中查看文档时的交互许可程度不同. 笔记本文件(文件扩展名为 .nb)在 CDF Player 中只能作为静止文档查看,而 .cdf 文件中的 Manipulate 对象(或其他动态元素)在 CDF Player 中查看时是可以完全交互的.

例如,其他用户在使用 CDF Player 查看您的 CDF 文档时,能够移动滑动条与文档互动:

动态与静态内容可以在 .cdf 文件中自由混合. 比如可以将标准文档的功能如章节标题纳入:

关于如何充分利用交互功能的更多信息,请参见".cdf 文件中的互动性".

将笔记本转换为 CDF 的主要部署方法是通过选择 CDF 导出 菜单项,它提供了创建网页嵌入式或独立格式的分步界面. 其他详细信息可参见"部署 .cdf 文件".

如使用 另存为 菜单,需在 Wolfram 系统中选中您所打开的笔记本,然后选择 文件 另存为...:

然后在出现的文件浏览器窗口的下拉菜单 Save as type: 中选择 可计算文档 (*.cdf)

其他用编程方式创建 CDF 文件的方法包括 CDFDeployExportImportExport 都完全支持 "CDF" 文件格式).

部署 .cdf 文件

使用 文件 CDF 导出 菜单项,既可以将 .cdf 文件另存为一个独立文档,也可以将整个文档或选定的内容轻松嵌入到现有的 HTML 代码中.

如要生成独立的 .cdf 文件,需选择菜单项 文件 CDF 导出 独立文档...:

在点击该菜单项后,会弹出如下窗口:

按照向导说明将文档保存为独立的 .cdf 文件。需注意的是,如果您希望保存笔记本中的选定内容,而不是整个窗口,您必须在打开部署向导前将待部署的内容选中。

    

如果您希望创建一个可嵌入到网页中的 .cdf 文件,需选择菜单项 文件 CDF 导出 嵌入于网页中...:

在点击该菜单项后,会弹出如下窗口:

该向导将引导您完成将整个文档或部分内容保存为 .cdf 文件的整个过程,指定 .cdf 文件将要在您的网页服务器上存放的位置,然后提供一段 HTML 代码段供您复制并粘贴到已有的 HTML 文件中。注意,与部署独立文档相同,如果您希望保存笔记本的选定内容,而不是整个窗口,必须在打开部署向导前将待部署的内容选中。

.cdf 文件中的互动性

Wolfram 语言中的绝大多数函数均可用于创建 CDF Player 的应用程序,但必须注意几个编程方面的限制.

  • 不支持对话窗口.
  • 不支持包括 J/Link 和 .NET/Link 在内的 Wolfram Symbolic Transfer Protocol(WSTP)操作.

    由于 CDF Player 无法在运行时加载自定义数据,必须确保所有必要信息嵌入在 .cdf 文件的互动元素中. 这可以通过 InitializationSaveDefinitions 实现,两者均是 Manipulate 的选项.

    选项 Initialization 可用于包括互动输出中的小型代码及数据块,正如下面这个简单的例子所示:

    

另外,对于大型代码块、程序包或大型数据集来说,将它们在创建 Manipulate 输出之前定义,然后利用选项 SaveDefinitions 将其在输出内的状态保存,可能会更为方便. 下面这个简单的例子是上例的翻版,而没有使用 Initialization.

In[1]:=
Click for copyable input
Out[1]=

有关 .cdf 文件中更高级别应用程序内容的激活,例如任意输入、对话窗口,及加载外部数据等,请与 Wolfram Research 联系.