介绍
在这篇文章中,我将介绍一个简单的源代码,允许您添加anbsp;签名PDF文件,并修改其数据。我使用iTextSharp,您需要Visual Studio 2010中能够打开并构建project.nbsp;NBSP
背景solutionUsing代码
Newtonsoft.Json.dll itextsharp.dll其可为您using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using Newtonsoft.Json;
using System.Drawing.Text;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using System.Diagnostics;
using PV_ImageConverter;
public partial class Requirement : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
rdoYes.Checked = true;
RdoCompleted.Checked = true;
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
PV_SignImage sigGenerator = new PV_SignImage();
Bitmap signatureImage = sigGenerator.SigJsonToImage(FirstSignature.Value);
string FirstSign = Server.MapPath("SIGN") + "\\" + DateTime.Now.ToString().Replace("/", "").Replace(":", "").Trim() + ".jpg";
signatureImage.Save(FirstSign, ImageFormat.Jpeg);
signatureImage.Dispose();
Bitmap signatureImage_second = sigGenerator.SigJsonToImage(SecondSignature.Value);
string SecondSign = Server.MapPath("SIGN") + "\\" + DateTime.Now.AddMinutes(1).ToString().Replace("/", "").Replace(":", "").Trim() + ".jpg";
signatureImage_second.Save(SecondSign, ImageFormat.Jpeg);
signatureImage_second.Dispose();
FillForm(FirstSign, SecondSign);
}
private void FillForm(string FirstSign, string SecondSign)
{
string pdfTemplate = Server.MapPath("PDF/Business Requirement.pdf");
string newFile = Server.MapPath("PDF/Business Requirement_Completed.pdf");
PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(
newFile, FileMode.Create));
AcroFields pdfFormFields = pdfStamper.AcroFields;
// set form pdfFormFields
pdfFormFields.SetField("Client", DDlClient.SelectedValue.ToString());
iTextSharp.text.Image instanceImg = iTextSharp.text.Image.GetInstance(FirstSign);
PdfContentByte overContent = pdfStamper.GetOverContent(1);
iTextSharp.text.Rectangle imageRect = new iTextSharp.text.Rectangle(10, 10, 100, 100);
instanceImg.ScaleToFit(imageRect.Width, imageRect.Height);
instanceImg.SetAbsolutePosition(400, 80);
overContent.AddImage(instanceImg);
iTextSharp.text.Image instanceImg1 = iTextSharp.text.Image.GetInstance(SecondSign);
PdfContentByte overContent1 = pdfStamper.GetOverContent(1);
iTextSharp.text.Rectangle imageRect1 = new iTextSharp.text.Rectangle(10, 10, 100, 100);
instanceImg1.ScaleToFit(imageRect.Width, imageRect.Height);
instanceImg1.SetAbsolutePosition(400, 28);
overContent1.AddImage(instanceImg1);
// flatten the form to remove editting options, set it to false
// to leave the form open to subsequent manual edits
pdfStamper.FormFlattening = false;
// close the pdf
pdfStamper.Close();
Response.Redirect("PDF/Business Requirement_Completed.pdf");
}
}
点利息
它很简单... ...