电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

利用FastReport傳遞圖片參數(shù)在報表上展示簽名信息的實現(xiàn)方法

瀏覽:159日期:2022-06-08 16:21:16
目錄
  • 1、報表上的設(shè)計處理
  • 2、報表傳遞圖片數(shù)據(jù)

在一個項目中,客戶要求對報表中的簽名進行仿手寫的簽名處理,因此我們原先只是顯示相關(guān)人員的姓名的地方,需要采用手寫方式簽名,我們的報表是利用FastReport處理的,在利用楷體處理的時候,開發(fā)展示倒是正常效果,不過實際上在服務(wù)器運行的時候,出來的確實正規(guī)的宋體格式,相應(yīng)的字體都已經(jīng)安裝,不過還是沒有生效。因此采用變通的方式,在對應(yīng)簽名的地方采用圖片的格式顯示,實際效果達到要求。本篇隨筆介紹這個過程,利用FastReport傳遞圖片參數(shù),在報表上展示簽名信息的處理。

在一個項目中,客戶要求對報表中的簽名進行仿手寫的簽名處理,因此我們原先只是顯示相關(guān)人員的姓名的地方,需要采用手寫方式簽名,我們的報表是利用FastReport處理的,在利用楷體處理的時候,開發(fā)展示倒是正常效果,不過實際上在服務(wù)器運行的時候,出來的確實正規(guī)的宋體格式,相應(yīng)的字體都已經(jīng)安裝,不過還是沒有生效。因此采用變通的方式,在對應(yīng)簽名的地方采用圖片的格式顯示,實際效果達到要求。本篇隨筆介紹這個過程,利用FastReport傳遞圖片參數(shù),在報表上展示簽名信息的處理。

1、報表上的設(shè)計處理

例如我們要在報表落款的附近記錄相關(guān)人員的名字,因此采用簽名的顯示方式會比較合理。

因此設(shè)計相關(guān)的報表,本來想是采用文本的方式,變化字體的方式來快捷實現(xiàn)的

不過在報表是在服務(wù)器上生成圖片的方式,導致正常出來的圖片,卻沒有變化字體,導致出來的是正常的宋體格式。

因此考慮使用圖片的格式方式來處理。在其中放置Picture控件,如下所示。

調(diào)整好Picture控件的高度和寬度,讓它在設(shè)計的空白上合適的展示即可。

為了實現(xiàn)圖片格式的顯示,我們需要在報表的圖片控件的BeforePrint事件中解析數(shù)據(jù)(來自傳遞參數(shù)),數(shù)據(jù)格式為Base64字符串(從Byte數(shù)據(jù)轉(zhuǎn)換),如下代碼所示。

namespace FastReport{  public class ReportScript  {    private void shopDoctorImg_BeforePrint(object sender, EventArgs e)    {      var img = GetImage("ShopDoctor");      if(img != null){shopDoctorImg.Image=img;        }    }       private void tiaopeiImg_BeforePrint(object sender, EventArgs e)    {          var img = GetImage("Tiaopei");      if(img != null){tiaopeiImg.Image=img;        }    }           private void CheckDoctorImg_BeforePrint(object sender, EventArgs e)    {      var img = GetImage("CheckDoctor");      if(img != null){CheckDoctorImg.Image=img;        }    }    private void CheckPharmacistImg_BeforePrint(object sender, EventArgs e)    {             var img = GetImage("CheckPharmacist");      if(img != null){CheckPharmacistImg.Image=img;        }    }    private Image GetImage(string signName)    {       Image img = null;      string imgStr = (string)Report.GetParameterValue(signName);      if(!string.IsNullOrEmpty(imgStr))      {byte[] imgData= Convert.FromBase64String(imgStr);using(MemoryStream ms = new MemoryStream(imgData)){  img = System.Drawing.Image.FromStream(ms);    }      }      return img;    }  }}

其中主要注意的是,我們傳遞的圖片數(shù)據(jù)需要采用Base64String的格式才能正常傳遞和展示。

2、報表傳遞圖片數(shù)據(jù)

完成了報表的設(shè)計處理,我們剩下的就是在實際的報表中傳遞對應(yīng)的參數(shù)數(shù)據(jù)了。

我們把簽名圖片,放在相對的目錄上,如下所示。

然后編寫一個公用的讀取圖片為Base64String的函數(shù)處理,如下所示。

//通過姓名獲取簽名圖片的Base64private string GetSignImage(string signName){    var result = "";    string imagePath = Path.Combine(baseDir, $"Report/signs/{signName}.png");    if (File.Exists(imagePath))    {var stream = FileUtil.FileToStream(imagePath);var image = FileUtil.StreamToBytes(stream);if (image != null){    result = Convert.ToBase64String(image);}    }    return result;}

接著就是根據(jù)對應(yīng)的報表進行加載,并設(shè)置相關(guān)的參數(shù)進行傳遞給報表即可,如下測試代碼所示。

//生成PDF報表文檔到具體文件    Report report = new Report();    report.Load(reportFile);    //定義參數(shù)和數(shù)據(jù)格式    var dict = new Dictionary<string, object>();    #region 測試數(shù)據(jù)源    dict.Add("Name", "張三");    dict.Add("Gender", "男");    dict.Add("Age", 32);    dict.Add("Telephone", "18620292076");    dict.Add("CreateTime", "2019-10-13 22:30:15");    dict.Add("CheckDoctor", GetSignImage("張醫(yī)生"));//"張醫(yī)生"    dict.Add("CheckPharmacist", GetSignImage("張醫(yī)生")); //"李藥師"    dict.Add("SendUser", "王小姐");    dict.Add("QrCode", "http://www.iqidi.com");    dict.Add("BarCode", "1234567890");    //圖片文件    dict.Add("ShopDoctor", GetSignImage("張醫(yī)生"));    dict.Add("Tiaopei", GetSignImage("張醫(yī)生"));    dict.Add("Fayao", GetSignImage("王小姐"));        #endregion        report.RegisterData(dt, "Detail");    foreach (string key in dict.Keys)    {report.SetParameterValue(key, dict[key]);    }    //運行報表    report.Prepare();

由于我們的報表,最終是生成PDF或者圖片的方式,方便客戶進行在線查詢的,因此可以選擇PDF或者圖片的格式生成。

//運行報表    report.Prepare();            //導出PDF報表    //PDFExport export = new PDFExport();    //多個圖片導出    int count = 1;    string firstFileName = exportImgPath.Replace(".png", "");    foreach (PageBase item in report.Pages)    {string fileName = string.Format("{0}_{1}.png", firstFileName,  count);exportImgPath = fileName;//Resolution= 300可以提高分辨率report.Export(new ImageExport() { PageRange = PageRange.Current, CurPage = count, Resolution= 300 }, fileName);count++;    }

最后生成的圖片格式如下所示,順利吧簽名的圖片貼在對應(yīng)的單元格中即可。

到此這篇關(guān)于利用FastReport傳遞圖片參數(shù)在報表上展示簽名信息的文章就介紹到這了,更多相關(guān)FastReport傳遞圖片參數(shù)內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標簽: ASP.NET
主站蜘蛛池模板: 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 谷梁科技| TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 天津暖气片厂家_钢制散热器_天津铜铝复合暖气片_维尼罗散热器 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 便携式谷丙转氨酶检测仪|华图生物科技百科| 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 线粒体膜电位荧光探针-细胞膜-标记二抗-上海复申生物科技有限公司 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 |