模板,向模板中填充数据"/>
c#pdf读写:制作模板,向模板中填充数据
个人百度云链接c#pdf填充
客户(猎头)需要开发一个新功能为: 在一个文本框中输入一些offer的基本信息,然后点击转换,直接生成一份pdf,旁边有一个发送按钮,直接发给相关候选人此offer信息。
这边客户先给了一份word文档,里面标注了些注意事项。
1、 首先是借助工具将word转换成pdf,注意将要填的信息留好适当的间距。
下面推荐一个比较好的文档转换网站,而且大部分免费:
2、 将生成好的 pdf文件制作成模板,可以通过c#往里面填充数据。具体操作如下:
进入下面的网址
/?expired
上传相应的文件
点击左上角的表格区域
画出这样的形状,注意自己留好间距,右键图中绿色的部分,选择下拉项中第三个,添加表格信息,
其中Name类似于id,用于c#为其绑定数据,下面是只读,为其设置max-length,再将文字居中即可
,最后将其导出,放到相应的项目路径中
3、c#读取pdf模板,并向其中填写数据
添加引用:
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;//操作pdf需要
using System.Web;
定义全局,用来读取文件
System.Web.HttpServerUtility server = System.Web.HttpContext.Current.Server;
创建方法:public void ZhuanPDF(HttpContext context){//模板的路径string mubanName = server.MapPath("../DataUploadFiles\\ xxx.pdf");//这边是你生成文件所存放的路径,其中pdf名可自行更改string Savepath = server.MapPath("~/DataUploadFiles\\pdf\\xx.pdf") //创建对象iTextSharp.text.pdf.PdfDocument document = new iTextSharp.text.pdf.PdfDocument();//读取pdfiTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader(mubanName);//创建模型//注意:filestream中第一个参数为你的保存路径,第二个FileMode.OpenCreate//的意思是,查看参数1的路径是否存在,不存在则创建PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(Savepath, FileMode.OpenOrCreate));AcroFields pdfFormFields = pdfStamper.AcroFields;pdfStamper.FormFlattening = true;BaseFont simheiBase = BaseFont.CreateFont(@"C:\Windows\Fonts\simhei.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);pdfFormFields.AddSubstitutionFont(simheiBase);pdfStamper.AcroFields.SetField("pdf模板中对应的name", Name);pdfStamper.AcroFields.SetField("pdf模板中对应的name", Position);//关闭pdfStamper.Close();pdfReader.Close();}
有兴趣的小伙伴可以关注我的公众号哦~ 里面有很多自己平时积攒起来的学习资源,Python,web安全,前端,Java等,都是免费领取的
更多推荐
c#pdf读写:制作模板,向模板中填充数据
发布评论