0

我不是保存文件然后对其进行签名,而是使用内存流中的压模填充数据字段。

MemoryStream fs = GetSaarForm();
            PdfReader.unethicalreading = true;
            PdfReader reader = new PdfReader(fs.ToArray(), null);
            string pwd = ""; 
            if (string.IsNullOrEmpty(pwd))
                pwd = System.Web.Security.Membership.GeneratePassword(20, 5);
            using (MemoryStream ms = new MemoryStream())
            {
                using (PdfStamper stamper = new PdfStamper(reader, ms, '\0', false))
                {
                    stamper.SetEncryption(
                        null,
                        System.Text.Encoding.UTF8.GetBytes(pwd),
                        PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_COPY,
                        PdfWriter.ENCRYPTION_AES_128);
                    AcroFields form = stamper.AcroFields;
                    StampSaarPdf(form, candidate, saar);

                }
                //SaveSaarPassword(candidateId, pwd);
                return ms.ToArray();
            }

标记各个字段是在方法中。但是签名是个问题。它们必须看起来像附件。

可见签名

我已经查看了人们完成签名的所有方式,只是看不出我是如何做到这一点的。这是 DOD CAC 签名。有没有人有任何想法?我必须在表格中填写四个单独的签名。我将签名字段更改为纯文本框。

4

1 回答 1

0

您必须使用 Java 小程序,因为它必须在客户端级别使用 ActivClient 作为 CAC 中间件进行签名。

于 2021-08-27T16:54:24.733 回答