我有一个C#.NET应用程序打开adobe acrobat reader以打印PDF文件 .

我正在使用ProcessStartInfo组件:

string args = "/s /h /t \"C:\\temp\\test_landscape.pdf\""
string pathAcrobat = "C:\\Program Files (x86)\\Adobe\\Acrobat Reader DC\\Reader\\AcroRd32.exe"

var startInfo = new System.Diagnostics.ProcessStartInfo
{
    Verb = "print",
    FileName = pathAcrobat,
    Arguments = args,
    CreateNoWindow = true,
    ErrorDialog = false,
    UseShellExecute = false,
    WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
};

var process = System.Diagnostics.Process.Start(startInfo);

这个pdf文档是横向的,我希望adobe以横向(而不是肖像)打印它 . 似乎adobe acrobat reader正试图将页面调整为肖像 . 如果adobe可以将PDF与肖像相匹配,则会将其发送到纵向打印 . 如果adobe无法将PDF与纵向相匹配,则会将其发送到横向打印 . 所以在我的情况下,由于PDF文档可以适用于肖像,因此尽管它是横向的,但它仍然是以纵向打印的 . 为什么?

有没有办法告诉adobe acrobat reader(有一些论点)总是以横向打印?

此外,我通过以下执行使用adobe acrobat reader命令行尝试了它,并且PDF文档正在以纵向打印,尽管它被acrobat阅读器打开并在风景中显示:

C:\ Program Files(x86)\ Adobe \ Acrobat Reader DC \ Reader> AcroRd32.exe / h / s / t“C:\ temp \ test_landscape.pdf”

此外,尽管pdf文档是横向的,我强迫adobe通过以下方式在横向打开它:

C:\ Program Files(x86)\ Adobe \ Acrobat Reader DC \ Reader> AcroRd32.exe / h / s / A“vie w = FitH,top”/ t“C:\ temp \ test_landscape.pdf”

它在横向打开,但发送到纵向打印 .

有任何想法吗?