PDF 문서에서 양식 필드 이름을 보는 방법


25

양식 필드가 많은 PDF 문서가 있습니다. 양식 필드의 이름을 볼 필요가 있습니다. Adobe Reader로이 작업을 수행 할 수 있습니까? 아마도 타사 도구 ..?

답변:


3

이 작업을 수행하기위한 사용자 친화적 인 응용 프로그램을 찾을 수있을 것입니다. 그러나 이것이 약간의 VBScript로이를 달성하는 방법입니다.

  1. webSupergoo에서 ABCpdf를 다운로드하여 설치 하십시오.

  2. 다음 스크립트를 텍스트 파일로 복사하고 '.vbs'파일 확장자로 저장하십시오.

  3. PDF 파일의 사본을 스크립트와 동일한 폴더에 'myForm.pdf'라는 이름으로 배치하십시오.

  4. 실행할 스크립트 파일을 두 번 클릭하십시오.


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"

스크립트가 끝나면 'output.pdf'라는 다른 PDF 문서가 동일한 폴더에 나타나고 모든 필드 이름이 필드 위에 겹쳐져 나타납니다.


37

나는이 질문이 약간 오래 되었다는 것을 알고 있지만 다른 사람이 그것을 발견 할 경우 PDF 툴킷 은 다음과 같은 명령 으로이 작업을 매우 간단하게 수행 할 수있게합니다 (양식 필드를 원하는 PDF는 docsOfInterest.pdf라고합니다).

pdftk docOfInterest.pdf dump_data_fields

필드가 너무 많으면 출력 인수를 사용하여 다른 곳에서 추출하는 것이 좋습니다. 예 : myDataFields를 출력 파일로 사용 : pdftk docOfInterest.pdf dump_data_fields output myDataFields
Jaider

2

내가 아는 한 Acrobat Reader로는 할 수 없습니다. PDF 작성기 프로그램 (현재 Acrobat XI)을 사용하여 수행 할 수 있지만 상당히 비쌉니다.

나는 단지 몇 가지 문서에 대해 똑같은 일을해야했습니다. 방금 deskPDF Studio X 평가판을 다운로드했습니다 . 메뉴에서 양식> 양식 레이아웃 수정으로 이동하면 필드 이름을 볼 수 있습니다.

무료 평가판으로 작업하면 문서를 저장하면 워터 마크가있는 문서가 찍히게됩니다.


1

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

1

분명히 AspPDF 라는 패키지의 온라인 라이브 데모 가 있습니다. 여기 에서 직접 링크를 찾을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.