问题标签 [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.
android - Print Spooler 已在 PrintManager 中停止
我正在使用 PrintManager(加载 webview 时)如下:
单击保存按钮时,HTML 将保存为 pdf。当此过程非常快完成时,即在加载预览时,会出现以下异常“不幸的是,后台打印程序已停止”
解决或捕获此异常的任何建议
printer-control-language - 在 windows 中解析和显示 ESC/POS 文件
我正在尝试解析由 POS 打印机驱动程序创建的 ESC/POS 文件并将其显示在 Windows 上。不幸的是,我找不到任何解析器/渲染器,我已经研究了 2 周。
所有现有的解决方案都是为相反的方式构建的,这意味着 - 用于创建 ESC/POS 文件,但我需要相反的方向,即采用现有的 ESC/POS 文件并将其显示在我的 Windows 应用程序中。
有谁知道如何做到这一点?谢谢!
c# - 如何从 C# 注册`IPrintAsyncNotifyCallback`
我正在尝试从 v3 打印机驱动程序或端口监视器接收回调,但想从 C# 接收回调。 文档说我们应该能够只传递一个实现IPrintAsyncNotifyCallback
to的对象RegisterForPrintAsyncNotifications
,并且在 C++ 中有一个示例,但是我找不到能够在 C# 中实现这个接口的 TLB。
此外,RegisterForPrintAsyncNotifications
似乎没有从文档 ( Spoolss.dll
) 中命名的 dll 导出。
IPrintAsyncNotifyCallback
如果没有 TLB ,我该如何实现?如何定位RegisterForPrintAsyncNotifications
?
java - How to programmatically achieve editing of the spool file header of the normal windows print queue 'spool file' before it is sent to the printer?
How to intercept and change the windows 7 print spool file (.SPL) to add some additional information in the header like '@PJL SET NAME="PainPoint" ' before this file is sent to the printer during the execution of the print job?
The .SPL file partial extract from top is :
c++ - 如何在 Windows 上以编程方式获取给定制造商的所有打印机型号?
我正在尝试枚举给定制造商的打印机型号。Windows 的“添加打印机”以某种方式能够做到这一点 - 即,当在左侧列表中选择制造商时,右侧会显示打印机型号列表。
我熟悉 EnumPrinters 和 EnumPrinterDrivers API,但相关结构(PRINTER_INFO* 和 DRIVER_INFO*)都不包含打印机型号。DRIVER_INFO* 确实包含制造商的名称,但我不确定在哪里可以找到相应驱动程序支持的打印机型号。
任何关于在线文档的建议和指针将不胜感激。谢谢。
c# - 捕获打印机作业数据流 - Windows
我将混合使用网络打印机和本地打印机,并且需要捕获发送到本地或网络打印机的实际打印数据。
我查看了 print spooler api,其中一些看起来很有希望,但似乎需要获取 jobID 并找到相应的文件(如果您启用保存到文件以进行打印)。
我还看到了一个名为 redmon 的应用程序,它可以用于我的目的,但我希望编写一个独特的 c# 应用程序来获取数据并处理它。
我的目标:收集从我无法访问的应用程序发送的打印数据。然后我需要处理这些数据,并可能将其存储起来以备后用。我显然更喜欢通过 print spooler api 调用来收集它,但似乎这不是内置的功能。任何帮助,将不胜感激。
c++ - 在 printspooler API 中使用 SetJob 函数
我正在使用我发现的 getJobs 函数来获取我的打印机(不是打印设备)中的当前打印作业。到目前为止,我可以知道我的虚拟打印机队列中有多少打印作业,并且我有来自 JOB_INFO_ strucs 的信息要处理,但我正在尝试使用 SetJob() 从打印队列中删除作业(存储后我想要的信息)。有了这个我得到一个错误:
我的问题是,我到底做错了什么?我尝试将 0 作为级别并将 pJob 设置为 NULL,然后我没有收到错误,但打印作业仍在队列中。我似乎找不到任何其他有解释的例子。
非常感谢您的帮助。
编辑:这个问题最终成为一个简单的错误,我告诉 SetJob 错误的结构类型。
c++ - 将打印作业重新路由到另一个打印设备
我正在尝试使用 printspoolerapi 进行打印作业并将其重新路由到另一台打印机。到目前为止,我相信我已经通过 enumjobs 捕获了所需的信息,但是当将打印作业设置到另一台打印机时,我会打印出一张空纸。
所以很明显我没有发送文件或其内容,只是数据类型和打印作业名称。
据我所知,我需要获取文件并将其发送到 WritePrint?我相信应该使用 .spl 文件或实际文件本身。(如果可以的话,使用 AddJob 获取实际文件)
具体来说,以前有没有人成功地做到过?我需要看一个例子或类似的东西。我已经看了一遍,并没有真正找到可以给我一个例子的东西。
java - JNA - 获取多个 OpenPrinter
我需要一种帮助!
我必须获取 PrintJob(最后一个)的所有信息。问题是:我公司的计算机每台 PC 有不止一台打印机。所以我需要在 Spooler 级别监控不止一台打印机。我已经尝试了很多逻辑,最后一个是:
我访问打印机:
但是我只能获得最后一个实例化的打印机......如果有任何方法可以通过 JNA 捕获用户选择的打印机,我仍然没有找到它。
所以我问:如何在不依赖打印机的情况下监控spooler?