问题标签 [printqueue]

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.

0 投票
0 回答
134 浏览

vb.net - 将可观察集合绑定到打印机队列

我正在尝试使用 Observable Collection 监视打印队列,但是当将项目添加到打印机队列时,它不会更新。我错过了什么吗?到目前为止,这是我的代码。

该代码用于将所有内容添加到队列中的可观察集合中。这些按钮用于添加和删除项目。实际的打印队列不会更新集合

0 投票
1 回答
588 浏览

c# - PrintSystemJobInfo.TimeJobSubmitted 报告错误时间?

TimeJobSubmitted属性似乎没有返回正确时区的时间。当我手动查看 Windows 中的打印队列时,我可以看到作业的时间是正确的。(示例:显示在 3:30 提交的 Job1);

问题是在PrintJobInfoCollection使用TimeJobSubmitted视窗。(右键单击打印机并单击“查看正在打印的内容”以查看 Windows 中的打印队列。

这是我在代码中查看打印队列的方式。

在 c# 中迭代​​打印作业时如何获得正确的 TimeJobSubmitted?

0 投票
2 回答
3019 浏览

c# - 通过 PrintServer 将原始 ZPL 发送到 Zebra 打印机不起作用

问题

我正在尝试将 zpl RAW 发送到打印服务器。有一台 Zebra ZM400 打印机。我可以获得 PrintServer、PrintQueue 对象。另外,我可以添加一个工作,并写入它的 JobStream。

我检查了打印队列(在 Windows 上),文档已发送。打印机数据指示灯闪烁 1/2 秒。

进步

这是我打印到打印服务器的代码:

问题

当我检查打印队列(在 Windows 上)时,文档有 0 个字节。然后,打印机什么也不打印。

我错过了一些特殊的字符吗?或者,我是否发送了错误的原始数据?

0 投票
1 回答
766 浏览

c# - PrintQueue.Refresh 不显示打印机的状态

我需要运行服务器 X 的 Windows 服务以显示所有打印机的状态:缺纸、无碳粉等。该服务正在机器上运行,但当然并非所有打印机都安装在其上。即使打印机安装在机器上,我们也不知道打印机的状态!

我唯一能做的就是取出纸张,打印一张测试页(记事本),现在我可以看到我缺少下面代码的纸张,但正如你所想的那样,这是不可行的:我不想每 10 分钟左右向网络的每台打印机发送一个测试页!

我尝试查询 PrintQueue.Refresh 但状态未更新,我看不到打印机托盘已打开(或缺少纸张,或没有墨粉,无论我对打印机做什么。)顺便说一句,Win32_printer 不显示我更好的结果。

笔记:

  1. MonitoringWS 是可以访问数据库的 Web 服务。
  2. Printers 是我们要查询的打印机列表。

这是我尝试做的。

0 投票
1 回答
165 浏览

c# - PrintQueue 或 PrintTicket 是否有任何属性或方法来确定所选打印机是虚拟打印机?

PrintQueue 或 PrintTicket 是否有任何属性或方法来确定所选打印机是虚拟打印机?例如,该进程应限制 M/S Xps Document Writer、Fax、Send To OneNote、PDF 打印机等。只有实际打印机应从 LocalPrintServer 中过滤掉并动态提供列表。

0 投票
0 回答
401 浏览

c# - 打印机作业 - 已暂停,但仍在打印

我正在尝试在打印文档后暂停打印作业。但问题是打印机仍然会继续,即使它说暂停。

我有一个事件日志侦听器,可以检查 Microsoft-Windows-PrintService/Operational 日志,一旦检测到事件 id 800 或 Spooling Job id#,我的代码就会触发。

这是我暂停工作的代码,它暂停但即使它说暂停,文档仍在打印。

在 EventID 308 上,它说我已成功暂停

文档 29,打印文档归 --- 已在 HP DeskJet 1110 系列上暂停。在文档所有者恢复打印作业之前,不会打印此文档。无需用户操作。

谁能帮助我如何防止打印机开始打印?

编辑:它会暂停尺寸较大或多页的作业,否则即使暂停也会直接进行打印。 截屏

0 投票
0 回答
151 浏览

java - Java PDF Box Print 第一次排长队

我有一个小型 Java 程序,在其中生成 Pdf,然后使用 PDF Box 工具和 Java 打印机作业打印 PDF。我用的是兄弟标签打印机。

当我按下按钮执行打印方法时,窗口打开打印机队列并且打印作业正在进行中,但注意打印。我认为原因是打印机作业中的文件为 0kb,而 windows 队列中的 pages 列是“n/a”。

几分钟后,队列中的打印作业现在具有特定大小,打印机开始打印。当我第二次执行打印方法时,windows打印队列中的打印作业立即具有特定大小,打印机直接开始打印。

所以我想知道在第一次打印时出现这种延迟的原因是什么。这一定是Java问题,因为如果我直接从PDF阅读器打印,第一次没有延迟。

这是我的Java代码:

谢谢您的帮助

问候

塞缪尔

0 投票
1 回答
324 浏览

.net - WPF 打印:无法获得打印机支持的 ​​PageMediaSize

我正在开发 WPF 应用程序并在打印中遇到一些问题。PrintQueue.GetPrintCapabilities().PageMediaSizeCapability集合没有打印机支持的所有 PageMediaSize。我正在使用 hp officejet 7610 驱动程序(支持 A3 PageMediaSize)。但是 PrintQueue.GetPrintCapabilities().PageMediaSizeCapability 集合没有 A3 PageMediaSize。因此,打印机使用其默认/选定的 PageMediaSize 打印页面。

例如,我有一个尺寸为 A3 (1122.5 * 1587.4) 的页面。我试图在 A3 纸 (1122.5 * 1587.4) 中打印页面,但仅打印区域 (796.8 * 1123.2)。

但是,我尝试为 PrintTicket 设置自定义 PageMediaSize,如下所示。

(或者)

(或者)

尝试了所有其他与 A3 相关的 PageMediaSize(ISOA3、ISOA3Extra、ISOA3Rotated、OtherMetricA3Plus)。不幸的是,这不起作用。打印机忽略了我尝试设置的自定义纸张尺寸。我试过几个打印机驱动程序,结果是一样的。

另外,我尝试了 PrintQueue.MergeAndValidatePrintTicket,如下所示,

不幸的是,这也行不通。

最后,问题是如何将自定义PageMediaSize设置为PrintTicket(或)如何获取打印机支持的所有PageMediaSize?有人可以建议我们如何达到预期的结果吗?

0 投票
0 回答
40 浏览

c# - 当我刷新一个实例时,是否会刷新每个 PrintQueue 实例(同一台打印机的)?

当我在 C# 中有两个实例时PrintQueue,同一台打印机。一个是我在调用 .refresh() 之前创建的,另一个是在调用 .refresh() 之后创建的。我把那些PrintQueues 放在一个 ArrayList 中。并旋转它们。但是我得到了不同的结果,如下所示:

一旦我取消暂停打印机,我在 tempOld.IsPaused 处得到一个真值,在 tempNew.IsPaused 处得到一个假值;

但是当我再次暂停打印机时,我得到一个 true 和 tempOld.IsPaused 以及一个 true 和 TempNew.IsPaused?

那么 refresh() 函数是否也适用于我是否遗漏了什么?

0 投票
1 回答
46 浏览

wpf - 获取 PrintTicket 时 DllHost.exe 内存泄漏

我有一个在 windows10(64 位环境)上运行的 x86 应用程序。该应用程序的一个功能是生成大量报告,因此涉及大量打印。但是,我注意到每次我尝试在打印队列上调用 DefaultPrintTicket 时,dllhost 进程(COM Surrogate)都会在内存中增长。

我设法隔离了负责的代码并将其移至测试 WPF 应用程序。单击按钮时,将触发此代码:

打印队列无关紧要,因为我尝试了所有这些并且问题仍然存在。我知道这可能与以下内容重复:PrintTicket DllHost.exe Memory Climbs

但是,那里提供的解决方案不起作用,因为 PrintTicked 不是 IDisposable 对象。我还尝试在注册表中进行一些调整(即找到 AppId AA0B85DA-FDDF-4272-8D1D-FF9B966D75B0 并删除“AccessPermission”、“LaunchPermission”和“RunAs”),但没有结果。

我无法将应用程序重建为 AnyCpu,并且我想避免创建单独的 64 位进程仅用于打印,因为很难将在一个应用程序中生成的报告发送到另一个应用程序。

非常感谢任何建议。