根据模板编辑PDF

public static string CreatePDF(string cName, string eName, string imageURL)
{
try
{
var pdfsrc = "~/File/PDF/" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf";

var pdfTemplateFile = "~/File/模板.pdf";

var fos = new FileStream(HttpContext.Current.Server.MapPath(pdfsrc), FileMode.Create);

var reader = new PdfReader(HttpContext.Current.Server.MapPath(pdfTemplateFile));

var stamper = new PdfStamper(reader, fos);

stamper.Writer.CloseStream = false;

AcroFields form = stamper.AcroFields;

//添加图片
if (File.Exists(imageURL))
{
//获取第三页
var pdfContentByte = stamper.GetOverContent(3);

var imageStream = new FileStream(HttpContext.Current.Server.MapPath(imageURL), FileMode.Open);
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imageStream);
image.SetAbsolutePosition(120, 315);//left top
image.ScaleAbsolute(60, 20);//width height
pdfContentByte.AddImage(image);
}

//中文字体
BaseFont baseFont = BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1",BaseFont.IDENTITY_H,
BaseFont.EMBEDDED);

form.AddSubstitutionFont(baseFont);
form.SetField("cName", cName);

form.SetField("eName", eName);
form.SetField("cDate", DateTime.Now.ToString("yyyy-M-d"));

var random = new Random();
for (var i = 1; i < 6; i++)
{
var n = random.Next(1, 5);
for (var j = 1; j < 5; j++)
{
form.SetField("an" + i + j, j == n ? "\u0052" : "\u00A3");
}
}

stamper.FormFlattening = true;

reader.Close();
stamper.Close();
fos.Close();

return HttpContext.Current.Server.MapPath(pdfsrc);
}
catch (Exception ex)
{
return null;
}
}

转载于:https://www.cnblogs.com/sanjiaolong/p/9540314.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值