【发布时间】:2011-11-09 01:48:47
【问题描述】:
我需要将用户的签名(例如您在信用卡上的签名)添加到在线 PDF 文档中。我该怎么做?这种任务的最佳实践是什么?
【问题讨论】:
标签: c# asp.net-mvc pdf
我需要将用户的签名(例如您在信用卡上的签名)添加到在线 PDF 文档中。我该怎么做?这种任务的最佳实践是什么?
【问题讨论】:
标签: c# asp.net-mvc pdf
您需要使用 JavaScript 实现一些操作。您可以为此使用一些 JQuery 插件。这是一个例子;
http://motyar.blogspot.com/2010/01/draw-with-jquery.html
对于pdf部分,你可以使用一些pdf转换工具,比如ITextSharp
【讨论】:
您可以使用iTextSharp 来执行此操作。像这样的东西对你有用:
PdfReader pdfReader = null;
PdfStamper pdfStamper = null;
// Open the PDF file to be signed
pdfReader = new PdfReader(this.signFile.FullName);
// Output stream to write the stamped PDF to
using (FileStream outStream = new FileStream(targetFilename, FileMode.Create))
{
try
{
// Stamper to stamp the PDF with a signature
pdfStamper = new PdfStamper(pdfReader, outStream);
// Load signature image
iTextSharp.text.Image sigImg = iTextSharp.text.Image.GetInstance(SIGNATURE_IMAGE_PATH);
// Scale image to fit
sigImg.ScaleToFit(MAX_WIDTH, MAX_HEIGHT);
// Set signature position on page
sigImg.SetAbsolutePosition(POS_X, POS_X);
// Add signatures to desired page
PdfContentByte over = pdfStamper.GetOverContent(PAGE_NUM_TO_SIGN);
over.AddImage(sigImg);
}
finally
{
// Clean up
if (pdfStamper != null)
pdfStamper.Close();
if (pdfReader != null)
pdfReader.Close();
}
}
【讨论】: