gpt4 book ai didi

php - 在网络打印机上无人值守打印文档

转载 作者:可可西里 更新时间:2023-10-31 23:09:23 26 4
gpt4 key购买 nike

我们正在尝试以自动方式将主文档(在自动邮件合并之后)发送到我们的一台网络打印机,该打印机同时分配了网络名称和内部 IP。

但这是真正棘手的部分。当我们从工作站打印文档时,我们确实会收到“工作会计”对话框的提示,要求我们在打印文档之前输入文档的项目代码,这样财务部门就可以做所有他们喜欢的会计和计费工作。

那么,我们如何以编程方式将文档 (docx) 与Job Accounting 参数 一起发送到网络打印机?

我不确定在打印作业时会计数据有多常见,因为这是我见过的第一份作业。

以下是重要的细节:

  • PHP 5(首选)
  • Windows Server(我相信是 2003)
  • Kyocera KM-4050 打印机(带静态 IP)
  • 一些使用 C++ 和 Visual Basic 的经验

我们已经进行了一些研究,但尚未在野外发现太多可行的解决方案,经过一些讨论后,我们并不完全确定从哪里开始。不幸的是,似乎没有任何类型的 API 是我们可以插入的。

----- 解决方案 -----

我的团队已决定实现调用可执行文件的代码以将每个文档转换为 PCL,然后获取生成的 PCL 并在其前面加上

@PJL SET KJOBMANAGERCODE="[project code here]"

然后我们将获取生成的文件并将其写入打印机假脱机,打印机将在那里处理它并开始每个作业。

谢谢大家的帮助。每个答案都对我们实现计划的某个部分产生了很大的启发。

最佳答案

我会做的是:

  • 创建一个 C++/VB 脚本,它将完成艰苦的工作(抱歉,我没有帮助)
    • 让它查看工作目录/接受 CLI 参数
  • 使服务器 PHP 将文件连同一些信息保存到某个目录中
    • 说保存一个 1.txt(这个数字是你的内部计数器并且需要是唯一的并且每个新的都必须比之前的大)文件到/path/infos 里面有这样的东西:1 c:\temp\文件打印.docx
  • VB 脚本将查看该目录并读取第一个文件(编号最小的文件)
    • 并看到它用于 Job Accounting ID = 1
    • 要打印的文件在 c:\temp\filetoprint.docx 中
    • 并打印它:)
    • 删除文件(!重要)

现在一切都取决于您的 VB/C++ 编程技能 :) 顺便说一句:另一个选项不是将文件保存到目录,您可以对 VBScript/C++ 使用 exec() 和 CLI 参数。但基于文件的解决方案更健壮,因为它是一种自然队列,而且它还能抵抗打印程序故障——作业仅在完成时才被删除。如果打印作业失败,它将在下次尝试。可以使用数据库来类比文件,但我不确定从 VB/C++ 连接到 DB 有多容易,所以文件系统是最好的后备 ;)

PHP 部分只有一个指向脚本的链接,该脚本会将 JA ID 和文件名保存到/path/infos/中的文件

这是一种变通解决方案,但我认为不值得在纯 PHP(使用 PHP 扩展)中执行此操作。

关于php - 在网络打印机上无人值守打印文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com