问题标签 [spooler]

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 投票
1 回答
102 浏览

java - JNA - 获取多个 OpenPrinter

我需要一种帮助!

我必须获取 PrintJob(最后一个)的所有信息。问题是:我公司的计算机每台 PC 有不止一台打印机。所以我需要在 Spooler 级别监控不止一台打印机。我已经尝试了很多逻辑,最后一个是:

我访问打印机:

但是我只能获得最后一个实例化的打印机......如果有任何方法可以通过 JNA 捕获用户选择的打印机,我仍然没有找到它。

所以我问:如何在不依赖打印机的情况下监控spooler?

0 投票
0 回答
707 浏览

c# - 重新打印假脱机文件,作业从队列中消失但不打印

几天来,我已经研究了如何在 C# 中重新打印假脱机文件,但我遇到了一个直接的问题。我找到了关于如何打印作业的不错示例和解释,但是打印作业不断从队列中消失并且打印机不打印。

建议的解决方案包括来自 Microsoft 的源代码:https: //support.microsoft.com/en-us/help/322091

和这个:

来自之前的 Stackoverflow 讨论: 我可以重新打印假脱机文件吗?

我都试过了,同样的问题出现了,打印作业出现在队列中,消失了,没有打印也没有打印错误发生。

我找到了一个体面的 Visual Basic 示例,它就像一个魅力,但宁愿避免不得不从我的 C# 应用程序中启动一个单独的 VB 应用程序,只是为了获取假脱机文件并将它们发送到另一台打印机。

VB 示例来自代码项目:https ://www.codeproject.com/Articles/10586/EMF-Printer-Spool-File-Viewer

我希望有人知道 C# 中的类似项目示例,或者为什么即使我尝试过的 C# 代码似乎可以工作,打印作业也会从队列中消失而不打印。

使用的打印机是“Epson TM-T88V Receipt”设备。

编辑:假脱机文件的格式是 EMF

0 投票
0 回答
909 浏览

c# - 打印假脱机 - 将文档保存到文件

我的用户从计算机上的不同打印机在 word、excel 或例如 ERP 系统等应用程序中打印文件(PDF、docx 等)。我需要将此文件复制到特定文件夹以将它们保存在存储中。

这是我当前的代码。

编辑

但是如何访问文档以将其保存到用户在打印时选择的文件格式的文件夹中?

开发语言不需要是 C# 或 C++。

0 投票
1 回答
1815 浏览

powershell - 检查每个假脱机队列的脚本,如果在作业中发现错误,则将其删除

我正在尝试在 PowerShell 上创建一个脚本,我需要单击,检查每个假脱机队列,并在其中检查作业是否正常,如果没有继续擦除有错误或被阻止的作业......到目前为止我无法做到这一点,只是在寻找打印机本身,所以我不知道在作业中进行脚本检查。

0 投票
2 回答
103 浏览

android - 用于打印通知/回调的 Android EventBus 库

EventBus 是否适合我要完成的任务?每当任何应用程序打印文档时,我都需要回调。

0 投票
1 回答
987 浏览

windows - Ghostscript 打印空白页

我正在尝试使用 ghostscript 库将 PDF 文件打印到 Windows 打印机。这是我的命令:

此命令有效,我尝试在虚拟打印机(Windows PDF 打印机)中打印并生成有效的 PDF。使用东芝通用打印机驱动程序 2 的真实打印机有一些问题,所有页面都打印完全空白(但页数是正确的)。我试图将打印机更改为另一个制造商并且它可以工作,所以我认为问题与 ghostscript 和这个特定的东芝驱动程序有关。我尝试更新此驱动程序,也尝试更改客户端,但发现仅针对某些客户端存在此问题。

我试图用这个命令输出一些调试数据

我得到了这个输出:

我不得不截断一些数据,因为它很长。我无法理解这个输出,也许它没有用。

这个测试是用一个非常简单的 PDF 进行的:只是一个用 MS Word 写的“测试”文本。我试图更改 PDF 文件,但所有文件的问题都是一样的。

