pdf - 使用 iTextSharp 自定义 PDFStamper

标签 pdf itextsharp signing customization stamp

我正在使用 iTextSharp 对 PDF 进行签名。签名时,它会在文档上标记 4 个字段:签名者、签名时间、原因和地点。我的意思是在下方(或上方,这无关紧要)添加一个包含自定义信息的字段。

有什么想法吗?

这是我生成邮票的代码:

PdfStamper stp = PdfStamper.CreateSignature(reader, memoryOut, '\0');
        PdfSignatureAppearance sap = stp.SignatureAppearance;

        iTextSharp.text.Rectangle rectangle = new iTextSharp.text.Rectangle(100, 100, 500, 200);

        sap.SetVisibleSignature(rectangle, stp.Reader.NumberOfPages, null);
        sap.SignDate = DateTime.Now;
        sap.SetCrypto(null, chain, null, null);
        sap.Reason = ssReason;
        sap.Contact = ssContact;
        sap.Location = ssLocation;

        sap.Acro6Layers = true;
        //sap.SignatureGraphic = iTextSharp.text.Image.GetInstance(ssImageUrl);
        //sap.SignatureGraphic.ScaleToFit(131, 45);
        sap.Render = PdfSignatureAppearance.SignatureRender.Description;

最佳答案

几个选项:

  1. 修改来自 sap.getLayer(int)PdfTemplate 之一。

  2. 调用 sap.setLayer2Text() 以包含您的额外信息。

  3. 使用图形。您可以将 PdfTemplate 包装在 Image 中,这样您就可以绘制任何您想要的东西。然后

    sap.Render = PdfSignatureAppearance.SignatureRender.GraphicAndDescription

  4. 破解源代码。

关于pdf - 使用 iTextSharp 自定义 PDFStamper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4924330/

相关文章:

java - 我们可以使用 iText 压缩 PDF 文件大小吗?

c# - ITextSharp 异常读取 pdf : Rebuild failed: Dictionary key "" is not a name

android - 来自不同 keystore 的 APK 更新

c# - 为 PDF 设置页边距、页眉和页脚而不重叠

java - 允许使用 iText 签署 pdf

c# - 如何使用来自 Windows 证书商店的证书签署 PDF 文档?

android - 如何更改表格单列的宽度?

r - 如何使用 R 从 pdf 中提取粗体和非粗体文本

asp.net - 写入 pdf 的 Html 格式不正确

pdf - 如何在不使先前签名无效的情况下盖章和签名已签名的 pdf