找回密码
 立即注册

QQ登录

只需一步,快速开始

Felix.Li Wyn认证

超级版主

108

主题

2923

帖子

5531

积分

超级版主

Rank: 8Rank: 8

积分
5531

Wyn高级认证Wyn认证

Felix.Li Wyn认证
超级版主   /  发表于:2022-12-12 16:32  /   查看:3068  /  回复:3
本帖最后由 Felix.Li 于 2024-12-17 10:03 编辑

wyn的无预览打印来了!!!

                              
众所周知wyn的很强大的一点就在于它的强大嵌入式。其中很重要的一点就是很多借口的开放.我们可以通过接口获取很多数据信息,更包括直接集成页面或者或许数据。
当然,包括我们今天的无预览打印也是这样。  话不多说,上干货!!!!!


主要是参考我附件中的HTML中的script文件。或者直接运行也可以看到
我们需要的是门户地址(wyn发布的地址)、可以访问改报表的token(我们接口调用如果不是内部调用,都需要token)、需要打印的报表ID

我们的流程主要是:
启动一个打印服务器用来执行打印操作   ----》  wyn调用导出接口,导出一个PDF流给打印服务    ----》   打印服务获取PDF流并调用默认打印机  ----》    打印结果

那具体如何实现呢:
第一步启动附件中的PrintAgent.exe(打印服务、调用系统默认打印机、端口8088)
第二步:
微信图片_20221212172412.png
总共发起五部请求,其中所需要的三个参数分别在其中拼接。首先我们导出报表的PDF流我们内部需要一个PDFID,这个ID每一个服务器都不一样。
然后会通过这个PDFID去获取PDF导出地址,也就是第二步,获取导出地址
第三步就是获取到的地址,这是一个中专过程
第四部,用上一步获取到的地址进行PDF导出。输出结果为一个Blob类型的PDF流
第五步:调用打印接口进行打印

以上就是无预览打印的五个流程,如果这个知道了咱们就可以随意添加在自己的代码中,只要最后走这个流程即可
(小提示,如果打印机端口被占用,想改改变,可以自行修改代码: PrintAgent.py (1.32 KB, 下载次数: 296)

3 个回复

倒序浏览
小白A
注册会员   /  发表于:2024-12-2 17:55:43
沙发
image.png211577147.png 我现在有一个文件生成了,请问一下如何具体操作批量打印的
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-12-3 09:29:54
板凳
小白A 发表于 2024-12-2 17:55
我现在有一个文件生成了,请问一下如何具体操作批量打印的


您看看代码中后半部分的,关于打印的部分。是将导出的pdf文件流直接发送到打印的程序上的。
如果您想多次打印的话,您可以在打印部分,循环调用打印程序:
image.png995770263.png
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-12-3 09:32:09
地板
Eden.Sun 发表于 2024-12-3 09:29
您看看代码中后半部分的,关于打印的部分。是将导出的pdf文件流直接发送到打印的程序上的。
如果您想 ...

您是用的是什么产品呢?您可在对应的板块下发个帖子,说一下咱们使用的产品、版本,以及遇到的问题,咱们根据您的情况再具体的给您解决呢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部