如何在PDF文件中插入带有证书的印章,使印章图像不覆盖文本?(C#)

问题描述 投票:0回答:1

找不到在文本或文档表格下方设置印章图像的方法。 我尝试使用来自的示例 PdfPadesSigner(https://kb.itextpdf.com/itext/advanced-examples-for-signaturefieldappearance)和 PdfSigner(https://kb.itextpdf.com/itext/how-to-use-a-digital-signing-service-dss-such-as-g#HowtouseaDigitalSigningService(DSS)suchasGlobalSign,withiText-Examplecode), 但它们都在文本上附加了实体图像,因此其他用户无法识别该印章图像覆盖的文本。 这让我困惑了很长时间。我知道可以更改签名图像的不透明度,但我不想更改它。我想知道有没有办法让该图像印在文档文本下方。

我想要的样式是红星上的文本。iText生成的样式是红星下的文本。 也许我的英语不好,抱歉……

c# itext digital-signature
1个回答
0
投票

我找到了一种将图片和文档结合起来的方法。

    using (PdfReader reader2 = new PdfReader(src))
{
    using (PdfWriter writer = new PdfWriter("D:\\output.pdf"))
    {
        using (PdfDocument pdfDoc = new PdfDocument(reader2, writer))
        {
            PdfPage ThePageNeedToSeal = pdfDoc.GetPage(1);
            PdfPage NewPage =pdfDoc.AddNewPage(1);
            ImageData pdfImage = ImageDataFactory.Create("D:\\Stamp_Picture.png");
            PdfCanvas canvas = new PdfCanvas(NewPage);
            canvas.AddImageAt(pdfImage,0,0,true);
            PdfFormXObject page = new PdfFormXObject(ThePageNeedToSeal);
            canvas.AddXObject(page);
            pdfDoc.Close();
        }
    }
}

然后调用没有签名图片的官方演示。好像绕了很长的路,也许有更简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.