从webMathematica提供CDF

时间:2011-05-03 21:53:25

标签: wolfram-mathematica wolfram-cdf

假设我在Mathematica中输入以下(已编辑的)代码片段。

manip = Manipulate[x, {x, 0, 1}];
nb = Developer`UseFrontEnd[
    CreateDocument[manip, ShowCellBracket -> False, 
    Visible -> False]];
nbTest = ExportString[nb, "NB"] =!= $Failed;
cdfTest = ExportString[nb, "CDF"] =!= $Failed;
version = First[StringSplit[SystemInformation["Kernel", "ReleaseID"]]];
{{nbTest, cdfTest},version}

我发现nbTest和cdfTest都是True。如果我从webMathematica中运行相同的命令,则nbTest为True但cdfTest为False。你可以在这里看到结果:

http://www.cs.unca.edu:8082/webMathematica/generateCDF.jsp

您可以在此处查看生成该结果的代码:

http://www.cs.unca.edu:8082/webMathematica/generateCDF.jsp.txt

我已经搜索了webMathematica的安全配置,以找到启用CDF导出但未找到的方法。有谁知道启用此方法?当然,在这种情况下可能会故意禁用它。

我的目的是提供从通过HTML表单访问的JSP页面动态生成的CDF文档。这应该允许与文本输入相结合的良好CDF交互。

编辑:我已在服务器上更新了Mathematica的版本并更新了上面的代码,以便显示完整版本字符串。因此,我们可以看到它是版本8.0.1。问题依然存在。

1 个答案:

答案 0 :(得分:4)

标记,

你能尝试在UsingFrontEnd中包装ExportString [...,“CDF”],看看是否有帮助吗?

C:\Users\arnoudb>math.exe
Mathematica 8.0 for Microsoft Windows (64-bit)
Copyright 1988-2011 Wolfram Research, Inc.

In[1]:= nb = CreateDocument[ Manipulate[x,{x,0,1}] ] // UsingFrontEnd

Out[1]= -NotebookObject-

In[2]:= ExportString[ nb, "CDF" ]

FrontEndObject::notavail:
   A front end is not available; certain operations require a front end.

Export::nofe: A front end is not available; export of CDF
     requires a front end.

Out[2]= $Failed

In[3]:= ExportString[ nb, "CDF" ] // UsingFrontEnd // Head

Out[3]= String

In[4]:= $Version

Out[4]= 8.0 for Microsoft Windows (64-bit) (October 7, 2011)

In[5]:= $ReleaseNumber

Out[5]= 4