我可以尝试什么来解决这个问题?

0 投票
0 回答
85 浏览

java - 后台打印程序在 Java 打印上消失

我想从 java 打印文本文件,但后台处理程序消失了。如果我直接从记事本打印它就可以了。(我也尝试了 pdf 和图像,但它在 java 中不起作用)

我注意到来自 java 的数据类型是 RAW,但来自记事本的数据类型是 nt emf 1008

这是我的代码:

0 投票
0 回答
333 浏览

windows - Redmon 以用户 SYSTEM 而不是当前用户身份启动应用程序

我正在使用 Redmon 启动一个 .Net 应用程序,该应用程序从标准输入读取数据,然后将其发送到 ghostscript 以生成一个 .pdf 文件,然后将所有内容包装在一个 .zip 文件中,然后将其上传到 ftp 服务器。

问题是,在某些 Windows 实现下,尤其是 Windows 10 Pro,启动的进程将以用户 SYSTEM 而不是当前用户身份运行。但是,似乎并非每次都如此。我已经看到它在 PC 上运行好几个星期了,突然之间肯定发生了一些变化,因为该进程开始以 SYSTEM 身份运行,这使得我的应用程序由于缺少注册表项和特定于用户的配置文件而失败。

在 Redmon 中,有一个名为“以用户身份运行”的设置已启用,但它并没有真正改变任何东西。该文档指出“这可能会或可能不会起作用”。

正如其他人所建议的那样,我想让应用程序以当前登录用户的身份分叉一个新进程,但我只知道如何通过提供用户名和用户密码来做到这一点,而我没有。我不想要求用户输入他的凭据。

所以基本上,我需要知道为什么Redmon(或 Windows spooler)在某些系统上更改为 SYSTEM 用户,如果这是 Windows 设置,以及是否有办法避免这种情况。或者,如果我至少可以让 SYSTEM 进程与桌面交互,那么这也是朝着正确方向迈出的一步。

0 投票
1 回答
5377 浏览

batch-file - 批处理文件重新启动后台处理程序并自动确认单独的服务

我正在尝试编写一个批处理文件以在我们的库中重新启动打印后台处理程序。我以为我可以逃脱

但是,它会询问 Y/N 我是否要重新启动“LPT:One Print Service”(lptclient),我需要它来自动确认是。

我将如何进行设置?

谢谢!

0 投票
1 回答
288 浏览

c# - 在 C# 中编辑 XPS 打印假脱机文件(.SPL 扩展名)(另存为 Zip 问题)

当有人打印文档(使用 XPS 打印路径)时,我想暂停打印作业并编辑 SPL(压缩 XPS 格式)文件。

如果我用 7zip 编辑文件并保存。如果我恢复文件打印的工作没有任何问题。

如果我使用 System.IO.Compression.ZipFile 类或 DotNetZip 库或 SevenZipSharp 库打开 SPL 文件并从 SPL 文件中提取文件并从 SPL 文件中删除该文件并将该文件再次添加到 SPL 文件中,它会生成非常好的 zip 容器。我将原始 SPL 文件和编辑过的 SPL 文件与 7zip、zipinfo、winrar 工具进行了比较,我没有发现任何区别。容器中的所有文件完全相同。我还检查了CRC。

当我打开、编辑和保存 zip 文件时,我不会更改任何关于压缩方法、压缩级别等的内容。正如我所说的,两个 zip 文件看起来完全一样,但如果我计算原始和编辑的 SPL 文件的 CRC,它们不是相同的。

在我编辑后(只是提取一个页面文件,从容器中删除它并再次将其添加到容器中)如果我尝试恢复打印作业,我会在事件查看器中看到有关 PrintProcessor 的错误并且我无法打印它。

编辑文件后我无法弄清楚发生了什么变化(不更改容器中的任何内容)。我要疯了。

是否有关于 SPL 文件的 Zip 格式的规范?