2011-12-17 19 views
3

私は、winformsを使用してitextsharpを使用してPDFフォームに署名フィールドを追加することを検討しています 以下は試したコードです。 iTextSharpを使用してC#でフォームに署名フィールドを追加

は二行目が実行されると、次のエラーがスローされ

var writer = new PdfWriter(outputPdfStream); 
PdfFormField SigField = PdfFormField.CreateSignature(writer); 

編集:

Error 1 'iTextSharp.text.pdf.PdfWriter' does not contain a constructor that takes 1 arguments 

は、私はまだiTextsharpのインとアウトのを学んでいます。すべての指導は非常に感謝しています。

ありがとうございました!

+0

「以下は私がしようと考えていたコードである」 - あなたは実際にこれを試していない意味ですか?多分最初に試してみて、問題があれば元に戻ってください。 –

+0

私はそれを試しました。私は混乱のために申し訳ありません。私は質問を更新しました。 – Beak

答えて

3

エラーは、単一の引数を取るiTextSharp.text.pdf.PdfWriterのコンストラクタがないことを示しています。

How to sign a PDF using iText and iTextSharp

KeyStore ks = KeyStore.getInstance("pkcs12"); 
ks.load(new FileInputStream("my_private_key.pfx"), "my_password".toCharArray()); 
String alias = (String)ks.aliases().nextElement(); 
PrivateKey key = (PrivateKey)ks.getKey(alias, "my_password".toCharArray()); 
Certificate[] chain = ks.getCertificateChain(alias); 
PdfReader reader = new PdfReader("original.pdf"); 

FileOutputStream fout = new FileOutputStream("signed.pdf"); 
PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0'); 

PdfSignatureAppearance sap = stp.getSignatureAppearance(); 
sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED); 
sap.setReason("I'm the author"); 
sap.setLocation("Lisbon"); 
// comment next line to have an invisible signature 
sap.setVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null); 
stp.close();