找回密码
 立即注册

QQ登录

只需一步,快速开始

Lenka.Guo 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2022-2-14 18:13  /   查看:3727  /  回复:0
本帖最后由 Lenka.Guo 于 2022-2-17 09:17 编辑

示例下载:https://github.com/activereports/WebSamples16/tree/main/JsViewerSamples/SilentPrint
示例组成: 该示例里面包含了:JSViewerBatchPrint_MVC_Core, JSViewerSilentPrint_MVC_Core, PrintAgent., JSViewerBatchPrint_MVC_Core 演示了批量打印报表。
实现思路静默打印主要是通过在客户端安装打印代理而实现的静默打印功能。ActiveReports 实现静默打印服务,基于葡萄城的另一个产品 GrapeCity Documents to PDF 用于监控客户端生成PDF 时,进行打印。如果大家需要静默打印的方法,可以采用类似思路去监控PDF 生成,当然也可以使用 葡萄城GrapeCity Documents 产品,未授权的GC Documents可以一次打印5个文档因此是有限制的哦。
运行环境:
  • Visual Studio 2022 V17.0 及以后的版本
  • .Net 6.0 SDK
  • .Net Core 托管包



编译项目:
1. 打开 Visual Stduio 选择“文件”->"打开"->"项目或解决方案"
2. 选择示例文件,打开.sln文件
3. 右击选择项目,选择还原 Nuget 包


4. 编译运行。


在运行静默打印示例前,需要先运行打印代理项目:
运行打印代理项目:
PrintAgent 是Windows Service 的打印代理服务,运行的是 ASP.NET Core API 项目打印PDF 文件。是基于 GrapeCity.Documents.Pdf 库实现的打印代理。此库的未购买授权许可时,可一次性打印加载限制5 页。
设置:
appsetting.json 文件:可配置打印机名称和授权端口。默认的打印机名称是Microsoft Print to PDF,在这种情况下,为了避免提示输入文件名,打印代理将输出 pdf 保存在一个特殊的系统目录中,该目录包含所有用户共有的文档。默认情况下,服务端口为:http://localhost:5000.PDF 打印的地址为: http://localhost:5000/print.

启动代理必须的环境资源:
1. 【Visual Studio 2022】(https://visualstudio.microsoft.com/vs/) 17.0 及以上版本
2. 【.NET 6.0 SDK】 (https://www.microsoft.com/net/download)
3. 【.NET Core Hosting Bundle】(https://docs.microsoft.com/en-us ... view=aspnetcore-5.0) (IIS 部署环境)




编译PrintAgent:
1. Visual Studio打开 PrintAgent 示例
2. 还原 Nuget包, 编译运行

运行PrintAgent
调试并运行:**Debug → Start Debugging**
运行不调试:**Debug → Start Without Debugging**
使用命令行运行项目:**dotnet run --console**
运行后会在Bin 目录下生成相关的项目,这个所有内容都是启动静默打印服务的必备内容,需要把这些内容拷贝到下面示例的binPath对应的文件夹中:


安装Windows 服务
1. 编译PrintAgent
2. 复制该项目的输出文件夹到指定文件夹如 **C:\PrintAgent**,输出文件将被放置在默认的路径下,通常是在 bin/<configuration>/<target>。
3. 启动命令行窗口,并输入:sc create PrintAgent binPath=C:\PrintAgent\PrintAgent.exe start=auto
注意,如果在执行命令行时提示以下错误:
[SC] OpenSCManager FAILED 5:
Access is denied.

解决方法:
问题是权限不足,找到注册表

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA 的值改为0

把这个值改成0即可。


4. 启动服务,运行命令:sc start PrintAgent



效果展示:注意: PrintAgent 默认是调用的Microsoft Pirnt to PDF 打印机,这个打印机会将打印成功的文档放到路径:C:\Users\Public\Documents
大家可以根据自己的需要修改默认打印机为真实的打印机。



























本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部