我尝试使用下面的代码将图表图像导出到png或pdf。(我使用的是Asp.Net MVC,Telerik Kendo,Inskcape)
每个用户都需要在他们的计算机上安装Inkscape软件才能导出图表。我的意思是,如果用户没有Inkscape,用户就无法获得图像。
所以我想控制用户是否有Inkscape。如果没有安装Inkscape,我想向相关的View显示异常消息,例如“请将Inkscape安装到您的计算机上”
我该怎么办?试试看,抓住?如果别的?我无法理解我应该做的事情。
private string DoExport(string svgFile, KendoChartExport.Models.ExportFormat format)
{
var extension = format == KendoChartExport.Models.ExportFormat.PNG ? "png" : "pdf";
var outFile = TempFileName() + "." + extension;
var inkscape = new System.Diagnostics.Process();
inkscape.StartInfo.FileName = INKSCAPE_PATH;
inkscape.StartInfo.Arguments =
String.Format("--file \"{0}\" --export-{1} \"{2}\" --export-width {3} --export-height {4}",
svgFile, extension, outFile, WIDTH, HEIGHT);
inkscape.StartInfo.UseShellExecute = true;
inkscape.Start();
inkscape.WaitForExit();
return outFile;
}
我想这样:
try
{
inkscape.Start();
}
catch (Exception)
{
throw ViewBag.Error = "Please Install Inkscape";
}
有什么想法可以提供帮助吗?