25 votos

Cómo ver los nombres de los campos de un formulario en un documento pdf

Tengo un documento pdf con muchos campos de formulario. Necesito ver los nombres de los campos del formulario. ¿Puedo hacerlo con Adobe Reader? ¿Quizás con una herramienta de terceros?

40voto

zeal Puntos 118

Agradezco que esta pregunta sea un poco antigua pero por si alguien más se encuentra con la Kit de herramientas PDF le permitirá hacer esto de manera muy simple con un comando que se parece a esto (donde el PDF del que quiere los campos del formulario se llama docsOfInterest.pdf:

pdftk docOfInterest.pdf dump_data_fields

1 votos

Si los campos son demasiados, es mejor extraerlos en otro lugar utilizando el argumento de salida, por ejemplo, utilizando myDataFields como archivo de salida: pdftk docOfInterest.pdf dump_data_fields output myDataFields

4voto

Waldemar Puntos 984

Es probable que encuentres una aplicación fácil de usar para hacer esto por ti, pero así es como lo logro con un poco de VBScript...

  1. Descargue e instale ABCpdf desde webSupergoo, disponible aquí...

  2. Copie el siguiente script en un archivo de texto archivo de texto y guárdelo con una extensión '.vbs' con una extensión de archivo '.vbs'.

  3. Coloque una copia de su archivo PDF en la misma carpeta que el script, con el nombre de nombre 'miFormulario.pdf'.

  4. Haz doble clic en el archivo script para ejecutarlo.


Set theDoc = CreateObject("ABCpdf8.Doc")
theDoc.Read "myForm.pdf"
theDoc.AddFont "Helvetica-Bold"
theDoc.FontSize=16
theDoc.Rect.Pin=1

Dim theIDs, theList
theIDs = theDoc.GetInfo(theDoc.Root, "Field IDs")
theList = Split(theIDs, ",")

For Each id In theList
    theDoc.Page = theDoc.GetInfo(id, "Page")
    theDoc.Rect.String = theDoc.GetInfo(id, "Rect")
    theDoc.Color.String = "240 240 255"
    theDoc.FillRect()
    theDoc.Rect.Height = 16
    theDoc.Color.String = "220 0 0"
    theDoc.AddText(theDoc.GetInfo(id, "Name"))
    theDoc.Delete(id)
Next

theDoc.Save "output.pdf"
theDoc.Clear
MsgBox "Finished"

Después de que el script termine deberías encontrar otro documento PDF llamado <strkeep.pdf> que aparece en la misma carpeta, con todos los nombres de los campos superpuestos.

2voto

Jemmeh Puntos 121

Que yo sepa no se puede hacer con Acrobat Reader. Puedes utilizar su programa de escritura de PDF (actualmente Acrobat XI) para hacerlo, pero es bastante caro.

Tuve que hacer lo mismo para unos pocos documentos. Acabo de descargar la versión de prueba de deskPDF Studio X . Desde el menú, ir a Formularios > Modificar el diseño del formulario le permite ver el nombre de los campos.

Ten en cuenta que si trabajas con su versión de prueba gratuita, los documentos quedarán marcados con una marca de agua si guardas el documento.

1voto

CAROL PEASE Puntos 12

Existe una técnica artículo en Aspose.com que explica cómo identificar los nombres de los campos de los formularios para los PDF. Según este artículo, puede conseguirlo utilizando el código Java de la página.

//First a input pdf file should be assigne
Form form = new Form("FilledForm.pdf");
//get all field names
String[] allfields = form.getFieldsNames();
// Create an array which will hold the location coordinates of Form fields
Rectangle[] box = new Rectangle[allfields.Length];
for (int i = 0; i < allfields.Length; i++)
{
  // Get the appearance attributes of each field, consequtively
  FormFieldFacade facade = form.getFieldFacade(allfields[i]);
  //Box in FormFieldFacade class holds field's location.
  box[i] = facade.getBox();
}
form.save();

// Now we need to add a textfield just upon the original one
FormEditor editor = new FormEditor("FilledForm.pdf", ”form_updated.pdf");
for (int i = 0; i < allfields.Length; i++)
{
  // add text field beneath every existing form field
  editor.addField(FormEditor.FLDTYP_TXT, "TextField" + i, allfields[i], 1, box[i].getX, box[i].getY(), box[i].getX() + 50, box[i].getY() + 10);
}
//Close the document
editor.save();

1voto

Randall Puntos 309

Al parecer, hay una demostración en línea de un paquete llamado AspPDF que le permite hacer precisamente eso. Puede encontrar un enlace directo aquí .

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: