Others

PDF 양식 필드에 조건부 논리 및 규칙을 추가할 수 있습니까?

귀하는 고객 접수를 위한 PDF 양식을 디자인하고 있습니다. 고객이 '개인'을 선택한 경우 계정 유형에 따라 양식에는 이름 및 사회보장번호 필드가 표시되어야 합니다. "비즈니스"를 선택하면 대신 양식에 회사 이름과 고용주 식별 번호 필드가 표시되어야 합니다. 종이 양식에서는 두 섹션을 모두 인쇄하고 "해당되는 경우" 각각 옆에. 디지털 PDF에서 조건부 논리는 관련 없는 섹션을 완전히 숨겨 사용자에게 실제로 작성해야 하는 필드만 표시할 수 있습니다.

PDF 양식의 조건부 논리는 실제적이고 기능적이지만 중요한 주의 사항이 있습니다. JavaScript와 CSS가 가시성 및 레이아웃에 대한 유연한 제어를 제공하는 웹 양식과 달리 PDF 조건부 논리는 PDF 형식의 제한된 JavaScript 구현과 다양한 PDF 뷰어가 스크립트를 실행하는 일관되지 않은 방식으로 인해 제한됩니다. 가능한 것과 불가능한 것을 이해하면 테스트 환경에서 작동하지만 수신자 절반에게 영향을 미치는 양식을 디자인하는 데 방해가 됩니다.

Can You Add Conditional Logic and Rules to PDF Form Fields

PDF 형식의 조건부 논리가 실제로 수행할 수 있는 작업

PDF 조건부 논리는 2000년대 초반부터 PDF 사양의 일부였던 JavaScript의 단순화된 버전인 Acrobat JavaScript에서 실행됩니다. 사용자 입력에 따라 양식 필드를 표시하거나 숨길 수 있습니다. 필드를 활성화 또는 비활성화하고, 색상이나 테두리를 변경하고, 필수 또는 선택 사항으로 표시하고, 조회 테이블에서 해당 값을 채울 수 있습니다. 사용자가 입력할 때 입력의 유효성을 검사하고, 경고 메시지를 표시하고, 특정 조건이 충족되면 계산을 실행할 수 있습니다.

할 수 없는 일은 페이지 레이아웃을 재구성하는 것입니다. 필드를 숨기면 해당 필드가 보기에서 제거되지만 해당 필드가 차지한 공간은 그대로 유지됩니다. 아래 필드는 공백을 채우기 위해 위로 미끄러지지 않습니다. 페이지가 리플로우되지 않습니다. 이것이 PDF 양식과 웹 양식 사이의 가장 큰 차이점이며 누군가가 PDF 내에서 웹 양식 경험을 복제하려고 할 때 가장 실망스러운 원인입니다. 조건부 논리가 페이지 레이아웃을 대폭 변경해야 하는 경우 PDF는 잘못된 도구입니다. 고정 레이아웃 내에서 몇 가지 필드를 표시하거나 숨겨야 하는 경우 PDF 조건부 논리가 이를 잘 처리합니다.

WukongPDF

PDF 편집을 사용해 보세요

설치가 필요하지 않습니다. 브라우저에서 직접 작동합니다.

시작하기 →

드롭다운 또는 확인란 선택을 기반으로 표시-숨기기 규칙을 설정하는 방법

가장 일반적인 조건부 패턴은 표시할 후속 필드를 제어하는 드롭다운 또는 라디오 버튼 세트입니다. WukongPDF의 양식 편집기에서 값이 다음에 일어날 일을 결정하는 제어 필드, 드롭다운 또는 라디오 버튼 그룹을 만드는 것부터 시작합니다. "accountType"과 같이 명확한 이름을 지정하세요. 그런 다음 표시되거나 숨겨질 수 있는 모든 필드를 만듭니다. 가능한 모든 필드는 처음부터 양식에 존재해야 합니다. 조건부 논리는 가시성만 제어합니다. 필드를 생성하거나 파괴하지 않습니다.

