0

C# と iTextSharp 3.1 を使用して PDF ファイルに署名しています。署名は機能していますが、ファイルの最後のページに署名したいと考えています。私が使用するコードは次のとおりです。

            reader = new PdfReader(inputPDF);
            int numberOfPages = reader.NumberOfPages;
            PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0', null, true);

            PdfSignatureAppearance sap = st.SignatureAppearance;
            if (logoSign != null)
            {
                // Scale img to fit
                logoSign.ScaleToFit(100, 50);
                // Set Signature position on page
                logoSign.SetAbsolutePosition(300, 80);
                sap.Image = logoSign;
            }

            sap.SetCrypto(this.myCert.Akp, this.myCert.Chain, null, PdfSignatureAppearance.VERISIGN_SIGNED);
            if (SigReason.Length > 0)
                sap.Reason = SigReason;
            if (SigContact.Length > 0)
                sap.Contact = SigContact;
            if (SigLocation.Length > 0)
                sap.Location = SigLocation;
            if (visible)
                sap.SetVisibleSignature(mySignRect, 1, null);

            try
            {
                st.Close();
            } catch(Exception e) { }

このコードは、ファイルの最初のページを示しています。ファイルの最後のページに o サインをお願いします。最後のページにサインオンするように設定するにはどうすればよいですか。また、iTextSharp5.4.2 では同じコードが機能しないのも不思議です。sap.SetCrypto() および st.Close() でエラーが発生します。5.4.2 で動作させる方法を教えてください。

ありがとう

4

1 に答える 1

1

mkl が参照しているホワイト ペーパーに付属のサンプルの C# バージョンを試してください: http://sourceforge.net/p/itextsharp/code/HEAD/tree/tutorial/signatures/

于 2013-06-21T08:14:42.680 に答える