×

【打印解决方案】客户要求,打印文件后,需要自动保存一份,这个需求怎么实现? ----未实现!

hqy hqy 发表于2025-12-01 23:35:34 浏览14 评论0

抢沙发发表评论

公司打印的内容,需要备份一份,对于这个需求该怎么实现呢?

图片
解决过程

对于上面的客户需求,查看资料,说papercut NG可以实现这个功能,于是我就安装测试了一下。

papercut功能,每当用户打印一个文档时,PaperCut 会自动将该打印作业的内容(通常是 PDF 格式)保存到服务器上的一个指定位置,以备后续审计、复查或存档。

下载完papercut NG软件之后,开始安装。

图片
下一步。
图片
下一步。
图片
下一步。
图片
选择标准安装。
图片
还有几个其它选项。
图片
下一步。
图片
安装。
图片
正在安装中...
图片
安装完成。
图片
安装完成之后,就自动会跳转到parperCut NG的本地web服务。
图片
配置用户名和密码,可以看到现在登录的是本地9191端口。
图片
配置彩色和黑白打印机多少钱一张。
图片
导入本地所有用户。
图片
完成。
图片
再次重新登录。
图片
这时就可以看到,已经可以登录到papercut NG web界面。
图片
在打印机列表中,可以看到,本地安装paperCut NG这台电脑,里面安装的这些打印机。
图片
我先选择本地的brother 5450DN打印机测试。
图片
于是我先找个文档打印一下测试一下。
图片
选择brother 5450dn打印机。
图片

步骤 1:启用并配置存档(归档)设置

