我在IIS上运行ASP Web API(Windows server 2008 r2)。 该服务器有两台可通过网络使用的打印机(相同型号,kyocera fs-4200)。
我需要按代码选择打印机并双面打印PDF文档(dúplex)。
答案 0 :(得分:0)
您是否可以在Windows Server中设置要打印的打印机,以便默认打印双面打印?如果是这样,看起来Kyocera FS-4200DN将直接接受PDF文件进行打印,因此您可以通过命令行进程直接复制它:
copy /b filename.pdf port:
其中port:是安装在系统上时分配给打印机的Windows端口。
或者,看起来打印机可能使用名为PRESCRIBE的作业定义语言,其中支持双工命令。可以预置PRESCRIBE命令以启用对PDF数据的双工,然后直接发送PRESCRIBE + PDF数据流。 https://www.kyoceradocumentsolutions.fr/index/document_solutions/outputmanagement/prescribe.-contextmargin-99204-contextmargingeneralcontextteaserGC-87757-File.cpsdownload.tmp/Manuel%20des%20commandes%20Prescribe.PDF表明可以使用DUPX命令。我没有Kyocera打印机可以试试这个,所以我不能肯定它会起作用。
答案 1 :(得分:-1)
你可以这样做:
<option value=\"1\">blabla1</option>
<option selected=\"\" value=\"2\">blabla2</option>
<option value=\"3\">blabla3</option>
或者创建一个流并通过Socket填充它
File.Copy(yourPDFFile, @"\\yourservernname\yourprintername", true);
后者更冗长,但似乎效果更好。
参考此处:Send text file directly to network printer
虽然您在ASP.NET中运行权限可能存在问题,但您可能需要相应地进行调整。