【发布时间】:2011-01-18 05:35:14
【问题描述】:
使用 Microsoft XPS Document Writer 打印 pdf 文档:
string filename = "C:\\1.pdf";
Process process = new Process();
process.StartInfo.Verb = "PrintTo";
process.StartInfo.FileName = @"C:\Program Files\Adobe\Reader 9.0\Reader\acrord32.exe";
process.StartInfo.Arguments =
"/t \"C:\\1.pdf\" \"Microsoft XPS Document Writer\" \"xps\" XPSPort:";
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.UseShellExecute = false;
process.Start();
process.StandardOutput.ReadToEnd();
process.WaitForExit();
唯一的问题是保存对话框,它请求文件名 (*.xps) 将结果保存在哪里。所有人都建议DOCINFO 解决这个问题,但我没有找到任何使用示例。 我需要使用默认输出文件名通过 Microsoft XPS Document Writer 以编程方式打印 PDF 文件。在这种情况下我应该如何使用 DOCINFO?
你能帮帮我吗?
【问题讨论】:
-
解决方案不是那么简单(10+ 行)。无论如何,Adobe Reader 存在一个经典问题 - 一个副本仍然打开,这对用户来说看起来很糟糕。最好使用 pdf 到 xps 的转换工具,像这样:pdftron.com/pdf-sdk/conversion-library 有 2-3 种选择。