Tengo un documento pdf con muchos campos de formulario. Necesito ver los nombres de los campos del formulario. ¿Puedo hacer esto con Adobe Reader? Tal vez una herramienta de terceros ..?
Tengo un documento pdf con muchos campos de formulario. Necesito ver los nombres de los campos del formulario. ¿Puedo hacer esto con Adobe Reader? Tal vez una herramienta de terceros ..?
Respuestas:
Es probable que encuentre una aplicación fácil de usar para hacer esto por usted, pero así es como lo logro con un pequeño VBScript ...
Descargue e instale ABCpdf desde webSupergoo, disponible aquí ...
Copie el siguiente script en un archivo de texto y guárdelo con una extensión de archivo '.vbs'.
Coloque una copia de su archivo PDF en la misma carpeta que el script, nombrándolo 'myForm.pdf'.
Haga doble clic en el archivo de secuencia de comandos para ejecutar.
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"
Una vez que finaliza el script, debe encontrar otro documento PDF llamado 'output.pdf' que aparece en la misma carpeta, con todos los nombres de campo superpuestos en la parte superior de los campos.
Aprecio que esta pregunta sea un poco vieja, pero en caso de que alguien más la encuentre, el PDF Toolkit le permitirá hacer esto de manera muy simple con un comando que se ve así (donde el PDF desde el que desea los campos del formulario se llama docsOfInterest.pdf:
pdftk docOfInterest.pdf dump_data_fields
Que yo sepa, no puedes hacerlo con Acrobat Reader. Puede usar su programa de escritura de PDF (actualmente Acrobat XI) para hacerlo, pero es bastante costoso.
Tuve que hacer lo mismo por unos pocos documentos. Acabo de descargar la versión de prueba de deskPDF Studio X . Desde el menú, ir a Formularios> Modificar diseño de formulario le permite ver el nombre de los campos.
Tenga en cuenta que trabajar con su versión de prueba gratuita sellará los documentos con una marca de agua si guarda el documento.
Hay un artículo técnico en Aspose.com que explica cómo identificar nombres de campos de formulario para archivos PDF. De acuerdo con este artículo, puede lograr esto utilizando el código Java en 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();
pdftk docOfInterest.pdf dump_data_fields output myDataFields