终端命令不在c#程序中工作

时间:2014-06-05 14:17:16

标签: c# pdftk

我在c#应用程序中调用控制台程序,但它无法正常工作。

我试图通过via c#调用pdf工具包。

当我使用命令提示符运行pdftk时,会创建输出文件(new.pdf)。当c#调用pdftk时它没有错误,但它不起作用。

我在C#中称错了吗?

C#致电:(不工作)

System.Diagnostics.Process.Start(pdfTKPath, pdftkArgs);
Console.Write(pdfTKPath + pdftkArgs);
Console.ReadLine();

// Here's the string that the console outputs.
// pdftk.exe C:\Users\name\Desktop\assignment1\assignment1\data\temp\test_cropped.pdf stamp C:\Users\name\Desktop\assignment1\assignment1\data\temp\test_footer.pdf output C:\Users\name\Desktop\assignment1\assignment1\data\temp\new.pdf

CMD提示呼叫:(工作正常)

C:\Users\name>pdftk.exe c:\Users\name\Desktop\assignment1\assignment1\data\temp\test_cropped.pdf stamp c:\Users\name\Desktop\assignment1\assignment1\data\temp\test_footer.pdf output c:\Users\name\Desktop\assignment1\assignment1\data\temp\new.pdf

4 个答案:

答案 0 :(得分:0)

C:\Users\name>pdftk.exe

错了

使用以下内容:

C:\Users\name\pdftk.exe

另外,你逃脱了

  

\

符号?如果您在应用程序中使用硬编码路径,则需要它

答案 1 :(得分:0)

也许pdftk.exe不在路径中。尝试调用exe指定它的完整路径。

答案 2 :(得分:0)

首先我会检查是否创建了一个进程并且是否有错误

var processo=System.Diagnostics.Process.Start(pdfTKPath, pdftkArgs);
Console.Write("process created: "+processo.ExitCode);

答案 3 :(得分:0)

这不起作用的原因是先前方法发生的处理没有完成。

此前的方法使用ghost脚本创建裁剪的PDF文件。这种方法是在没有完成工作的鬼脚本的情况下引发的。因此,这种方法并不认为文件存在(因为他们没有)。我将此方法设置为等待2秒后再启动它可以正常工作。这允许以前的方法时间完成。