2012-06-20 149 views
0

我在一天中的大部分时间都研究了此问题。我有一个使用iTextSharp签署PDF文档的现有应用程序。数字签名存在,文本表示显示在PDF上的签名字段内,但签名的图像不显示。iTextSharp签名图像不显示在PDF签名字段中

以下是有问题的代码。我很感谢您提供的任何帮助/建议。

if (signatureBitmap != null) 
{ 
    if (reader == null) reader = new PdfReader(PDFByteArray); 

    pdfStamper = PdfStamper.CreateSignature(reader, outputStream, PDFVersion, null, true); 

    PdfSignatureAppearance signatureAppearance = pdfStamper.SignatureAppearance; 

    //Add digital certificate to field 
    signatureAppearance.SetCrypto(Key, Certificate, null, PdfSignatureAppearance.SELF_SIGNED); 
    signatureAppearance.Reason = Reason; 
    signatureAppearance.Location = Location; 

    signatureAppearance.Render = PdfSignatureAppearance.SignatureRender.GraphicAndDescription; 

    if (signatureBitmap != null) 
    { 
     iTextSharp.text.Image signatureFieldImage = iTextSharp.text.Image.GetInstance(signatureBitmap, System.Drawing.Imaging.ImageFormat.Bmp); 
     signatureAppearance.SignatureGraphic = signatureFieldImage; 
    } 

    signatureAppearance.Acro6Layers = acroLayer; 
    signatureAppearance.SetVisibleSignature(acrobatSignatureFieldName); 
    pdfStamper.Close(); 
    reader.Close(); 
    reader = null; 

} 

回答

0

您需要了解您的签名的位置,尝试这样的:

Rectangle rSignature= new Rectangle(100,100); 
signatureAppearance.setVisibleSignature(rSignature, 1, "a name");