2017-06-28 33 views
1

Acrobat DC 2015でPDFフォームを作成しました。画像フィールドがあります。私はテキストフィールドをうまく埋めます。しかし、私はイメージフィールドを埋める方法を知らない。私を助けてくれますか?iTextSharp PDFフォームの画像フィールド

private static void FillPdfForm() 
    { 
     // Original File 
     const string pdfTemplate = @"pdf\form.pdf"; 
     // New file which will be created after fillin PDF 
     var newFile = @"pdf\FilledCV.PDF"; 
     var pdfReader = new PdfReader(pdfTemplate); 
     var pdfStamper = new PdfStamper(pdfReader, new FileStream(
      newFile, FileMode.Create)); 
     var pdfFormFields = pdfStamper.AcroFields; 

     // So one of our fields in PDF is FullName I am filling it with my full name 
     pdfFormFields.SetFieldProperty("01", "textsize", 8f, null); 
     pdfFormFields.SetField("01", "Example"); 

     // flatten the form to remove editting options, set it to false 
     // to leave the form open to subsequent manual edits 

     foreach (var de in pdfReader.AcroFields.Fields) 
     { 
      pdfFormFields.SetFieldProperty(de.Key.ToString(), 
             "setfflags", 
             PdfFormField.FF_READ_ONLY, 
             null); 
     } 

     pdfStamper.FormFlattening = false; 
     pdfStamper.FormFlattening = false; 
     pdfStamper.Close(); 
    } 

答えて

2

固定しました。

private static void FillPdfForm() 
    { 
     const string pdfTemplate = @"pdf\form.pdf"; 
     var newFile = @"pdf\FilledCV.PDF"; 
     var pdfReader = new PdfReader(pdfTemplate); 
     var pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create)); 
     var pdfFormFields = pdfStamper.AcroFields; 

     string TestImage = @"pdf\test.jpg"; 
     PushbuttonField ad = pdfFormFields.GetNewPushbuttonFromField("08"); 
     ad.Layout = PushbuttonField.LAYOUT_ICON_ONLY; 
     ad.ProportionalIcon = true; 
     ad.Image = Image.GetInstance(TestImage); 
     pdfFormFields.ReplacePushbuttonField("08", ad.Field); 


     pdfFormFields.SetFieldProperty("01", "textsize", 8f, null); 
     pdfFormFields.SetField("01", "Example"); 
     foreach (var de in pdfReader.AcroFields.Fields) 
     { 
      pdfFormFields.SetFieldProperty(de.Key,"setfflags",PdfFormField.FF_READ_ONLY,null); 
     } 
     pdfStamper.FormFlattening = false; 
     pdfStamper.Close(); 
    } 
関連する問題