打印另存为PDF

时间:2015-01-29 07:00:46

标签: c# process modi

我有以下代码。据我所知,它是转换和保存为pdf。任何人都可以解释这段代码吗?

Process cnp = new Process();
cnp.StartInfo.FileName = "AcroRd64.exe";
cnp.StartInfo.Arguments = "/n /t c:/test.jpg Microsoft Office Document Image   Writer";

更新

我创建了一个示例控制台应用程序来触发打印并且它无法正常工作

class Program
{
    static void Main(string[] args)
    {
        try
        {
            Process p = new Process();

            p.StartInfo.FileName = @"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe";
            p.StartInfo.Verb = "Print";
            p.StartInfo.Arguments = "/n /t c:/test.png " + "Microsoft Office Document Image Writer";
            p.StartInfo.CreateNoWindow = false;
            p.StartInfo.UseShellExecute = true;
            p.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
        Console.ReadKey();
    }
}

1 个答案:

答案 0 :(得分:0)

Process用于启动和停止系统上的进程。

很明显你的代码试图启动一个进程“AcroRd64.exe”,我猜这是一个pdf阅读器Adobe Acrobat Reader。 Argumens是进程的参数,所以基本上,这相当于在命令行中编写以下内容:

AcroRd64.exe /n /t c:/test.jpg Microsoft Office Document Image   Writer

在此other SO question下有更多信息。

您的代码可能不起作用,因为单个参数Microsoft Office Document Image Writer包含空格。尝试:

 cnp.StartInfo.Arguments = 
     "AcroRd64.exe /n /t c:/test.jpg \"Microsoft Office Document Image Writer\"";