进程无法打开pdf文件c#

进程无法打开pdf文件c#,c#,windows,pdf-conversion,C#,Windows,Pdf Conversion,在Windows应用程序中,我需要运行另一个应用程序,即tetpdflib。该tetpdflib仅在命令提示符下运行。当我将exe拖放到命令提示符时,它将执行。这是我的密码: Process tetmlProcess = new Process(); tetmlProcess.StartInfo.CreateNoWindow = true; tetmlProcess.StartInfo.UseShellExecute = false; tetmlProcess.StartInfo.Redirec

在Windows应用程序中,我需要运行另一个应用程序,即tetpdflib。该tetpdflib仅在命令提示符下运行。当我将exe拖放到命令提示符时,它将执行。这是我的密码:

Process tetmlProcess = new Process();
tetmlProcess.StartInfo.CreateNoWindow = true;
tetmlProcess.StartInfo.UseShellExecute = false;
tetmlProcess.StartInfo.RedirectStandardError = true;
tetmlProcess.StartInfo.RedirectStandardInput = true;
tetmlProcess.StartInfo.WorkingDirectory = @"C:\Users\sw_chn\Documents\PDFlib\TET 5.0 32-bit\bin";
tetmlProcess.StartInfo.FileName = @"C:\Users\sw_chn\Documents\PDFlib\TET 5.0 32-bit\bin\tet.exe";
string args1 = @"tet -m wordplus D:\DailyWork\March\JOURNAL-ISSUE_6_3924-3930.pdf";
tetmlProcess.StartInfo.Arguments = args1;
tetmlProcess.Start();
StreamReader news = tetmlProcess.StandardError;
string err = news.ReadToEnd();
Console.WriteLine(err);
Console.ReadLine();
我有以下错误:

无法打开PDF文件“tet”进行读取


如何从中恢复?

您的
开始参数再次包含导致此错误的程序名

只需更改代码即可

Process tetmlProcess = new Process();
// ...
tetmlProcess.StartInfo.WorkingDirectory = @"C:\Users\sw_chn\Documents\PDFlib\TET 5.0 32-bit\bin";
tetmlProcess.StartInfo.FileName = @"C:\Users\sw_chn\Documents\PDFlib\TET 5.0 32-bit\bin\tet.exe";
// removing "tet" in Arguments
string args1 = @"-m wordplus D:\DailyWork\March\JOURNAL-ISSUE_6_3924-3930.pdf";
tetmlProcess.StartInfo.Arguments = args1;
tetmlProcess.Start();
// ...

结论 示例中包含如下示例

tet--格式utf16--outfile.utf16 file.pdf


这里是
tet
映射为系统中的环境变量,代表应用程序的完整路径。

您真的需要“tet”作为第一个参数吗?(因此
tet.exe tet-m wordplus…
)从
args1
字符串中删除
“tet”
,这就是为什么需要删除的命令。@MalathiMals,不,该命令在
进程中。StartInfo.FileName
。参数是您在写入文件名(即:
-m wordplus D:\DailyWork\March\JOURNAL-ISSUE\u 6_3924-3930.pdf
)后编写的参数,sting str=D:\DailyWork\March\JOURNAL-ISSUE\u 6_3924-3930.pdf字符串args1=@“-m wordplus”+“”+str;tetmlProcess.StartInfo.Arguments=args1;有什么错误吗?我再次遇到同样的错误,因为pdf无法打开str=D:\DailyWork\March\JOURNAL-ISSUE_6_3924-3930.pdf字符串args1=@“-m wordplus”+“”+str;tetmlProcess.StartInfo.Arguments=args1;有什么错误吗?我再次得到同样的错误,因为pdf无法打开