title: fill out a form pdf with itextg android
body: <p>I'm trying to fill out a pdf form with itextg 5.5.1 an I can't.The code create a new pdf but it doesn't fill out.
  It's a pdf creat with acrobat and only has 3 fields.
  The problem is when i made de AcrobFields form= stamper.getfields(); Form hasn't the fields.
  With the old verison 5.5.0 on itextg generated a new pdf where all fields were filled out.</p>
  
  <p>Can you help me?
  I put the code here:</p>
  
  <pre><code>Package com.example.gnenerarpdf;
  
  
  
  import java.io.ByteArrayOutputStream;
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.IOException;
  
  import com.itextpdf.text.pdf.AcroFields;
  import com.itextpdf.text.pdf.PdfReader;
  import com.itextpdf.text.pdf.PdfStamper;
  import android.app.Activity;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.os.Bundle;
  import android.os.Environment;
  import android.util.Log;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Toast;
  
  public class MainActivity extends Activity implements OnClickListener{
  
      private final static String NOMBRE_DIRECTORIO = "MiPdf";
      private final static String NOMBRE_DOCUMENTO = "prueba3.pdf";
      private final static String ETIQUETA_ERROR = "ERROR";
      private final static String INPUTFILE="prototipo.pdf";
      private static String OUTPUTNAME="prototiporelleno.pdf";
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          // Generaremos el documento al hacer click sobre el botón.
          findViewById(R.id.btnGenerar).setOnClickListener(this);
      }
  
      @Override
      public void onClick(View v) {
  
          // Creamos el documento.
          //Document documento = new Document();
  
  
  
          try {
  
              // Creamos el fichero con el nombre que deseemos.
              //File f = crearFichero(NOMBRE_DOCUMENTO);
               PdfReader reader;
               PdfStamper stamper;
              File file=crearFichero(INPUTFILE);
  
              String ruta=file.getAbsolutePath();         
                reader = new PdfReader(ruta);
                OUTPUTNAME=file.getParentFile()+"/"+"prototiporelleno1.pdf";
  
  
                stamper = new PdfStamper(reader, new FileOutputStream (OUTPUTNAME));
  
                AcroFields form = stamper.getAcroFields();
                form.setField("Nombre", "pepe");
                form.setField("Apellidos", "rodriguez hernandez");
                form.setField("Fecha", "15/05/14");
  
               stamper.close(); 
  
               reader.close();
  
                Toast.makeText(this, "Pdf generated", Toast.LENGTH_LONG).show();
  
  
          } catch (IOException e) {
  
              Log.e(ETIQUETA_ERROR, e.getMessage());
  
          } catch (com.itextpdf.text.DocumentException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          } finally {
  
              // Cerramos el documento.
  
          }
  
      }
  
      /**
       * Crea un fichero con el nombre que se le pasa a la función y en la ruta
       * especificada.
       * 
       * @param nombreFichero
       * @return
       * @throws IOException
       */
      public static File crearFichero(String nombreFichero) throws IOException {
          File ruta = getRuta();
          File fichero = null;
          if (ruta != null)
              fichero = new File(ruta, nombreFichero);
          return fichero;
      }
  
      /**
       * Obtenemos la ruta donde vamos a almacenar el fichero.
       * 
       * @return
       */
      public static File getRuta() {
  
          // El fichero será almacenado en un directorio dentro del directorio
          // Descargas
          File ruta = null;
          if (Environment.MEDIA_MOUNTED.equals(Environment
                  .getExternalStorageState())) {
              ruta = new File(
                      Environment
                              .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
                      NOMBRE_DIRECTORIO);
  
              if (ruta != null) {
                  if (!ruta.mkdirs()) {
                      if (!ruta.exists()) {
                          return null;
                      }
                  }
              }
          } else {
          }
  
          return ruta;
      }
  }
  </code></pre>