Eu tenho um documento PDF com muitos campos de formulário. Eu preciso ver os nomes dos campos do formulário. Posso fazer isso com o Adobe Reader? Talvez uma ferramenta de terceiros ..?
Eu tenho um documento PDF com muitos campos de formulário. Eu preciso ver os nomes dos campos do formulário. Posso fazer isso com o Adobe Reader? Talvez uma ferramenta de terceiros ..?
Respostas:
É provável que você encontre um aplicativo amigável para fazer isso por você, mas é assim que eu o alcanço com um pouco de VBScript ...
Baixe e instale o ABCpdf a partir do webSupergoo, disponível aqui ...
Copie o seguinte script em um arquivo de texto e salve-o com uma extensão de arquivo '.vbs'.
Coloque uma cópia do seu arquivo PDF na mesma pasta que o script, com o nome 'myForm.pdf'.
Clique duas vezes no arquivo de script para executar.
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"
Após a conclusão do script, você deverá encontrar outro documento PDF chamado 'output.pdf' na mesma pasta, com todos os nomes de campos sobrepostos nos campos.
Aprecio que essa pergunta seja um pouco antiga, mas, se alguém o encontrar, o PDF Toolkit permitirá que você faça isso de maneira muito simples com um comando parecido com este (onde o PDF do qual você deseja os campos do formulário é chamado docsOfInterest.pdf:
pdftk docOfInterest.pdf dump_data_fields
Tanto quanto sei, você não pode fazê-lo com o Acrobat Reader. Você pode usar o programa de gravação de PDF (atualmente Acrobat XI) para fazer isso, mas é bastante caro.
Eu tive que fazer a mesma coisa por apenas alguns documentos. Eu apenas o download da versão de teste do deskPDF Studio X . No menu, vá para Formulários> Modificar layout do formulário e permite ver o nome dos campos.
Esteja ciente de que o trabalho com sua versão de avaliação gratuita carimbará os documentos com uma marca d'água se você salvar o documento.
Há um artigo técnico no Aspose.com que explica como identificar nomes de campos de formulários para PDFs. De acordo com este artigo, você pode conseguir isso usando o código Java na 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