- /// <summary>
- /// 填充表单文本域
- /// </summary>
- /// <param name="templatePath"></param>
- /// <param name="newFilePath"></param>
- /// <param name="parameters"></param>
- public static void GetEnPdf(string templatePath, string newFilePath, Dictionary<string, string> parameters)
- {
- System.IO.File.Delete(newFilePath);
- PdfReader pdfReader = new PdfReader(templatePath);
- PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFilePath,FileMode.Create));
- //获取域的集合;
- AcroFields pdfFormFields = pdfStamper.AcroFields;
- BaseFont BF_Light = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
- //为需要赋值的域设置值;
- foreach (KeyValuePair<string, string> parameter in parameters)
- {
- pdfFormFields.SetFieldProperty(parameter.Key, "textfont", BF_Light, null);
- pdfFormFields.SetField(parameter.Key, parameter.Value);
- }
- //这句很重要,如果为false那么生成的PDF文件还能编辑,一定要设为true;
- pdfStamper.FormFlattening = true;
- pdfStamper.Close();
- pdfReader.Close();
- }
复制代码
|