使用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来解决这个问题,但我没有找到任何使用的例子。我需要以编程方式打印PDF文件通过Microsoft XPS Document Writer与默认输出文件名。在这种情况下我应该如何使用DOCINFO?
你能帮帮我吗?
发布于 2018-07-20 03:15:27
你不能通过生成Acrobat Reader来可靠地打印,除非你给它一个桌面会话,并且有一个用户在那里,因为它有时会弹出需要用户关注的对话框。
此外,如果无人值守,它也违反了Adobe的许可证。
但是,您可以使用Ghostscript进行打印。
Ghostscript有一个名为Ghostscript.Net的C#接口,我已经在一些非常大的项目中成功地使用过它。Ghostscript和Ghostcript.Net都是免费和开源的。
发布于 2010-02-18 18:17:07
DOCINFO结构管理打印假脱机程序中的文件名,但不链接xps驱动程序保存对话框的实现。但是你可以找到保存对话框窗口,输入文件名,然后以编程方式关闭它。例如,请阅读此article。
https://stackoverflow.com/questions/2287158
复制相似问题