필드가 생성되면 제어 필드의 속성을 열고 유효성 검사 또는 흐림 시 이벤트 탭을 찾습니다. 여기에서 사용자의 선택에 응답하는 JavaScript를 작성합니다. 간단한 표시 숨기기 스크립트는 다음과 같습니다. var choice = event.target.value; this.getField("ssnField").display = (choice === "개별") ? 디스플레이.가시적 : 디스플레이.숨김; this.getField("einField").display = (choice === "Business") ? 디스플레이.가시적 : 디스플레이.숨김; 사용자가 드롭다운을 변경하면 스크립트가 실행되어 선택한 값을 확인하고 각 필드의 표시 속성을 표시 또는 숨김으로 설정합니다.

중요한 세부 사항: 모든 조건부 필드의 초기 상태를 제어 필드의 기본값과 일치하도록 설정합니다. 드롭다운의 기본값이 "개인" SSN 필드는 표시되기 시작하고 EIN 필드는 숨겨지기 시작해야 합니다. 필드가 잘못된 상태에서 시작되면 사용자는 처음으로 드롭다운과 상호 작용할 때까지 두 가지를 모두 볼 수 없거나 둘 다 볼 수 없습니다. 이는 깨진 것처럼 보입니다. 초기 상태와 스크립트 논리가 일치해야 합니다.

사용자가 이동하기 전에 입력을 확인하는 유효성 검사 규칙

조건부 논리는 가시성을 넘어 입력 검증까지 확장됩니다. 날짜 필드를 통해 입력한 날짜가 허용 범위에 속하는지 확인할 수 있습니다. 이메일 필드는 입력에 @ 기호와 도메인이 포함되어 있는지 확인할 수 있습니다. 전화번호 필드에는 정확히 10자리가 필요할 수 있습니다. 유효성 검사 스크립트는 사용자가 필드를 떠나려고 할 때 발생하는 필드의 유효성 검사 이벤트에서 실행됩니다. 스크립트가 event.rc = false를 호출하는 경우 포커스는 필드에 유지되며 사용자는 입력이 수정될 때까지 진행할 수 없습니다.

실제 전화 확인은 다음과 같습니다: varphone = event.value.replace(/\s|-|\(|\)/g, ''); if (phone !== "" && !/^\d{10}$/.test(phone)) { app.alert("전화번호 10자리를 입력하세요."); 이벤트.rc = 거짓; } 이 스크립트는 공백, 대시 및 괄호를 제거한 다음 나머지 문자가 정확히 10자리인지 확인합니다. 필드가 비어 있으면 모든 전화 필드가 필요한 것은 아니기 때문에 유효성 검사가 통과됩니다. 필드에 내용이 있지만 10자리가 아닌 경우 스크립트는 경고 메시지를 표시하고 사용자가 필드를 떠나지 못하도록 차단합니다.

유효성 검사 규칙은 명확한 오류 메시지와 함께 자제해서 사용해야 합니다. 알 수 없는 경고로 모든 필드에서 사용자를 차단하는 양식은 좌절감을 조성합니다. 잘못된 입력으로 인해 실제 문제가 발생할 수 있는 필드만 검증하고 사용자가 수정해야 할 사항을 설명하는 양식은 신뢰도를 높여줍니다. 경고 텍스트에는 무엇이 잘못되었는지, 해결 방법이 정확히 명시되어 있어야 합니다. "입력이 잘못되었습니다" 쓸모가 없습니다. "전화번호는 공백이나 대시 없이 10자리여야 합니다." 사용자에게 무엇을 해야 할지 알려줍니다.

뷰어 호환성 문제 및 해결 방법

PDF JavaScript는 Adobe Acrobat Reader, Acrobat Pro 및 대부분의 데스크탑 PDF 응용 프로그램에서 지원됩니다. Chrome의 내장 뷰어, Firefox의 PDF.js 및 Safari의 미리보기를 포함한 대부분의 브라우저 기반 PDF 뷰어에서는 지원되지 않습니다. 일부 모바일 PDF 앱에서는 부분적으로 지원되지만 다른 앱에서는 완전히 지원되지 않습니다. 양식이 조건부 논리 및 유효성 검사 스크립트에 의존하고 수신자가 JavaScript를 실행하지 않는 뷰어에서 양식을 열면 숨겨야 하는 필드를 포함하여 모든 필드가 표시되며 유효성 검사 규칙이 실행되지 않습니다.

