小编Cai*_*nna的帖子

使用C#通过Windows服务进行PDF打印

我正在使用此代码在Windows服务中使用C#在本地打印机上打印PDF文件。

Process process = new Process();
PrinterSettings printerSettings = new PrinterSettings();

if (!string.IsNullOrWhiteSpace(basePrint))
   printerSettings.PrinterName = basePrint;

process.StartInfo.FileName = fileName;
process.StartInfo.Verb = "printto";
process.StartInfo.Arguments = "\"" + printerSettings.PrinterName + "\"";
process.Start();
process.WaitForInputIdle();
Run Code Online (Sandbox Code Playgroud)

当我设置用户运行Windows服务时,一切正常。

每当我在LocalSystem凭据下运行此代码时,都会出现错误“没有与该操作相关的应用程序”,这通常表示我没有准备好处理扩展名为.pdf的文件的程序。 。

我的问题是我确实有程序(Foxit Reader)来处理此操作,这一事实已得到证实,该代码可与服务上的特定用户一起使用,并且我可以通过右键单击将文件发送到打印机并选择打印选项。

在没有特定用户的情况下,是否可以更改以在服务中使用本地打印机进行打印?

c# printing pdf windows-services

7
推荐指数
1
解决办法
265
查看次数

标签 统计

c# ×1

pdf ×1

printing ×1

windows-services ×1