Dopo un'ulteriore revisione, la sentenza sul campo viene annullata. Risulta che se si appiattisce il timbro, i campi non vengono visualizzati nel documento risultante (perché mancano le impostazioni di 'aspetto'). A proposito, l'appiattimento della forma impedisce ulteriori modifiche di un campo modulo. Ora possiamo aggiungere l'aspetto al modulo, tuttavia, un modo più semplice è utilizzare la classe TextField e non preoccuparti di impostare in modo esplicito oggetti 'apparenza'.
public void ABetterWayToAddFormFieldToExistingPDF()
{
PdfReader reader = new PdfReader(@"c:\existing.pdf");
FileStream out = new FileStream(@"C:\existingPlusFields.pdf", FileMode.Create, FileAccess.Write);
PdfStamper stamp = new PdfStamper(reader, out);
TextField field = new TextField(stamp.Writer, new iTextSharp.text.Rectangle(40, 500, 360, 530), "some_text");
// add the field here, the second param is the page you want it on
stamp.AddAnnotation(field.GetTextField(), 1);
stamp.FormFlattening = true; // lock fields and prevent further edits.
stamp.Close();
}
fonte
2009-12-08 14:31:29
I campi aggiunti con AddAnotation non sono comunque appiattiti, vedere il commento sulla proprietà Formflattening nel codice sorgente di itextsharp http://sourceforge.net/p/itextsharp/code/453/tree/trunk/src/core/iTextSharp/text /pdf/PdfStamper.cs –