目录
背景
因为公司架构落后,打印模板还是采用了10年的cell组件,二维码不支持,对行打印不支持,所以作为公司在项目上的研发人员,开始有替换公司打印插件的想法。来这个公司之前一直用的是fastreport,各种插件各种支持,再者fastreport有.net版本,可以直接封装为com+。也就理所当然的采用fastreport了。
我甚至还想过,如果com+做不成,我干脆搞成silverlight也行,反正能和js交互就行。
开发环境
- VS2013
- fastreport.net V2013.2.5
新建vs项目
- 新建项目
选择Windows 窗体控件库
- 添加控件
添加一个label在窗体上,文字就打loaded。以代表你的控件被浏览器正确的识别
- 勾选com
- 编辑AssemblyInfo 文件
// 添加引用
using System.Security;
// 添加这句
[assembly: AllowPartiallyTrustedCallers()]
// 修改这句
[assembly: ComVisible(true)]
- 生成guid
选择 工具-> 创建GUID ->复制
引用using System.Runtime.InteropServices;
并在头部加入这样的代码,XXXXXXXXX就代表你的GUID值
[Guid("XXXXXXXXXXXXXXXXXXXXX")]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
扩展接口
复制如下接口,并且采用刚才生成GUID的方法,再次生成一次GUID,并放入下面的代码里。
[Guid(