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;
}