So zeigen Sie Formularfeldnamen in einem PDF-Dokument an


25

Ich habe ein PDF-Dokument mit vielen Formularfeldern. Ich muss die Namen der Formularfelder sehen. Kann ich das mit Adobe Reader machen? Vielleicht ein Drittanbieter-Tool ..?

Antworten:


3

Es ist wahrscheinlich, dass Sie eine benutzerfreundliche Anwendung finden, um dies für Sie zu tun, aber so erreiche ich es mit ein wenig VBScript ...

  1. Laden Sie ABCpdf von webSupergoo herunter und installieren Sie es hier ...

  2. Kopieren Sie das folgende Skript in eine Textdatei und speichern Sie es mit der Dateierweiterung ".vbs".

  3. Legen Sie eine Kopie Ihrer PDF-Datei in den gleichen Ordner wie das Skript und nennen Sie sie "myForm.pdf".

  4. Doppelklicken Sie auf die auszuführende Skriptdatei.


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"

Nach Abschluss des Skripts sollte sich im selben Ordner ein weiteres PDF-Dokument mit dem Namen "output.pdf" befinden, in dem alle Feldnamen über den Feldern liegen.


37

Ich weiß, dass diese Frage etwas alt ist, aber falls jemand anderes darauf stößt, können Sie dies mit dem PDF Toolkit ganz einfach mit einem Befehl wie dem folgenden tun (das PDF, aus dem die Formularfelder stammen sollen, heißt docsOfInterest.pdf:

pdftk docOfInterest.pdf dump_data_fields

Wenn die Felder zu viele sind, extrahieren Sie sie besser mit dem Ausgabeargument an einer anderen Stelle. zB mit myDataFields als Ausgabedatei: pdftk docOfInterest.pdf dump_data_fields output myDataFields
Jaider

2

Soweit ich weiß, können Sie dies mit Acrobat Reader nicht tun. Sie können dazu das PDF-Writer-Programm (derzeit Acrobat XI) verwenden, das jedoch recht teuer ist.

Ich musste dasselbe nur für ein paar Dokumente tun. Ich habe gerade die Testversion von deskPDF Studio X heruntergeladen . Im Menü können Sie unter Formulare> Formularlayout ändern den Namen der Felder anzeigen.

Beachten Sie, dass die Verwendung der kostenlosen Testversion Dokumente mit einem Wasserzeichen kennzeichnet, wenn Sie das Dokument speichern.


1

Auf Aspose.com gibt es einen technischen Artikel, in dem erläutert wird, wie Formularfeldnamen für PDFs identifiziert werden. Laut diesem Artikel können Sie dies erreichen, indem Sie den Java-Code auf der Seite verwenden.

//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();

1

Anscheinend gibt es eine Online-Live-Demo eines Pakets namens AspPDF , mit der Sie genau das tun können. Einen direkten Link finden Sie hier .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.