如何从C#代码中直接打印文件(如pdf)?
这里有一个来自C#新手的简单问题 我的目标是直接从C#代码打印文件,理想情况下不显示打印对话框和选择一些选项。是否有任何Windows API可以依赖和调用?例如,可以让我选择打印多少份,哪台打印机,然后直接发送给它 有什么建议吗?谢谢 根据这篇文章 您只需启动一个新流程:如何从C#代码中直接打印文件(如pdf)?,c#,windows,printing,windows-10,C#,Windows,Printing,Windows 10,这里有一个来自C#新手的简单问题 我的目标是直接从C#代码打印文件,理想情况下不显示打印对话框和选择一些选项。是否有任何Windows API可以依赖和调用?例如,可以让我选择打印多少份,哪台打印机,然后直接发送给它 有什么建议吗?谢谢 根据这篇文章 您只需启动一个新流程: Process p = new Process(); p.StartInfo = new ProcessStartInfo() { CreateNoWindow = true, Verb = "print"
Process p = new Process();
p.StartInfo = new ProcessStartInfo()
{
CreateNoWindow = true,
Verb = "print",
FileName = path //put the correct path here
};
p.Start();
如果安装了AdobeAcrobatReader这样的pdf阅读器,它就可以正常工作了 根据这篇文章 您只需启动一个新流程:
Process p = new Process();
p.StartInfo = new ProcessStartInfo()
{
CreateNoWindow = true,
Verb = "print",
FileName = path //put the correct path here
};
p.Start();
如果安装了AdobeAcrobatReader这样的pdf阅读器,它就可以正常工作了 “打印文件”相当模糊 如果可以找到.NET库(或编写自己的库)来打开特定类型的文件、读取内容,然后呈现内容,则可以使用内置的.NET类,如FixedDocument类(中引用)来构建打印输出并将其发送到打印机 如果您想在文件系统上打印任意文件,并且假设安装了一个可以打开和打印该类型文件的程序,并且该程序在右键单击菜单中安装了一个“print”动词,那么您应该能够使用上面Mark回答中的“ProcessStartInfo”方法。模拟用户右键单击文件并选择名为“打印”的选项 不管怎样,在没有用户输入的情况下在Windows上打印本身就是一个独立的问题。出现的打印对话框通常是特定打印机驱动程序的一部分(而不是通用Windows打印机对话框),包括特定于该打印机的选项,如双面打印或选择特定纸盒等。许多驱动程序根本没有提供设置这些选项的编程方法,而那些确实需要特定于该驱动程序的代码的人。您可以通过编程方式指定常规选项(例如副本数),但任何额外功能都将被禁用或使用默认值 希望这有帮助“打印文件”相当模糊 如果可以找到.NET库(或编写自己的库)来打开特定类型的文件、读取内容,然后呈现内容,则可以使用内置的.NET类,如FixedDocument类(中引用)来构建打印输出并将其发送到打印机 如果您想在文件系统上打印任意文件,并且假设安装了一个可以打开和打印该类型文件的程序,并且该程序在右键单击菜单中安装了一个“print”动词,那么您应该能够使用上面Mark回答中的“ProcessStartInfo”方法。模拟用户右键单击文件并选择名为“打印”的选项 不管怎样,在没有用户输入的情况下在Windows上打印本身就是一个独立的问题。出现的打印对话框通常是特定打印机驱动程序的一部分(而不是通用Windows打印机对话框),包括特定于该打印机的选项,如双面打印或选择特定纸盒等。许多驱动程序根本没有提供设置这些选项的编程方法,而那些确实需要特定于该驱动程序的代码的人。您可以通过编程方式指定常规选项(例如副本数),但任何额外功能都将被禁用或使用默认值
希望这有帮助没有公认的答案,但可能是这个?:没有公认的答案,但可能是这个?:谢谢马克,我会试试!谢谢马克,我会努力的!谢谢特雷弗的详细解释。是的,我的目标是在可以打开和打印的文件系统上打印任意文件;因此,我将尝试按照下面Mark列出的方向进行操作!谢谢特雷弗的详细解释。是的,我的目标是在可以打开和打印的文件系统上打印任意文件;因此,我将尝试按照下面Mark列出的方向进行操作!