从非交互式进程(Windows服务,计划任务等)在WinServer 2008中打印
我正在尝试编写一个打印PDF的非交互式进程,我需要有关如何在
Windows Server 2008(和Vista / 7)上构建它的建议.
以前,我们有一个计划任务(设置为运行是否登录用户帐户),它将打印目录中的所有PDF. (单独的过程会将PDF移动到目录中.)在运行时,这将启动另一个进程(Adobe Reader或Foxit Reader)来打印PDF. Adobe Reader和Foxit Reader都具有静默打印功能,因此所有内容都将被发送到计划任务运行的用户的默认打印机.没有生成任何用户界面,所有文件都可以毫不费力地打印出来.这适用于Server 2003. 该过程不再适用于Server 2008.我不完全确定,但我相信这与Session 0 Isolation有关.我无法证明这一点.但是,我可以说当设置为“仅在用户登录时运行”时,该过程将作为计划任务运行.现在,虽然这有效,但它会强制用户登录到计算机,因此无法满足我的要求. (我的第一个线索是在this previous question.) 我无法确定如何在这方面取得进展.有没有办法满足我的要求? 几点说明: 我见过的每个解决方案似乎都在使用登录用户的凭据.请参阅上面链接的问题 – 列出的解决方案似乎是抓取登录用户的令牌并使用它来运行程序. (查看GetCurrentUserToken()过程 – 稍后在API调用CreateProcessAsUser()中使用返回的值.) 我现在的流程尽可能地生成,没有用户界面.我已经使用ProcMon验证了读取器进程(Adobe或Foxit)似乎正确打印并且打印驱动程序本身似乎有问题.这是通过尝试使用打印到文件驱动程序来支持的 – 打印到文件驱动程序以三个可见步骤运行,并且清楚地完成所有文件的第一个而不启动第二个.那么Session 0 Isolation如何影响打印机驱动程序?我不清楚这一点. (The best documentation I can find on the subject仅提及打印机驱动程序可能会受到影响,即使打印后台处理程序在会话0中运行.) 即使进程已选中“允许服务与桌面交互”,打印为Windows服务也无法正常工作. 添加了粗体文字以抵消引起炫目的文本墙效果. 解决方法
尝试使用福昕阅读器而不是Acrobat-Reader.
Foxit Reader在Windows 2008及更高版本中也支持无GUI /命令行执行! 也可以打印,但每次运行printjob时都必须在session0中添加(或检查)打印机. 如果您需要更多帮助,请再次询问.我已经构建了一个PowerShell脚本,该脚本在任务调度程序中运行,在福昕阅读器的帮助下打印pdf文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows7环境下的http-server的安装
- windows-server-2003 – 如何将Win2003服务器转换为Hyper-V
- 在Windows 2003服务器上git pull非常慢(不是ssh传输部分)
- 在简单的.NET Windows应用程序中将数据保存在何处?
- .net – 如何安排Windows服务的启动和停止?
- windows-server-2008 – 如何删除事件源窗口2008
- windows-phone-8.1 – Windows 10中的Windows Phone 8.1模拟
- IIS 6.0(Windows Server 2003)备份的最佳实践?
- Windows控制台和Qt Unicode文本
- windows – 为什么我们需要cmake?
- solr 7.7.0 windows 导入mysql数据库数据
- windows – 我可以查询DHCP服务器以获取MAC到IP地
- win7运行mapreduce报错Could not locate executa
- 如何让“tail -f”处理位于Windows共享上的文件
- windows-update – 如何防止wuauserv(Windows Up
- windows-server-2008 – 你能在Windows Server 2
- winapi – 如何将密钥笔划发送到窗口而不必使用W
- r6034 an application has made an......解决办法
- Windows Phone 8 – 无法在Windows Phone 8上安装
- NUnit与Windows Phone 7