信息生成图片
public ResultResponse<string> CertificateImg(int type) { ResultResponse<string> ret = new ResultResponse<string>(); if (type <= 0) { ret.ErrorMsg = "参数无效"; ret.Flag = false; return ret; } var doc = GetCertInfo(type); var option = new ImageSaveOptions(SaveFormat.Jpeg); option.PrettyFormat = true; using (var ms = new MemoryStream()) { doc.Save(ms, option); var resp = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(ms.GetBuffer()) }; resp.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg"); var Result = "data:image/jpeg;base64," + Convert.ToBase64String(ms.GetBuffer()); ret.Result = Result; ret.ErrorMsg = ""; ret.Flag = true; return ret; } } [AllowUser] public Aspose.Words.Document GetCertInfo(int type) { List<Vm_Certificate> list = new List<Vm_Certificate>(); var typeName = ""; var user = UserBll.GetUserByLoginId(8011); ;//用户信息 var certificate = StuCertificateBll.GetQueryable().Where(p => p.UserId == 8011 && p.CertificateType == type).FirstOrDefault(); if (certificate != null) { Vm_Certificate c = new Vm_Certificate(); c.Id = certificate.Id; c.AvatarUrl = user.AvatarUrl == null ? null : user.AvatarUrl; c.AddTime = certificate.AddTime.ToString("yyyy-MM-dd HH:mm:ss"); c.Organization = "北京博奥网络教育科技股份有限公司"; c.Name = user.Name; c.CertNo = user.CertNo; c.Sex = StringHelper.GetSexTypeByPersonalId(user.CertNo); c.CertificateNumber = certificate.CertificateNumber; c.CertificateType = certificate.CertificateType; c.TypeName = "绿化工" + typeName; c.CertificateName = "园林绿化工" + typeName + "培训合格证明"; list.Add(c); } Aspose.Words.Document doc; using (var stream = System.IO.File.OpenRead(HttpContext.Current.Server.MapPath("/File/Template/证书模板.docx"))) { doc = new Aspose.Words.Document(stream); } var dicReplaceValues = new Dictionary<string, string>(); dicReplaceValues.Add("Name", list[0].Name); dicReplaceValues.Add("CertNo", list[0].CertNo); dicReplaceValues.Add("CertificateNumber", list[0].CertificateNumber); dicReplaceValues.Add("CertificateName", list[0].CertificateName); dicReplaceValues.Add("Sex", list[0].Sex); dicReplaceValues.Add("AddTime", list[0].AddTime); dicReplaceValues.Add("AvatarUrl", ConfigurationManager.AppSettings["WebImgUrl"] + list[0].AvatarUrl); dicReplaceValues.Add("TypeName", list[0].TypeName); dicReplaceValues.Add("Organization", list[0].Organization); dicReplaceValues.Add("SignetImg", ConfigurationManager.AppSettings["WebImgUrl"] + "/Images/zhengshu/zhang.png"); DocumentBuilder builder = new DocumentBuilder(doc); foreach (var key in dicReplaceValues.Keys) { if (key == "AvatarUrl") { //插入图片 builder.InsertImage(dicReplaceValues[key], RelativeHorizontalPosition.LeftMargin, 80, RelativeVerticalPosition.TopMargin, 250, 73, 100, WrapType.None);//147表 } if (key == "SignetImg") { //插入图片 builder.InsertImage(dicReplaceValues[key], RelativeHorizontalPosition.LeftMargin, 400, RelativeVerticalPosition.TopMargin, 355, 70, 70, WrapType.None);//147表 } else { var repStr = string.Format("${0}$", key); doc.Range.Replace(repStr, dicReplaceValues[key]); } } return doc; }