c#pdf读写:制作模板,向模板中填充数据

个人百度云链接c#pdf填充

客户(猎头)需要开发一个新功能为: 在一个文本框中输入一些offer的基本信息,然后点击转换,直接生成一份pdf,旁边有一个发送按钮,直接发给相关候选人此offer信息。

这边客户先给了一份word文档,里面标注了些注意事项。

1、 首先是借助工具将word转换成pdf,注意将要填的信息留好适当的间距。

下面推荐一个比较好的文档转换网站,而且大部分免费:

https://app.xunjiepdf.com/word2pdf

2、 将生成好的 pdf文件制作成模板,可以通过c#往里面填充数据。具体操作如下:

进入下面的网址

https://www.pdfescape.com/account/?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();
    //读取pdf
     iTextSharp.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();
    
    
    
    
   }
发布了13 篇原创文章 · 获赞 1 · 访问量 2921

猜你喜欢

转载自blog.csdn.net/huxinyu0208/article/details/91566734
今日推荐