假设我在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版。问题仍然存在。
最佳答案
标记,
您可以尝试在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
关于wolfram-mathematica - 从webMathematica服务CDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5876191/