이에 대한 완벽한 기술 솔루션은 없습니다. 가장 좋은 접근 방식은 명확한 라벨링과 양식 상단에 눈에 띄는 지침을 결합하는 것입니다. 조건부 섹션에 트리거 조건을 지정하세요. "위에서 비즈니스를 선택한 경우 이 섹션을 작성하세요." 이렇게 하면 스크립팅이 실패하더라도 사용자가 수동으로 양식을 따를 수 있습니다. 대화형 PDF 경험은 이해할 수 없게 되는 대신 사용 가능한 정적 형식으로 우아하게 저하됩니다.

여러 뷰어를 대상으로 조건부 양식 테스트

조건부 PDF 양식을 배포하기 전에 데스크탑의 Adobe Acrobat Reader, Chrome 내장 PDF 뷰어, Mac의 Safari 또는 Preview PDF 뷰어, iPhone 및 Android의 모바일 PDF 뷰어 등 최소 4가지 환경에서 테스트하십시오. 각 환경에서 체계적으로 양식을 작성하세요. 드롭다운 선택을 변경하고 올바른 필드가 나타나고 사라지는지 확인합니다. 잘못된 데이터를 입력하고 유효성 검사 메시지가 나타나는지 확인하면 제출이 방지됩니다. 양식을 저장하고 다시 열어 저장된 상태가 일치하는지 확인하세요.

내부 회사 양식이나 특정 포털을 통해 제출된 양식과 같이 알려진 청중에게 전달되는 양식의 경우 청중이 실제로 사용하는 뷰어만 테스트하십시오. 조직의 모든 사람이 Adobe Acrobat을 사용하는 경우 브라우저 호환성은 관련이 없습니다. 귀하의 양식이 공개 웹사이트에 게시되고 모든 기기를 사용하는 사람이 열게 될 경우 상당한 비율의 사용자가 JavaScript 없이 양식을 보게 될 것이라고 가정하십시오. 모든 필드가 표시되고 모든 지침이 명확하게 저하된 상태에서 허용 가능하게 작동하도록 양식을 설계하고 조건부 논리를 요구 사항이 아닌 개선 사항으로 삼으십시오.

조건부 논리가 대신 웹 양식에 속하는 경우

양식에 다단계 마법사, 동적 필드 생성, 실시간 서버 유효성 검사 또는 필드가 나타나고 사라질 때 페이지 리플로우가 필요한 경우 PDF가 아닌 웹 양식이 적합한 도구입니다. PDF 양식은 대화형 기능이 향상된 정적 문서입니다. 웹 양식은 문서와 유사한 출력을 제공하는 대화형 애플리케이션입니다. PDF로 복잡한 조건부 양식을 작성했지만 청중의 절반이 의도한 대로 이를 사용할 수 없다는 사실을 발견하는 것은 실망스럽고 시간이 많이 걸리는 실수이기 때문에 구별이 중요합니다.

실용적인 하이브리드 접근 방식은 데이터 수집 및 조건부 논리를 위해 웹 양식을 사용하고 서명, 보관 및 공유를 위해 제출된 데이터에서 PDF를 생성하는 것입니다. WukongPDF의 PDF Editor은 웹 양식을 통해 데이터를 수집하고, 응답으로 PDF 템플릿을 채우고, 기록을 위해 세련된 PDF를 사용자에게 전달하는 작업 흐름에 적합합니다. 웹 양식은 논리를 처리합니다. PDF가 프레젠테이션을 처리합니다. 각 도구는 최선을 다해 수행합니다.

WukongPDF

PDF 편집을 사용해 보세요

설치가 필요하지 않습니다. 브라우저에서 직접 작동합니다.

시작하기 →