我有一个用C#VS 2008编写的Windows应用程序。此应用程序的目的是将任何文件转换为PDF文件。我找到了可用于转换文件的代码,但是遇到一个小问题。

首先是代码:

        private void PrintToAdobePDF(string strInputFilePath)
    {
        ProcessStartInfo pProcInfo = new ProcessStartInfo();
        bool blResult;

        blResult = SetDefaultPrinter(D2P_Adobe_Printer);
        if (blResult)
        {
            pProcInfo.FileName = strInputFilePath;
            pProcInfo.Verb = "Print";
            pProcInfo.CreateNoWindow = true;
            pProcInfo.WindowStyle = ProcessWindowStyle.Hidden;

            Process pProc = Process.Start(pProcInfo);
            pProc.WaitForExit(1000);
            pProc.CloseMainWindow();
            pProc.Close();
        }


我遇到的问题是,调用Process.Start()方法时,它使用两个动词而不是我指定的一个动词(“打印”)运行。它正在运行“打开”和“打印到”,这会使应用程序从中获取原始文件并挂起该应用程序(即jpg打开Windows传真和图片查看器)。
我的问题是我该如何在Process.Start()方法中使用“ Print”动词?

先感谢您

最佳答案

您是否尝试过研究是否可以通过可以完成相同任务的命令行参数执行Adobe Reader?有时依靠外壳是很不稳定的。

10-04 14:19