问题标签 [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++ - AddJob + SetPrinter:是否可以设置 dmCopies 并生效?
我需要的是再次重新打印假脱机文件(不是作业*),设置新的份数。
到目前为止,尝试了以下尝试:
- OpenPrinter、AddJob、SetJob(使用 JOB_INFO_2->pDevMode)
- OpenPrinter、SetPrinter、DocumentProperties、AddJob、SetJob
- OpenPrinter、StartDocPrinter、StartPagePrinter、WritePrinter
许多 ClosePrinter 组合和许多 SetPrinter..DocumentProperties 部分的解决方法 - 没有成功。
更改打印机(HP 到 Brother),重新启动后台处理程序和 PC - 无效。
在打印作业列表中可以看到,设置了份数。但是,我从打印机中得到的是一份。
此外,在所有相关情况下pDevMode->dmFields
都设置为。|= DM_COPIES
那么现在,是否有任何有效的途径来设置副本数量,可能还有其他参数(整理)并打印原始 PCL/PS 文档,而无需使用 GDI 或多次打印作业?
c++ - 如何在 wxwidgets 中更改与 wxPrintout 关联的 Print Spooler 文件名/文档名
通过使用我选择的名称重载 wxPrintout 构造函数,我设法将我的文件名附加到我的打印输出中。
在我的代码中:
但是在打印以另存为 PDF 时,在文件名对话框中,它显示为“打印心率”。
如何摆脱名称前添加的“打印”甚至更改它?
c++ - windows下的热敏打印机驱动
我是 Windows 驱动程序开发的新手,现在我正在为我们自己的热敏打印机开发驱动程序。因此,从 MSDN(WDK 源)学习一些打印机驱动程序基础知识。现在我在 Windows 中使用 Generic TEXT/ONLY 模式进行打印。但我需要将我的打印机与不同的应用程序(如(word、pdf 和来自浏览器)集成,因为 GENERIC/TEXT ONLY 模式无济于事,所以我需要创建一个自己的驱动程序。每个打印机驱动程序都必须有
1.GPD
2.打印机图形DLL。
3.属性.DLL
我对此有些怀疑。我从 WDK 源中找到了一些 dll
- 是否可以将那个 dll 用于我的打印机。
- 那些dll的打印机是特定的。
- 如何让我的打印机支持各种打印机命令语言?
- 如何使我的驱动程序与 xp ,7,8 等多个 Windows 版本一起使用?
如果您对打印机驱动程序开发有任何经验,可以与我分享您的知识。
c# - 使用 Epson Thermal 打印机将打印件发送到 windows spooler
我有一个基于 c# Visual Studio 2012 构建的 POS 应用程序。
POS 解决方案基于从消费者到受益人的货币交易。我的 POS 解决方案为发生的每笔交易提供打印输出。我使用的是 EPSON TM-T81 热敏打印机。正在使用用于 c# 的 EPSON api。现在我将打印命令作为 RAW 数据直接发送到打印机。但我想使用 windows spooler 发送打印命令。
EPSON 提供的 api 只提供 RAW 打印的代码。有一个异步打印功能,但没有给出所需的结果。我的 c# 应用程序基于主服务器和几个执行货币交易的手持设备之间的套接字通信。为此,我正在使用异步套接字服务器。到这部分没有问题,但如果同时发生 2 笔交易,打印机只打印一张收据。我在两次打印之间放置了一个 sleep() 大约 2 秒,但这仍然不是方法,以后会引起问题。
我使用 c# 发送打印命令的代码:
我早些时候初始化打印机:
我想从直接 RAW 打印转变为在 c# 上使用 windows spooler。
我看了一下windows spooler api: Windows Spooler API 但不知道如何实现我的格式和使用相同的打印机。
我将不胜感激提供的任何帮助。
pdf - 如何以编程方式从 c# 或命令行中的 word/doc/rtf 文件获取 pdf 文件
我正在尝试以编程方式(C# 或命令行)从 word/doc/rtf 文件中获取 pdf 文件。我能够从命令行使用写字板中的打印命令成功打印 word/rtf/doc 文件:"write.exe /pt TextFileName PrinterName [ DriverName [ PortName ] ]"
. 我还找到了一个将 ps 文件转换为 pdf 的实用程序。但是如何在打印命令之后获得 ps 格式。以及如何设置虚拟打印机来获取ps文件?
或者还有其他方法吗?
c# - 阻止用户打印
我在 .net 中创建了一个应用程序,通过使用以下参考中的 DLL 来监视打印机中的作业:
我的问题是:例如每天打印 5 次后,我如何才能延迟或阻止用户打印?
知道打印作业将保存在数据库中。
我很感激任何帮助。
c# - 从 USB 打印机记录原始数据并使用打印后台处理程序
我知道以前在这里和其他一些地方也有人问过类似的问题。但我想问一些关于基本概念的问题。
所以,我被分配了一个项目,我必须制作一个“usb logger”。该项目的主要功能是在记录仪软件上捕获从 PC 传输到 USB 打印机的数据,以便将每个打印输出的原始数据保存到文件中以进行记录和分析。
有人告诉我,我可以使用像usbpcap这样的第三方工具,但我建议我们为什么不直接从打印后台处理程序获取数据。据我所知,打印后台处理程序维护要打印的数据队列。
在我开始从事这个项目之前,我想问几个基本问题
1)这种情况下的原始数据是什么?
2)我可以通过直接从后台处理程序获得这一点还是有其他方法。
3) 哪一个需要更多的 PC 资源与 USB 端口或后台处理程序通信?
我只需要完全了解领域。(我将使用 C# 开发这个项目)
谢谢
c# - 使用虚拟打印机而不是真实打印机进行开发
我想开发一个与打印后台处理程序通信的应用程序。该应用程序位于.Net 平台上。
我想访问打印文档的原始数据,但我想使用虚拟打印机来完成这项工作。但我无法从虚拟打印机获取数据,也无法在打印作业开始时引发事件。我检查了 Windows 系统文件,找不到 xps 打印机的假脱机程序。
我想问一下虚拟打印机有spooler吗?如果是,我该如何访问它,因为我在 Windows 文件中找不到它的假脱机程序?
我可以使用虚拟打印机来开发适用于真实打印机的应用程序吗?
任何帮助将不胜感激谢谢
delphi - delphi中的打印后台处理程序api
我正在尝试列出打印机上的作业。我尝试第一次调用 enumjobs 以获取我需要在第二次调用中作为参数传递的缓冲区的大小(正如 microsoft 文档中所建议的那样)但是,在调用 enumjobs 时,我不断收到描述符无效错误枚举作业 API。
他妈的……我做错了吗?!
delphi - 让进程默认使用打印机
我需要按特定顺序打印文档。为此,我使用 shellExecute api 打印文档。
有些文档打印起来可能更快,所以我必须等待文档进入后台处理程序,然后再调用另一个 shellExecute。
为此,我使用 FindFirstPrinterChangeNotification、waitForSingleObject 和 FindNextPrinterChangeNotification。
它工作正常。但是,如果由 shellExecute 启动的应用程序已经打开,则它可能会在 Windows 默认打印机的另一台打印机上打印。(如果默认打印机已更改)
我可以观看所有打印机,但是,我更想知道哪个打印机使用启动的过程并观看这台打印机。
使用 shellExecuteEx,我可以得到这个 api 启动的进程的句柄。
那么,有没有办法知道进程默认使用的打印机?