无忧启动论坛

标题: 刚刚在论坛看到一个共享打印机的好东西raw print server [打印本页]

作者: chinaren12    时间: 2022-9-3 23:03
标题: 刚刚在论坛看到一个共享打印机的好东西raw print server
本帖最后由 chinaren12 于 2022-9-7 09:11 编辑

但是我在win10下运行出错,无法启动服务。
不知道哪位大侠能把源代码修整一下,让这个工具在win7,win10下都能运行呢?


我把整个软件包传上来了。这个小工具可以绕过微软的打印共享系统。这是微软系统中的噩梦。。

RawPrintServer100beta1.zip (27.58 KB, 下载次数: 343)
根据felixatvan说1.0是最新版。我把1.0的源码和成品也发上来,大家看看有没有人能正常使用。


RawPrintServer100.zip (27.45 KB, 下载次数: 251)





作者: 语之男    时间: 2022-9-4 06:01
局域网共享精灵试试.多好用
作者: 家驹    时间: 2022-9-4 06:52
兼容模式试一下呢

作者: 家驹    时间: 2022-9-4 06:52
语之男 发表于 2022-9-4 06:01
局域网共享精灵试试.多好用

试了,好像没多大作用
作者: weal2010    时间: 2022-9-4 07:58
看看
作者: 土著007    时间: 2022-9-4 08:33
关注中。。。。。。
作者: yxldh    时间: 2022-9-4 09:14
你把那个可执行文件复制进windows\system32\ 就可以启动服务了
作者: dxhjh    时间: 2022-9-4 09:21
谢谢分享
作者: 开裆裤看    时间: 2022-9-4 09:40
怎么使用呢求教
作者: 邪恶海盗    时间: 2022-9-4 10:16
什么年代了还用共享,用路由刷个鸡作USB打印服务器不香么???
作者: lcylcyll    时间: 2022-9-4 10:18
我也想知道是怎么用的啊
作者: ldg_2    时间: 2022-9-4 10:55
是本论坛看到的吗?有没有帖子的链接?
作者: temp2005    时间: 2022-9-4 11:43
没用过这个
作者: chibuzhu    时间: 2022-9-4 12:32
试试看
作者: 进士小站    时间: 2022-9-4 12:55
这个真得好好收藏了
关键的时候方便使用
作者: linqyx    时间: 2022-9-4 14:10
本帖最后由 linqyx 于 2022-9-4 14:15 编辑

昨天弄了半天没有搞明白, 这个小工具可以绕过微软的打印共享系统,
意思连接打印机的电脑不需要开启打印机共享,其他电脑直接可以像添加本地打印机一样添加打印机,
还是一样需要连接打印机的电脑开启打印机共享,然后其他电脑共享后,使用的时候,发送文件直接发送到打印机上。
有谁懂怎么用吗,给个使用方法呗。

感觉软件是好软件,可惜我们不会用。

作者: Webdiy    时间: 2022-9-4 15:00
不加引号试一下
作者: zxywan10000    时间: 2022-9-4 15:27
也有这个问题。
作者: DOSforever    时间: 2022-9-4 15:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: yxc51    时间: 2022-9-4 15:35
楼主能否介绍一下用法?如果共享端口关闭能否用此软件实现打印共享?
作者: 2010zhuluo    时间: 2022-9-4 17:01

谢谢分享
作者: wuxin9712    时间: 2022-9-4 17:23
DOSforever 发表于 2022-9-4 15:27
路由器没 USB 口怎么办?就算有 USB 口,路由器放在弱电箱里,你接十几米的 USB 线到弱电箱里?你说的解 ...

电视盒子刷一个,放在打印机旁边。
作者: 2011wolfsina    时间: 2022-9-4 17:35
看了下说明,软件是for Windows NT/2000/XP/95/98/ME
作者: zgzxp    时间: 2022-9-4 17:51
linqyx 发表于 2022-9-4 14:10
昨天弄了半天没有搞明白, 这个小工具可以绕过微软的打印共享系统,
意思连接打印机的电脑不需要开启打印 ...

