【发布时间】:2011-03-04 00:38:57
【问题描述】:
我使用以下代码在命令提示符下启动外部程序:
private void GenerateTiff(String fileName) {
bool success = true;
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += delegate
{
try
{
String cmd = @"./lib/gswin32c";
String args = "-dNOPAUSE -sDEVICE=pngalpha -r300 -dBATCH -dSAFER -sOutputFile=" + fileName + "-%03d" + FILEEXTENSION + " " + fileName + ".pdf";
Process proc = new Process();
proc.StartInfo.FileName = cmd;
proc.StartInfo.Arguments = args;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
}
catch (Exception e)
{
success = false;
}
};
worker.RunWorkerCompleted += delegate
{
string file = fileName + "-001.jpg";
if (success) {
DisplayImage.Visibility = System.Windows.Visibility.Visible;
DisplayImage.Tag = fileName;
}
};
worker.RunWorkerAsync();
}
现在我想阅读命令提示符的日志。我该怎么做?
【问题讨论】:
-
您的函数名为 GenerateTiff,您将 -001.*jpg* 添加到文件名中,您传递给 GhostScript 的参数表明您实际上是在创建一个png 文件。你确定你的文件格式已经整理好了吗?
-
Yes ;) 这是因为我首先创建了 png。然后我创建了 tiffs,然后我尝试使用 jpeg。但你是对的......这是重构它的理由。