问题标签 [print-spooler-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 无法获得状态为 JOB_STATUS_DELETED 的打印作业通知
我想在打印作业完成或删除时收到通知。现在我看到通知机制提供了 JOB_STATUS_DELETING,但无法获得 JOB_STATUS_DELETED 状态。
我在这里找到了类似的东西,但它并没有解决我的问题。
我正在做接下来的事情:
当我删除作业时,JOB_NOTIFY_FIELD_STATUS 仅通过 DELETING,没有任何进一步的状态通知,但我确实需要获得 DELETED 状态。我究竟做错了什么?
poller 方法的完整代码在这里: void Poll(JobTracker* owner, CServiceBase* service) { HANDLE hPrinter = NULL; 处理 hNotification;if (!OpenPrinter(owner -> GetPrinterName(), &hPrinter, NULL)) 返回;
}
c++ - 如何获取打印机类别(类型)?
我正在尝试获取可以在打印机属性窗口中看到的打印机类别,例如“传真”或“打印机”。
我发现的只是我可以从 DRIVER_INFO_8 中得到它,
但 pInfo->dwDriverAttribute 不显示 PRINTER_DRIVER_CATEGORY_FAX,有
所以我有点困惑 - 我怎样才能获得打印机类型?
c# - EnumJobs 返回与 Marshal.SizeOF 不同的 JOB_INFO_1 大小
我从托管代码 (C#) 调用 Win32 函数 EnumJobs ( http://msdn.microsoft.com/en-us/library/windows/desktop/dd162625(v=vs.85).aspx )。
我指定级别 1 来接收 JOB_INFO_1 但我遇到的问题是上述函数返回 nBytesNeeded 作为每个结构 240 而Marshal.SizeOf(typeof(JOB_INFO_1))
当我运行时是 64 字节导致内存异常Marshal.PtrToStructure
。手动计算结构的字节数为 64,所以我对为什么从函数接收 240 字节结构有点茫然,任何见解都将不胜感激。
c++ - When job is printed, last job status is JOB_STATUS_RETAINED, instead of JOB_STATUS_PRINTED
I poll printer queue on any change like JOB_CHANGE, and if I see that some job disappeared, I report to server that job has been printed or deleted, according to job last status.
Problem is that printer Lexmark X945e returned last job status only JOB_STATUS_RETAINED, but no JOB_STATUS_DELETED or JOB_STATUS_PRINTED.
What does that mean? Can I use retained status to say that job was printed?
c# - 在 C# 中使用 PrintSpoolerAPI 函数 SetForm()
我正在开发要在其中打印自定义文档的 Windows 窗体应用程序。此自定义文档具有自定义大小,我必须使用 C# 代码设置默认打印页面大小。
我做了一些谷歌搜索并遇到了PrintSpoolerAPI
。我找到的代码会将自定义表单/页面使用AddForm()
方法添加到可用页面列表以进行打印。我还想将这个新添加的页面设置为默认打印页面。
我试着在代码中写下这一行
它返回一个true
值,但未设置默认打印页面。
在这方面有什么dmPaperSize
作用吗?
这是完整的代码:
}
需要帮助来解决这个问题。
winapi - 通过 Winspool 打印
我正在尝试为网站建立一种打印服务,以便与之通信并将可打印文档发送到(pdf、html、excel)。我决定去。
我在下面创建了一个简单的程序。在某些 PC 上它可以工作 (Windows 7) 在其他 PC (Windows 8) 上它不工作(对)。当它不起作用时,该作业在打印队列中可见不到一秒钟,然后消失。该代码不输出任何错误。我在 Windows 事件日志中找不到任何内容。
我还尝试了我可以在网上找到的 c++ 中的 RawPrinter 示例,但它显示了相同的行为。
有谁知道我做错了什么?:(
print-spooler-api - 从 spl 文件中获取副本数
我使用下面的代码从 spl 文件中获取副本数。对于 windows 2008 服务器生成的 spl 文件,没有 SpoolerRecordTypes.SRT_DEVMODE。
c# - C#打印如何获取副本数
我正在尝试制作打印管理服务器。我有 1 台打印机,与其他 4 人共享。
但我需要获取每个打印作业的副本数(例如 user2 制作 3 份相同的打印作业)
我需要在打印前查看份数。请帮我
python - 结合打印机后台处理程序文件以更好地利用纸张空间
问题:我每天使用 FedEx 的 ShipRush 程序批量打印 Ebay/Amazon 每日订单的装箱单。此服务按原样自动执行很多操作,但不会使用太多打印订单的实际纸张。每个订单占用的空间不到标准 8.5x11" 打印纸提供的总空间的 1/3。
我的任务是每天处理几十个订单,所以你可以想象我已经这样做了几个月/几年的纸张浪费量(更不用说我不是唯一一个使用 FedEx 软件的人)。我估计我工作的公司每年会浪费6400张纸。
问题/解决方案:我想知道,这个社区可以提供任何意见来解决这个问题或解决这个问题吗?这是我的设想。我知道一个 GitHub 存储库遇到了关于图像的类似问题(Image - Stitcher)后台打印程序缓存在一页上打印,而不是 3 个单独的页面。考虑到打印后台处理程序的性质,这甚至可能吗?或者文档的缓存方式?
注意:我不是在找人为我制作脚本,我对 Python 和其他 Windows API 非常熟悉。我很好奇,是否有可能在将打印后台处理程序发送到打印机之前/期间更改此级别的打印后台处理程序?如果是这样,是否有特定的工具/命令/功能可以为我指明正确的方向?
vba - 检查打印后台处理程序状态(运行与否)
我需要检测 Print Spooler 服务是否正在运行。我可以找到 VB.NET 的各种资源(例如,ServiceProcess.ServiceController
用于实际操作服务),但 VB6 没有。
有什么方法可以检查 Print Spooler 是否在 VB6 中运行?理想情况下开始它,但没有它我可以生存。