1.  以管理员身份登录 PaperCut NG 的 Web 管理后台(https://您的服务器地址:9191)。

图片

2.  导航到选项---编辑配置(高级的)。

图片

3.  在左侧的“所有选项”搜索框中,输入archive来快速定位相关设置。

图片
图片

我们需要配置以下几个关键选项。

archive.enabled总开关设置为true以启用打印存档功能。

图片
配置完成true之后,一定要点后面的更新。
图片

然后,我们再设置archive.path存档文件存储路径设置一个服务器上的本地路径,例如 D:\PaperCut-Archive。确保此文件夹存在且 PaperCut 服务账户具有读写权限。 

先在D盘创建PaperCut-Archive文件夹。

图片
图片
发现没有archive.path选项,那就需要自己创建这个参数。

archive.path

图片

archive.file-name-forma存档文件的命名规则这是一个非常强大的选项,允许你自定义文件名。例如:<br>`{user}{jobid}{date-created-yyyy-MM-dd-HHmmss}.pdf` <br>这会生成类似 `zhangsan12345_2024-05-27-143052.pdf` 的文件名。你可以使用很多变量,如 `{user}`, `{printer}`, `{client-computer}`, `{jobid}` 等。 |

图片
都配置完成了。
图片

archive.format  存档文件的格式推荐设置为 pdf。这样无论原作业是什么格式,存档都会是通用的 PDF 文件。

图片

配置完成之后,我就开始测试。测试从任意一台计算机打印一个文档(最好是包含文字和图片的文档,以便验证内容)。

打印完成后,前往我在 archive.path中设置的目录,检查是否生成了一个新的 PDF 文件。

我们再确定一下,刚才我们配置的几个参数。

1.  开启总开关 (archive.enabled = true)。

2.  设置存储路径 (archive.path)。

3.  定义文件命名规则 (archive.file-name-format)。

4.  (可选但推荐)配置选择性存档策略,通过规则、用户组或打印机设置来精细化控制。

图片
在打印备份中,可以看到,已经启动了打印备份。
图片
我打了一个测试文档,发现这个路径下面,根本没有备份的文件。
图片
那我再来系统地排查一下是什么问题?

在 Windows 上:

1.找到存档文件夹D:\PaperCut-Archive。

2.右键 -> 属性 -> 安全选项卡。

3.检查 Users组或 NETWORK SERVICE或 SYSTEM账户是否至少有 “修改”和“写入”权限。为了快速测试,您可以临时给Everyone组“完全控制”权限,如果此时归档成功了,就说明是权限问题,然后再将其修改为更安全的权限。

图片

 4.验证打印流程是否经过 PaperCut,打印作业可能“绕过”了 PaperCut 的监控。

到paperCut NG界面查找问题。

1.  在 PaperCut 管理后台,进入报告 -> 最近打印作业。

2.  我再打印一次。

3.  刷新此页面。

我发现,Brother-5450打印机,根本没有打印日志,那就奇怪了。

图片

请对照这个清单,确保每一项都已完成,后来又有的资料说,要配置如下两个参数,我又新增加了一下。

content.collect已设为true

content.collect.print-jobs已设为true

图片

archive.enabled已设为true。

archive.path路径存在且拼写正确。

PaperCut 服务账户对archive.path有写入权限。

打印作业出现在报告最近打印作业中,没有打印记录。

打印作业的 “大小” 列不为0 KB(表示内容已被捕获)

根据以上配置,我发现,我这台打印机,根本没有被捕获。

难道是这些参数配置完成之后,parpercut服务要重启,把它重启一下。

重启 PaperCut 打印提供程序服务:

按 Win + R,输入services.msc

找到 "PaperCut Print Provider"服务

右键选择 "重启"

图片
图片
重启完成之后,在D盘的papercut-archive中,真的有个文档。
图片
我们来看一下是什么意思。
PaperCut NG Job Archive该目录用于存放打印作业spool文件的归档副本。文件保存的目录结构为:年/月/日/小时/UniqueID。此目录将消耗大量磁盘空间!系统接受您手动删除文件或目录。如果您选择手动删除文件,它们将无法再用于查看、下载和重新打印。作为管理员,您可以选择从备份中排除该目录,或者部分备份该目录(例如仅备份最近几个月的目录)。
那说明,配置已也生效了。难道是我的打印机不支持捕获,于是我又使用了微信的虚拟PDF打印机,打印一个文档,发现,这次有打印记录了。
图片
可以在微软虚拟PDF打印机,看到我刚才打印机的记录。
图片
但是打开前面的内容,提示没有备份。
图片
但是我已经设置了启动打印机备份,为什么没有备份呢?
图片
都没有备份。
图片
然后,再到应用日志中,查看原因。
图片
请检查“ArchiveDir”在print-provider.conf“desktop-0268al9”配置复制到“D:\PaperCut”在此服务器上。
服务器名称没有问题。
图片

无法找到存档打印作业位置“D:\PaperCut\2025\11\30\00\40f767c408c10caaa5290a8a82f53256d5a18ba0”。打印服务器“desktop-0268al9”(IP:127.0.0.1)获通知此工作已归档。请检查“ArchiveDir”在print-provider.conf“desktop-0268al9”配置复制到“D:\PaperCut”在此服务器上。

找到打印提供程序配置文件:

默认路径通常是:C:\Program Files\PaperCutNG\ Provider\print\win\print-provider.conf

图片

用文本编辑器(如记事本)以管理员身份打开这个文件。发现archiveDir=后面是空的。

图片

于是我又在D盘创建一个papercut文件夹,之前的文件中间有横线我怕有问题。

图片
把archiving.path也更改为D盘的PaperCut。
图片

然后,在这个配置文件中,将ArchiveDir=PaperCut。

图片
然后保存,一定要使用administrator超级管理更改,否则没有办法直接保存。
图片
图片

打印作业归档测试,发现还是不行。后来发现,ArchiveDir=后面的盘符,需要使用两个\\。

图片

重要提示:

Windows 路径中的反斜杠需要使用双反斜杠 `\\`

确保D:\PaperCut-Archive目录在desktop-0268al9服务器上确实存在,且 PaperCut 打印提供程序服务账户有写入权限。

然后,再重启PaperCut服务,重新完成之后,再次测试,发现这次还真的可以备份打印文件了,双击打开,提示,不能转换此页成图档。

图片
在到D盘的paperCut文件夹中查看,发现的确是有备份文件了。
图片
双击进去,发现不是一个文档,能是一个文件夹,里面的内容也不是直接打印机的内容呀!
图片

papercut文件夹有归档文件了,但是直接打开提示不能转换此页成图档

虽说我们捕获了打印文件,但是PaperCut 成功捕获并存储了打印作业,但是在将原始打印数据转换为可读的 PDF 文件时失败了。

1.  捕获:从打印假脱机系统获取原始的打印数据(通常是 `.SPL` 文件或 `EMF`/`XPS` 数据)。

2.  转换:将原始数据转换为您指定的格式(如 PDF)。

我的错误发生在 第2步 - 转换阶段。

我想快速得到一个可读的文件,可以暂时不转换为 PDF。

进入选项-> 高级,修改:

archive.format不强制转换为 PDF,而是保存为 PostScript (.ps) 或 XPS (.xps) 文件。据说这些格式很多阅读器都能打开。

图片
然后,我将捕获的文件下载。
图片
下载完成。
图片

于是我测试能直接打开.xps的阅读器,试了几个还是不行。

那我只能在这台服务器,安装转换文件。
Windows服务器

安装Ghost Trap——一个经过安全防护的PostScript和PDF转图片转换器。

下载:

统管理员应首先熟悉归档磁盘管理选项。 这些文件可在选项通用→印刷归档中找到

图片
下载了ghostsrript。
图片
开始安装。
图片
安装完成。

输入您的 Ghostscript 路径进行版本检查:

C:\Program Files\gs\gs10.03.0\bin\gswin64c.exe--version

如果安装正确,应该会返回 Ghostscript 的版本号。

图片
图片

1.  在打印服务器上,检查选项 -> 高级中:

content.conversion.gs.windows.enabled是否为 true?

content.conversion.gs.windows.path` 指向的 Ghostscript 安装路径是否正确?

正确示例:

C:\\Program Files\\gs\\gs10.03.0\\bin\\gswin64c.exe

或 C:/Program Files/gs/gs10.03.0/bin/gswin64c.exe

我的C:\Program Files\gs\gs10.06.0\bin

图片
图片
都配置完成了。
图片

重启服务,发现还是不行,到这里,我就不想测试了。

这个软件是的确可以捕获到打印文件的,但是我现在还没有办法将其转换成正常的pdf文件。

兄弟们,有谁用过这个功能的,帮忙提点一下,或者有什么好的打印备份方案的,可以帮忙指导一下,感谢!


打赏

本文链接:https://www.jingber.cn/post/3848.html 转载需授权!

分享到:

群贤毕至

访客

您的IP地址是: