我在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
答案 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秒后再启动它可以正常工作。这允许以前的方法时间完成。