我如何在iText中改变pdfsignature的矩形样式和默认字段描述?

当进行延迟签名时,我在我的pdf中创建了这样一个空签名

    public byte[] emptySignature(String src, String dest, String fieldname)
        throws IOException, GeneralSecurityException, DocumentException {

    PdfReader reader = new PdfReader(src);
    FileOutputStream os = new FileOutputStream(dest);
    PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0');
    PdfSignatureAppearance appearance = stamper.getSignatureAppearance();

    appearance.setLocation("Office");
    appearance.setReason("For testing");

    Rectangle r = new Rectangle(36, 748, 244, 680);
    r.setBackgroundColor(BaseColor.WHITE);
    r.setBorderColor(BaseColor.RED);
    r.setBorder(1);
    r.setBorder(2);
    r.setBorder(3);
    r.setBorder(4);

    appearance.setVisibleSignature(r, 1, fieldname);

    ExternalSignatureContainer external = new ExternalBlankSignatureContainer(PdfName.ADOBE_PPKLITE, PdfName.ADBE_PKCS7_DETACHED);
    MakeSignature.signExternalContainer(appearance, external, 8192);

    byte[] data = IOUtils.toByteArray(appearance.getRangeStream());

    return data;
}

签名后我的pdf有这个印章,默认的文字是 “Digitally signed by…Date: …Reason: …Location”。

  1. 我如何改变这个文本?很明显,我可以用setLocation修改Location,但是我怎么能把字段描述和 “Digitally signed “改成别的?
  2. 我可以改变签名矩形的样式吗?在做setVisibleSignature之前,试图将边框和背景颜色设置为矩形,但不成功。

我使用itext 5.5

解决方案:

我如何修改这个文本?很明显,我可以用setLocation来修改Location,但是我怎么能把字段描述和 “Digitally signed “改成别的东西呢?

你可以设计完全属于你自己的签名外观,比如说 本回答, 本回答, 本回答以及许多其他。

我可以改变签名矩形的样式吗?在做setVisibleSignature之前,试图将边框和背景颜色设置为矩形,但没有成功。

只有您使用下面的命令设置的矩形的位置和尺寸才会出现。appearance.setVisibleSignature 被使用。自定义外观见上文。

给TA打赏
共{{data.count}}人
人已打赏
未分类

在新的SQL版本上执行旧的SSIS包。

2022-9-9 9:10:19

未分类

Django错误应用迁移

2022-9-9 9:10:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索