感觉这就是个袖珍型打印服务器
建立服务后,其他电脑可以通过TCP/IP协议添加安装了本服务的服务器(电脑)作为远程打印机
客户电脑发送打印内容后,这个服务直接接管数据,发送给默认打印机打印
作者: zhuwg    时间: 2022-9-4 18:17
找到一个类似的东西,在家没测试环境,也不知道和lz提供的是不是差不多的东西
https://github.com/frogmorecs/RawPrint/tree/master/RawPrint
作者: Climbing    时间: 2022-9-4 19:03
zhuwg 发表于 2022-9-4 18:17
找到一个类似的东西,在家没测试环境,也不知道和lz提供的是不是差不多的东西
https://github.com/frogmor ...

编译版的在这里:http://www.columbia.edu/~em36/windowsrawprint.html

不过似乎跟楼主这个工具两回事儿。

楼主这个的源码在这里:https://github.com/miso-lims/rawprintserver
只有一个cpp源码,对于会windows编程的人来说,移植到win10/11下应该就是分分钟的事儿。
作者: linqyx    时间: 2022-9-4 19:22
zgzxp 发表于 2022-9-4 17:51
感觉这就是个袖珍型打印服务器
建立服务后,其他电脑可以通过TCP/IP协议添加安装了本服务的服务器(电脑 ...

有点明白了,和打印服务器功能一样吧
作者: 邪恶海盗    时间: 2022-9-4 19:23
DOSforever 发表于 2022-9-4 15:27
路由器没 USB 口怎么办?就算有 USB 口,路由器放在弱电箱里,你接十几米的 USB 线到弱电箱里?你说的解 ...

几十块一台的带USB的能刷鸡的路由大把,直接放打印机旁边就行了...
作者: chinaren12    时间: 2022-9-4 20:09
语之男 发表于 2022-9-4 06:01
局域网共享精灵试试.多好用

我碰到过很多情况局域网共享精灵都无法解决的。
作者: chinaren12    时间: 2022-9-4 20:10
zhuwg 发表于 2022-9-4 18:17
找到一个类似的东西,在家没测试环境,也不知道和lz提供的是不是差不多的东西
https://github.com/frogmor ...

这个是单机使用的,不能网络,我也搜到了这个工具,这个rawprint主要是供单机的。没有网络打印功能。
作者: chinaren12    时间: 2022-9-4 20:12
Climbing 发表于 2022-9-4 19:03
编译版的在这里:http://www.columbia.edu/~em36/windowsrawprint.html

不过似乎跟楼主这个工具两回事 ...

是的,楼上兄弟找到的这个是单机版的。没有网络功能
作者: 9527sss    时间: 2022-9-4 20:38
感谢分享
作者: 小歌    时间: 2022-9-4 21:48
希望WIN10 可以使用

作者: zhuwg    时间: 2022-9-4 21:52
chinaren12 发表于 2022-9-4 20:10
这个是单机使用的,不能网络,我也搜到了这个工具,这个rawprint主要是供单机的。没有网络打印功能。

我试着修改了一下,不知道能不能用,
你试试

RawPrintServer.rar

17.97 KB, 下载次数: 125, 下载积分: 无忧币 -2


作者: chinaren12    时间: 2022-9-4 22:37
zhuwg 发表于 2022-9-4 21:52
我试着修改了一下,不知道能不能用,
你试试

好像在win10上能正常启动了。但我用的是虚拟打印机测试的。明天我再搞台真正的打印机测试下。


作者: Eso1991    时间: 2022-9-5 00:17
都2022年了,不会还有人会买不带网络的打印机吧?
作者: chinaren12    时间: 2022-9-5 08:36
Eso1991 发表于 2022-9-5 00:17
都2022年了,不会还有人会买不带网络的打印机吧?

你能保证你碰到的每台打印机都带网络吗?
作者: Climbing    时间: 2022-9-5 08:50
Eso1991 发表于 2022-9-5 00:17
都2022年了,不会还有人会买不带网络的打印机吧?

你这问题应该换个说法,都2202年了,不会还有厂家生产不带网络的打印机吧?

事实上就是,一直有。

所以,这种回复有什么意义呢?
作者: laozhao    时间: 2022-9-5 10:20
有用,感谢感谢
作者: weal2010    时间: 2022-9-5 10:52
看看
作者: 357734620    时间: 2022-9-5 11:15
测试不成功啊。
1.客户机能正常发送【打印测试页】到服务器上,服务器打印列表里显示文档名为:Forwarded Job  但打印机未动作。
2.RawPrintServer_9100服务自动停止。
每次发送测试页,未动作,服务停止。
作者: zhuwg    时间: 2022-9-5 11:56
357734620 发表于 2022-9-5 11:15
测试不成功啊。
1.客户机能正常发送【打印测试页】到服务器上,服务器打印列表里显示文档名为:Forwarded  ...

请提供详细的系统版本信息,打印机型号信息,网络信息等,
出错貌似会生成日志,不知道你找得到不

作者: felixatvan    时间: 2022-9-5 12:09
yxldh 发表于 2022-9-4 09:14
你把那个可执行文件复制进windows\system32\ 就可以启动服务了

正解。用原版按照7樓的操作做。
作者: winnerloon    时间: 2022-9-5 13:27
不太懂。。
作者: chinaren12    时间: 2022-9-5 14:17
felixatvan 发表于 2022-9-5 12:09
正解。用原版按照7樓的操作做。

我刚刚用实机测试了一下,似乎不行,不知道是哪个搞错了。
我弄了一台笔记本,然后装了个hp p1007的打印机,然后安装rawprintserver,也安装成功了。

然后我在别的电脑上添加一个端口为“192.168.8.108”,协议为raw的端口,安装的也是P1007的驱动。

但是无法打印。提示打印错误。
作者: bearxu    时间: 2022-9-5 14:35
可以用vmware 运行openwrt 实现打印服务器, 和硬件打印服务器效果相同
作者: gubugu2001    时间: 2022-9-5 15:36
似乎是个好东西。。等后续。
作者: chinaren12    时间: 2022-9-5 17:36
357734620 发表于 2022-9-5 11:15
测试不成功啊。
1.客户机能正常发送【打印测试页】到服务器上,服务器打印列表里显示文档名为:Forwarded  ...

请问朋友你是如何安装的?我的能通过网络安装成功,但无法打印,直接连打印机的电脑也没有显示有任何文档过来。
作者: zhuwg    时间: 2022-9-5 20:30
本帖最后由 zhuwg 于 2022-9-5 20:34 编辑
chinaren12 发表于 2022-9-5 14:17
我刚刚用实机测试了一下,似乎不行,不知道是哪个搞错了。
我弄了一台笔记本,然后装了个hp p1007的打印 ...

我修改的源代码见附件,
就是改了一行加入了获取文件路径,原作者写的相对路径,
然后具体不能用,请查看"C:\\PrintServer.log"
看看错误信息是什么

其中有一条,就是你安装设置的这个名称要和你机器上打印机名字一模一样
char *printerName = "Test;//"Brother HL-1430 series";

其他就是OpenPrinter和StartDocPrinter以及WritePrinter了,
另外有篇文章说https://www.cnblogs.com/lobsterIT/p/4610504.html
https://blog.csdn.net/kingmax54212008/article/details/8985965
请继续测试

RawPrintServer100beta1-修改后源码.rar

12.93 KB, 下载次数: 36, 下载积分: 无忧币 -2


作者: yxc51    时间: 2022-9-5 20:37
本帖最后由 yxc51 于 2022-9-5 20:44 编辑
zhuwg 发表于 2022-9-5 11:56
请提供详细的系统版本信息,打印机型号信息,网络信息等,
出错貌似会生成日志,不知道你找得到不

我遇到同样的问题:服务端是win7系统,安装了一台联想M7250n的网络打印机,用rawprintsever install "M7250N“安装服务,客户端添加网络打印机,手动输入服务端信息。测试打印时,客户端只要发出打印指令,服务端的相应服务就停止,打印机被唤醒担无打印动作。请高手指点哪儿没对?
作者: 小施    时间: 2022-9-5 20:39
研究一下很有必要,个别内网关闭网络共享打印机比较麻烦(除网络打印机外)
作者: zhuwg    时间: 2022-9-5 20:41
本帖最后由 zhuwg 于 2022-9-5 20:42 编辑
yxc51 发表于 2022-9-5 20:37
我遇到同样的问题:服务端是win7系统,安装了一台联想M7250n的网络打印机,用rawprintsever install "M72 ...

请查看"C:\\PrintServer.log"看看错误信息是什么
参考https://docs.microsoft.com/zh-cn ... g-the-gdi-print-api有句话说 打印通常是本机Windows程序不可或缺的一部分,因此在编写程序后,无法轻松添加该功能。 设计 Windows 7 的程序时,应考虑使用 XPS 打印 API 提供打印功能,因为它为将来提供最兼容性。 必须在 Windows Vista 和早期版本的 Windows 上运行的程序最有可能使用 GDI 打印 API 提供打印功能。 Windows 7 也支持 GDI 打印 API,但它比 XPS 打印 API 更有限。
作者: zhuwg    时间: 2022-9-5 20:43
还有https://docs.microsoft.com/zh-cn ... ocs/startdocprinter也提到:当后台处理程序文件中的页面超过大约 350 MB 时,它可能无法打印,并且无法发送错误消息。 例如,打印大型 EMF 文件时可能会发生这种情况。 页面大小限制取决于许多因素,包括可用的虚拟内存量、通过调用进程分配的内存量以及进程堆中的碎片量。   以及  这是阻塞或同步函数,可能不会立即返回。 此函数的返回速度取决于运行时因素,例如网络状态、打印服务器配置和打印机驱动程序实现因素,在编写应用程序时难以预测。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。
作者: zhuwg    时间: 2022-9-5 20:59
yxc51 发表于 2022-9-5 20:37
我遇到同样的问题:服务端是win7系统,安装了一台联想M7250n的网络打印机,用rawprintsever install "M72 ...

https://docs.microsoft.com/zh-cn ... mode-pcl-postscript这儿说
V4 驱动程序是基于 XPS 的驱动程序。 RAW 数据库不兼容。 将 v3 XPS 打印机驱动程序与 Vista 或 (7) 一Windows V3 XPS 打印机驱动程序Windows类似。
Datatype 是在 Vista Windows引入的,用于将 XPS 直接传递到 XPS_PASS v3 XPSDrv 驱动程序的打印筛选器管道。 这可以防止 RAW v3 驱动程序的数据类型过载。 XPS_PASS 已 RAW 替换为 v4 驱动程序
大概意思是vista之后某个类型改了,之前的不能用,
我又改了一个版本,你再试试能不能用,源代码里面也包含了,
有问题继续提交日志C:\\PrintServer.log上来

RawPrintServer100beta1-XPS.rar

31.26 KB, 下载次数: 32, 下载积分: 无忧币 -2


作者: chinaren12    时间: 2022-9-5 20:59
zhuwg 发表于 2022-9-5 20:30
我修改的源代码见附件,
就是改了一行加入了获取文件路径,原作者写的相对路径,
然后具体不能用,请查 ...

感谢兄弟的付出,我稍后试试再反馈给你
作者: zhuwg    时间: 2022-9-5 21:04
chinaren12 发表于 2022-9-5 20:59
感谢兄弟的付出,我稍后试试再反馈给你
  1. //
  2. //  RawDataToXpsPrinter - sends binary data directly to a printer
  3. //          with an XPSDrv Printer Driver
  4. //  
  5. // szPrinterName: NULL-terminated string specifying printer name
  6. // lpData:        Pointer to raw data bytes
  7. // dwCount        Length of lpData in bytes
  8. //  
  9. // Returns: TRUE for success, FALSE for failure.
  10. //  
  11. BOOL RawDataToXpsPrinter (LPTSTR szPrinterName, LPBYTE lpData, DWORD dwCount)
  12. {
  13.     BOOL     bStatus = FALSE;
  14.     HANDLE     hPrinter = NULL;
  15.     DOC_INFO_1       DocInfo;
  16.     DWORD    dwPrtJob = 0L;
  17.     DWORD    dwBytesWritten = 0L;

  18.     // Open a handle to the printer.
  19.     bStatus = OpenPrinter (szPrinterName, &hPrinter, NULL);
  20.    
  21.     if (bStatus) {
  22.         // Fill in the structure with info about this "document."
  23.         DocInfo.pDocName = (LPTSTR)_T("My Document");
  24.         DocInfo.pOutputFile = NULL;

  25.         // Enter the datatype of this buffer.
  26.         //  Use "XPS_PASS" when the data buffer should bypass the
  27.         //    print filter pipeline of the XPSDrv printer driver.
  28.         //    This datatype would be used to send the buffer directly
  29.         //    to the printer, such as when sending print head alignment
  30.         //    commands. Normally, a data buffer would be sent as the
  31.         //    "RAW" datatype.
  32.         //
  33.         DocInfo.pDatatype = (LPTSTR)_T("XPS_PASS");

  34.         dwPrtJob = StartDocPrinter (
  35.                         hPrinter,
  36.                         1,
  37.                         (LPBYTE)&DocInfo);

  38.         if (dwPrtJob > 0) {
  39.                 // Send the data to the printer.
  40.                 bStatus = WritePrinter (
  41.                 hPrinter,
  42.                 lpData,
  43.                 dwCount,
  44.                 &dwBytesWritten);
  45.         }
  46.         
  47.         EndDocPrinter (hPrinter);

  48.         // Close the printer handle.
  49.         bStatus = ClosePrinter(hPrinter);
  50.     }
  51.    
  52.     if (!bStatus || (dwCount != dwBytesWritten)) {
  53.         bStatus = FALSE;
  54.     } else {
  55.         bStatus = TRUE;
  56.     }

  57.     return bStatus;
  58. }
复制代码
上述代码来自https://docs.microsoft.com/zh-cn ... y-to-an-xps-printer
大概意思是vista之后使用了新的XPS驱动来操作打印机,
之前的GDI驱动已经支持有限了还是怎么的,说不定就是不支持了说的比较隐晦,

作者: yxc51    时间: 2022-9-5 21:06
zhuwg 发表于 2022-9-5 20:59
https://docs.microsoft.com/zh-cn ... mode-pcl-postscript这儿说
V4 驱动程序是基于 XPS 的驱动程序。 ...

感谢大师,明天测试了反馈。
作者: Climbing    时间: 2022-9-5 22:45
zhuwg 发表于 2022-9-5 21:04
上述代码来自https://docs.microsoft.com/zh-cn/windows/win32/printdocs/sending-data-directly-to-an-x ...

我觉得是不是走向了错误的开发方向,既然是Raw Print Server,就应该是接受Raw数据(接受的这个RAW数据也是由打印客户端安装的驱动程序处理过的数据),而不用考虑Server端Windows的打印驱动。参考路由器固件是如何实现网络打印的,我们的目标应该是在Windows上实现类似路由器固件所实现的网络打印功能,从而跳过Windows的samba共享方式实现的打印共享。
作者: felixatvan    时间: 2022-9-6 03:17
zhuwg 发表于 2022-9-5 20:59
https://docs.microsoft.com/zh-cn ... mode-pcl-postscript这儿说
V4 驱动程序是基于 XPS 的驱动程序。 ...

說到要點了。
作者: dxhjh    时间: 2022-9-6 06:56
谢谢分享
作者: chinaren12    时间: 2022-9-6 09:11
本帖最后由 chinaren12 于 2022-9-6 09:14 编辑
zhuwg 发表于 2022-9-5 20:59
https://docs.microsoft.com/zh-cn ... mode-pcl-postscript这儿说
V4 驱动程序是基于 XPS 的驱动程序。 ...

使用xps版也不行。

下面是错误提示

PrintServer created by Henk Jonas (www.metaviewsoft.de)
PrintServer start
P1007 on 9100 (9100)
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.
Accept print job for P1007 from 192.168.8.85
Error opening print job.


一直是这个提示,好像进入了死循环一样。但是查看服务中的rawprvintserver不像原版一样会自动停止,一直处于已启动的状态。

但好像转发打印任务到本地打印不成功。

作者: 云端浮尘    时间: 2022-9-6 10:15
测试一下
作者: yxc51    时间: 2022-9-6 10:17
chinaren12 发表于 2022-9-6 09:11
使用xps版也不行。

下面是错误提示

今天测试了,还是不能打印。客户端发打印任务后,服务不会停止,但打印机无任何动作,错误日志:PrintServer created by Henk Jonas (www.metaviewsoft.de)
PrintServer start
Lenovo M7250N Printer on 9100 (9100)
Accept print job for Lenovo M7250N Printer from 91.100.18.5
Error opening print job.
作者: drw    时间: 2022-9-6 10:26
关注一下,顺便谢谢那位修改的源码的兄弟!
作者: yxc51    时间: 2022-9-6 10:50
chinaren12 发表于 2022-9-6 09:11
使用xps版也不行。

下面是错误提示

兄弟和我一样认真测试啊,我们遇到的问题也是一样的。感谢那位修改源码的兄弟。
作者: zhuwg    时间: 2022-9-6 11:46
chinaren12 发表于 2022-9-6 09:11
使用xps版也不行。

下面是错误提示

增加如下代码,把错误信息输出到log,看看错误到底是什么,
  1.     if (!OpenPrinter(printerName, &printer, NULL) )
  2.                                 {
  3.                                         WriteToLog("Error OpenPrinter.");
  4.                                         //printf("OpenPrinter GetLastError %d \n",GetLastError());
  5.                                         sprintf(strerr,"OpenPrinter GetLastError %d \n",GetLastError());
  6.                                         WriteToLog(strerr);

  7.                                 }       
  8.                                

  9.                                 if( !StartDocPrinter(printer, 1, (LPBYTE)&info))
  10.                                 {
  11.                                         WriteToLog("Error StartDocPrinter.");
  12.                                         //printf("StartDocPrinter GetLastError %d ",GetLastError());
  13.                                         sprintf(strerr,"StartDocPrinter GetLastError %d \n",GetLastError());
  14.                                         WriteToLog(strerr);
  15.                                 }
复制代码



RawPrintServer100beta1-20220906.rar

31.48 KB, 下载次数: 20, 下载积分: 无忧币 -2


作者: yxc51    时间: 2022-9-6 11:46
Eso1991 发表于 2022-9-5 00:17
都2022年了,不会还有人会买不带网络的打印机吧?

这个软件的还是很有用的。虽然现在共享打印机的方式很多,但某些公司打印机比较老旧,为了网络安全关闭了各种共享端口,要实现打印机共享这款软件就很有用。
作者: yxc51    时间: 2022-9-6 12:01
zhuwg 发表于 2022-9-6 11:46
增加如下代码,把错误信息输出到log,看看错误到底是什么,

已测试。服务端日志:PrintServer created by Henk Jonas (www.metaviewsoft.de)
PrintServer start
Lenovo M7250N Printer on 9100 (9100)
Accept print job for Lenovo M7250N Printer from 91.100.18.5
Accept print job for Lenovo M7250N Printer from 91.100.18.5
Accept print job for Lenovo M7250N Printer from 91.100.18.5
Accept print job for Lenovo M7250N Printer from 91.100.18.5
Accept print job for Lenovo M7250N Printer from 91.100.18.5

不断产生这一行。在服务端的打印任务里不断产生打印任务,但是:正在进行后台打印,打印机无动作。
作者: fdisk822    时间: 2022-9-6 14:15
好东西
作者: chinaren12    时间: 2022-9-6 14:37
zhuwg 发表于 2022-9-6 11:46
增加如下代码,把错误信息输出到log,看看错误到底是什么,




还是不行,能生成文档,但连接打印机的电脑没有任何反应。

这是刚刚测试的结果

作者: yxc51    时间: 2022-9-6 15:13
chinaren12 发表于 2022-9-6 14:37
还是不行,能生成文档,但连接打印机的电脑没有任何反应。

这是刚刚测试的结果

兄弟和我测试结果一样啊。
作者: zhuwg    时间: 2022-9-6 20:29
yxc51 发表于 2022-9-6 15:13
兄弟和我测试结果一样啊。

又修改了一下
增加如下
  1.       bStatus=WritePrinter(printer, buffer, result, &wrote);
  2.                                                 if (bStatus)
  3.                                                 {
  4.                                                                 WriteToLog("WritePrinter error.");

  5.                                                 }
复制代码
看看错误在哪里

RawPrintServer100beta1.rar

31.71 KB, 下载次数: 9, 下载积分: 无忧币 -2


作者: chinaren12    时间: 2022-9-6 20:51
zhuwg 发表于 2022-9-6 20:29
又修改了一下
增加如下
看看错误在哪里

感谢兄弟的坚持。

明日再测试反馈结果给你,谢谢了。
作者: zhuwg    时间: 2022-9-6 22:28
chinaren12 发表于 2022-9-6 20:51
感谢兄弟的坚持。

明日再测试反馈结果给你,谢谢了。

又更新了一下,增加输出getlasterror功能
但我拿adobe pdf打印机测试
能发送打印任务,没错误返回,
但pdf打印机没反应,
日志如下,
PrintServer start
Accept print job for Adobe PDF from 10.232.28.12

搜了一下发现网络上也有人说代码运行正常,但打印机没反应的,
但也有人说成功,问题在哪里呢

RawPrintServer100beta1.rar

31.69 KB, 下载次数: 5, 下载积分: 无忧币 -2


作者: chinaren12    时间: 2022-9-6 23:26
zhuwg 发表于 2022-9-6 22:28
又更新了一下,增加输出getlasterror功能
但我拿adobe pdf打印机测试
能发送打印任务,没错误返回,

反馈正常的估计都是打印机接在xp系统上。我看那个项目下面留言最早的是2007,2016年有人留言说他的win7打印正常。。。。
作者: ltqllt    时间: 2022-9-7 00:05
谢谢分享。。。
作者: ltqllt    时间: 2022-9-7 00:06
谢谢分享
作者: felixatvan    时间: 2022-9-7 04:29
chinaren12 发表于 2022-9-6 23:26
反馈正常的估计都是打印机接在xp系统上。我看那个项目下面留言最早的是2007,2016年有人留言说他的win7打 ...

我这里所接的操作系统有都是Win10,打印没问题。不同的是我这里需要的都是TEXT Mode直接打印,不是用Graphic Mode.(大部分的windows 打印是用这个形式,它需要厂家的驱动)。有些厂家的打印机是必须连在它自己的特定Port下才能工作。
作者: felixatvan    时间: 2022-9-7 05:48
chinaren12 发表于 2022-9-6 23:26
反馈正常的估计都是打印机接在xp系统上。我看那个项目下面留言最早的是2007,2016年有人留言说他的win7打 ...

刚用Lexmark E250dn在两台Win11机上测试了,使用的是Lexmark Universal Driver.  两边Windows 测试打印都是成功没问题。第一台机上安装成功后改名为E250dn,同时共享。目的是为了减少长名造成的一些麻烦。然后安装Rawprintserver service, 打开9100Port.  在第二台机上用第一台机的网址创立一个raw standard tcp/ip port 9100, 在这个port上安装Lexmark Universal Driver.
作者: felixatvan    时间: 2022-9-7 05:59
本帖最后由 felixatvan 于 2022-9-7 06:09 编辑

请查一下,你下载的是否最新的?我提供的下载链接里1.0是最新的。不是1.0beta.
下载链接:
https://sourceforge.net/projects ... les/RawPrintServer/

作者: chinaren12    时间: 2022-9-7 08:49
felixatvan 发表于 2022-9-7 05:59
请查一下,你下载的是否最新的?我提供的下载链接里1.0是最新的。不是1.0beta.
下载链接:
https://source ...

我下载的就是1.0beta,我以为1.0beta是1.0的改进版呢?
作者: chinaren12    时间: 2022-9-7 09:09
felixatvan 发表于 2022-9-7 05:59
请查一下,你下载的是否最新的?我提供的下载链接里1.0是最新的。不是1.0beta.
下载链接:
https://source ...






这个1.0的正式版也不行,不知道是不是不兼容HP的打印机呢?还是如你所说的那样需要通用打印驱动程序。

数据是接收到了,但打印机没有动作。

作者: yxc51    时间: 2022-9-7 09:25
zhuwg 发表于 2022-9-6 20:29
又修改了一下
增加如下
看看错误在哪里

这个版本的测试结果:客户端发送打印任务后,服务端服务停止,服务端打印机有反映,唤醒了但不打印。错误日志:Accept print job for Lenovo M7250N Printer from 91.100.18.5
WritePrinter error.
WritePrinter error.
WritePrinter error.
WritePrinter error.
WritePrinter error.
WritePrinter error.
作者: chinaren12    时间: 2022-9-7 09:32
felixatvan 发表于 2022-9-7 05:59
请查一下,你下载的是否最新的?我提供的下载链接里1.0是最新的。不是1.0beta.
下载链接:
https://source ...

RawPrintServer100.zip (27.45 KB, 下载次数: 42)

据上面朋友说1.0是正式版。兄台可以改用这版源码试试


作者: zhuwg    时间: 2022-9-7 09:48
chinaren12 发表于 2022-9-7 09:09
这个1.0的正式版也不行,不知道是不是不兼容HP的打印机呢?还是如你所说的那样需要通用打印驱动 ...

找到一篇文章,
通过添加端口设置 generic厂家的text only驱动来打开raw模式支持,
你试试

How to configure RAW printing mode in Windows.pdf

206.74 KB, 下载次数: 29, 下载积分: 无忧币 -2


作者: yxc51    时间: 2022-9-7 09:49
chinaren12 发表于 2022-9-7 09:32
据上面朋友说1.0是正式版。兄台可以改用这版源码试试

这个正式版的测试成功,正常打印
作者: yxc51    时间: 2022-9-7 09:52
zhuwg 发表于 2022-9-7 09:48
找到一篇文章,
通过添加端口设置 generic厂家的text only驱动来打开raw模式支持,
你试试

感谢兄弟锲而不舍的努力。下了群友说的正式版的测试打印成功,兄弟可研究一下这个正式版的源码,进行改进。
作者: zhuwg    时间: 2022-9-7 10:55
yxc51 发表于 2022-9-7 09:52
感谢兄弟锲而不舍的努力。下了群友说的正式版的测试打印成功,兄弟可研究一下这个正式版的源码,进行改进 ...

正式版和测试版区别只有一个地方,就是下图,
测试版接受数据完成就返回了,正式版还会继续执行ClosePrinter关闭打印机,
不过在我这测试,打印机还是没反应,不知道为啥
附件是修改了获取本文件路径的代码,请再试试

代码区别.png (82.81 KB, 下载次数: 95)

代码区别.png

RawPrintServer100.rar

49.48 KB, 下载次数: 89, 下载积分: 无忧币 -2


作者: yxc51    时间: 2022-9-7 11:11
本帖最后由 yxc51 于 2022-9-7 11:17 编辑
zhuwg 发表于 2022-9-7 10:55
正式版和测试版区别只有一个地方,就是下图,
测试版接受数据完成就返回了,正式版还会继续执行ClosePri ...

测试了你修改过的这个版本,一切正常。一个打印任务产生一条日志信息:
RawPrintServer 1.00 created by Henk Jonas (www.metaviewsoft.de)
PrintServer start
Lenovo M7250N Printer on 9100 (9100)
Accept print job for Lenovo M7250N Printer from 91.100.18.5
作者: chinaren12    时间: 2022-9-7 11:18
yxc51 发表于 2022-9-7 09:49
这个正式版的测试成功,正常打印

我去,为什么我不能成功呢?你什么打印机型号
作者: yxc51    时间: 2022-9-7 11:36
chinaren12 发表于 2022-9-7 11:18
我去,为什么我不能成功呢?你什么打印机型号

我测试的是联想M7250N的打印机,服务端安装的网络打印机,USB没测试,感觉应该也没问题。
作者: zhuwg    时间: 2022-9-7 12:07
chinaren12 发表于 2022-9-7 11:18
我去,为什么我不能成功呢?你什么打印机型号

我测试HP LaserJet P1007也没反应,不知道哪里有问题

作者: chinaren12    时间: 2022-9-7 14:03
zhuwg 发表于 2022-9-7 12:07
我测试HP LaserJet P1007也没反应,不知道哪里有问题

老哥,我晚点测试后给你回信。。。
作者: weal2010    时间: 2022-9-7 16:18
kk
作者: 深深的沼泽    时间: 2022-9-7 16:45
邪恶海盗 发表于 2022-9-4 10:16
什么年代了还用共享,用路由刷个鸡作USB打印服务器不香么???

有详细方案没
作者: 邪恶海盗    时间: 2022-9-7 16:56
深深的沼泽 发表于 2022-9-7 16:45
有详细方案没

搜索一下大把,假货宝买现成的也可以
作者: geciwang    时间: 2022-9-7 17:20
谢谢分享,期待大神修复出新品
作者: zhjipt    时间: 2022-9-7 20:32
谢谢分享
作者: chinaren12    时间: 2022-9-7 22:23
邪恶海盗 发表于 2022-9-7 16:56
搜索一下大把,假货宝买现成的也可以

这软件方案如果能完善的话,也不失为一种很好的替代方法呀。。。
作者: zhuwg    时间: 2022-9-7 22:39
chinaren12 发表于 2022-9-7 22:23
这软件方案如果能完善的话,也不失为一种很好的替代方法呀。。。

我搜索一下是有人反映能用也有人说不能用,
可能真和打印机型号或者驱动有关系,
利用路由器usb口接打印机的方法我也知道,
但好些公司不允许个人接路由器到公司内网




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3