У мене є документ у форматі PDF з багатьма полями форм. Мені потрібно побачити назви полів форми. Чи можу я це зробити за допомогою Adobe Reader? Можливо, сторонній інструмент ..?
У мене є документ у форматі PDF з багатьма полями форм. Мені потрібно побачити назви полів форми. Чи можу я це зробити за допомогою Adobe Reader? Можливо, сторонній інструмент ..?
Відповіді:
Ймовірно, ви знайдете зручне додаток, щоб зробити це для вас, але саме так я досягну цього за допомогою невеликого VBScript ...
Завантажте та встановіть ABCpdf з webSupergoo, доступний тут ...
Скопіюйте наступний скрипт у текстовий файл і збережіть його з розширенням файлу '.vbs'.
Помістіть копію файлу PDF у ту саму папку, що і сценарій, назвавши його "myForm.pdf".
Двічі клацніть файл сценарію для запуску.
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"
Після завершення сценарію ви повинні знайти ще один документ PDF з назвою 'output.pdf' у тій самій папці з усіма назвами полів, накладених зверху на поля.
Я вдячний, що це питання трохи старе, але у випадку, якщо хтось інший стикається з ним, PDF Toolkit дозволить вам зробити це дуже просто командою, яка виглядає приблизно так (де PDF, з якого ви хочете поля форми, називається docsOfInterest.pdf:
pdftk docOfInterest.pdf dump_data_fields
Наскільки я знаю, ви не можете зробити це з програмою Acrobat Reader. Ви можете використовувати їх програму для створення PDF-файлів (в даний час Acrobat XI), але це досить дорого.
Мені довелося зробити те саме для лише декількох документів. Я просто скачав пробну версію deskPDF студії X . У меню перейти до Форми> Змінити макет форми дозволяє побачити назву полів.
Будьте в курсі, що робота з їх безкоштовною пробною версією, якщо ви збережете документ, проставляйте штампи на документах з водяним знаком.
На Aspose.com є технічна стаття, яка пояснює, як визначити імена полів форми для PDF-файлів. Відповідно до цієї статті, ви можете досягти цього, використовуючи код Java на сторінці.
//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