作者:mikel
原文地址:http://www.mikel.cn
最近需要做打印发货单的功能,以前用delphi的reportmachine控件做报表,功能很强大,可以设计报表并且报表文件和程序分离,优点就不多说了,这次需要连纸打印,于是想到用activex组件开发打印组件。
这样这个教程就分为两部分,一部分说Delphi的activex组件开发,另一部说ASP.NET MVC如何调用activex组件进行打印。
1.Delphi开发Activex组件



实现print方法打印
注册Activex组件
编译生成Activex组件
到此已经成功创建了一个带打印功能的ActiveX组件,具体如何使用ReportMachine 报表组件的教程,稍后我会写个详细的教程
下面就是.Net如何调用Activex组件了。
2.ASP.NET MVC 调用Activex组件打印
1.添加Activex组件的引用
2.选择Delphi的报表Activex组件
3.引用报表文件到Content文件夹
4.在About.aspx.cs的onload时间中调用Delphi的Activex组件声明的print方法进行打印,需要赋予服务器上report.rmf也就是报表文件的绝对地址给print方法,这样报表组件才能正确加载报表文件,具体代码如下:
02 |
using System.Collections.Generic; |
06 |
using ActiveFormProj1; |
08 |
namespace TangCMS.Views.Home |
10 |
public partial class About : ViewPage |
12 |
protected override void OnLoad(EventArgs e) |
15 |
ActiveFormX report = new ActiveFormX(); |
17 |
string file = Server.MapPath( "~/content/report.rmf" ); |
5.发布站点,点击About Us链接会弹出报表预览打印窗口,最终效果如下:


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库