這幾天找WEB打印控件,要么收費的,要么免費的只能在IE里用!
我只想簡單的打個標簽紙!百度2天,看到一老兄說可以用PDF,然后又開始百度..找到了一篇文章
http://www.jianshu.com/p/d518d0988621 本文代碼全部摘抄至這篇文章,發文只為記錄!
不同的是我導入的庫是iTextSharp.LGPLv2.Core.Fix
開始
一.先用word制作好模板文件,標簽打印的話注意頁邊距,然后另存為PDF格式文件
二.然后下載adobe acrobat pro,創建時選擇pdf表單,並設置好相應key名字

然后就是代碼
public FileResult Index()
{
//獲取中文字體,第三個參數表示為是否潛入字體,但只要是編碼字體就都會嵌入。
BaseFont baseFont = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//讀取模板文件
PdfReader reader = new PdfReader(@"C:\Users\kisme\OneDrive\pdfmoban.pdf");
//創建文件流用來保存填充模板后的文件
System.IO.MemoryStream stream = new System.IO.MemoryStream();
PdfStamper stamp = new PdfStamper(reader, stream);
//設置表單字體,在高版本有用,高版本加入這句話就不會插入字體,低版本無用
//stamp.AcroFields.AddSubstitutionFont(baseFont);
AcroFields form = stamp.AcroFields;
//表單文本框是否鎖定
stamp.FormFlattening = true;
Dictionary<string, string> para = new Dictionary<string, string>();
para.Add("username", "國科");
para.Add("usertel","133333333");
para.Add("workservice", "電腦開不機,可能是電源問題,維修前報價(主機缺側蓋,有重要資料,不能重裝)");
para.Add("maketime", "2017年12月11日 12:24");
para.Add("recvicename", "某某某");
para.Add("workername", "某某某");
para.Add("weixinpic", "");
//填充表單,para為表單的一個(屬性-值)字典
foreach (KeyValuePair<string, string> parameter in para)
{
//要輸入中文就要設置域的字體;
form.SetFieldProperty(parameter.Key, "textfont", baseFont, null);
//為需要賦值的域設置值;
form.SetField(parameter.Key, parameter.Value);
}
//按順序關閉io流
stamp.Close();
reader.Close();
//生成文件
FileResult fileResult = new FileContentResult(stream.ToArray(), "application/pdf");
//fileResult.FileDownloadName = "4.pdf";
return fileResult;
}

然后百度一個Jquery PDF打印的腳本,搞定!
