Adobe Acrobat에서 조건부 수식을 만드는 방법

깨끗하고 우아한 PDF 파일에서 복잡한 계산을 만드는 방법에는 여러 가지가 있습니다. 다음 문서에 조건부 수식을 통합하는 방법은 다음과 같습니다.

Acrobat의 조건부 수식

이전에 Adobe Acrobat에서 자동 계산의 기본 사항을 다뤘습니다. 조건부 수식을 사용하면 기본을 넘어 PDF에서 더 복잡한 수식을 만들 수 있습니다.

Excel이나 Google 스프레드시트에서 수식을 사용하는 경우 조건부 수식이 무엇인지 이미 알고 있을 것입니다. 논리 공식이라고도 하며 숫자가 음수이거나 점수가 합격 점수보다 높은 경우와 같은 특정 조건이 충족되면 특정 값을 표시하거나 계산을 활성화합니다. Excel에서 가장 일반적인 조건부 수식에는 표준 “IF”와 “SUMIF” 및 COUNTIF가 포함됩니다. 셀이 특정 조건을 충족하면 서식이 변경되는 조건부 서식도 있습니다.

계산된 필드를 사용하면 이러한 종류의 수식을 Adobe PDF에도 적용할 수 있습니다. 숫자, 텍스트를 표시하거나 다른 입력 상자의 결과를 기반으로 계산을 실행할 수 있습니다. 다른 계산된 필드와 함께 사용할 수도 있습니다. 조건 수식은 다음과 같은 다양한 유형의 PDF 양식에 유용합니다.

재무 문서: 예를 들어, 교장이 누군가의 이자율을 결정하는 경우 조건부 공식을 사용하여 입력한 금액을 기반으로 해당 가격을 표시할 수 있습니다.
시험 및 시험: 응시자의 총점에 따라 마지막에 자동으로 “합격” 또는 “불합격”을 표시하는 평가를 할 수 있습니다.
판매: 거래에 사용한다면 특정 질문에 대한 잠재 구매자의 답변에 따라 제품을 추천하는 상자를 만들 수 있습니다.

계산된 필드는 Adobe Acrobat에서만 만들 수 있지만 실제 계산은 모든 PDF 리더에 표시됩니다.

간단한 조건문 생성

Adobe Acrobat의 사용자 정의 계산 필드는 javascript를 프로그래밍 언어로 사용합니다. 다행스럽게도 간단한 조건부 필드를 생성하기 위해 자바스크립트로 프로그래밍하는 방법을 알 필요는 없습니다. 따라야 할 기본 패턴만 있으면 됩니다.

  macOS Mojave에서 다크 모드를 활성화하는 방법

다음 예에서는 이 간단한 회사 주문 양식을 사용합니다. 여기에는 현재 7개 필드가 있습니다. 5개 제품 각각의 수량, 총 수량 및 총 가격에 대한 필드입니다.

Adobe javascript의 조건문은 다음 기본 구문을 따릅니다.

var 변수명 = this.getField(“필드명”).value;
if(변수명 조건) event.value = true 결과
else event.value = 거짓 결과

첫 번째 줄은 조건부 수식에 사용할 값을 정의합니다. 이 특별한 경우에 “this.getField”를 사용하여 문서의 다른 필드 중 하나의 값을 얻었습니다. 두 번째 줄에서 조건을 정의합니다. Excel과 유사하게 특정 값보다 크거나 작거나 같은 조건을 지정합니다.

마지막으로 결과를 정의합니다. 실제 결과는 조건이 충족되는 경우 표시될 값입니다. 다음 줄에서 “else”를 사용하여 조건이 충족되지 않으면 표시될 값인 false 결과를 생성합니다.

이를 실행하기 위해 “대량 주문”이라는 계산된 필드를 만들었습니다. 사용자 정의 계산 스크립트를 입력하려면 Acrobat에서 선택한 필드를 마우스 오른쪽 버튼으로 클릭하고 “속성”을 선택합니다. 여기에서 “계산 > 사용자 지정 계산 스크립트 > 편집”으로 이동합니다.

이 필드는 주문이 대량으로 계산되는지 여부를 결정합니다. 총 수량이 20개보다 크면 상자에 “예”가 표시되고 20개 미만이면 “아니오”가 표시됩니다. 이러한 조건을 고려하면 공식은 다음과 같습니다.

var TQ = this.getField(“총 수량”).value;
if( TQ > 20) event.value = “예”
else event.value = “아니요”

위 이미지에서 변수 이름을 “TQ”로 설정하고 “Total Quantity” 필드에서 TQ 값을 가져온 것을 볼 수 있습니다. 이러한 필드는 대소문자를 구분합니다. 그런 다음 TQ가 20보다 커야 한다는 조건을 설정했습니다. 이 조건을 충족하면 “예”가 표시됩니다. 그렇지 않으면 상자에 “아니오”가 생성됩니다.

예를 들어 총 11개의 라이트닝 케이블과 10개의 배터리 뱅크를 주문했다면 총 21개의 항목이 있습니다. 그런 다음 대량 주문으로 간주되어 다음 결과를 생성합니다.

여러 조건

하나의 조건 대신 여러 조건을 충족해야 하는 경우가 있습니다. 다행히도 여러 조건을 기반으로 값을 생성하는 조건부 필드를 만드는 방법이 있습니다.

상점에서 최소 20개의 제품에 도달하고 총 가격이 150인 모든 주문에 대해 10% 할인을 받을 수 있다고 가정해 보겠습니다. 최종 금액은 “Total With Discount” 필드에 나타납니다. 이 경우 두 개의 변수와 두 개의 조건을 지정해야 합니다. 다음 필드가 있습니다.

  가상 머신을 주시하는 최고의 VM 모니터링 도구

var 가격 = this.getField(“초기 가격”).value;
var TQ = this.getField(“총 수량”).value;
if( 가격 > 150 && TQ > 20 ) event.value = 가격*0.9;
else event.value = 가격;

보시다시피, 우리는 두 개의 개별 라인에 두 개의 변수를 정의했습니다. 또한 두 개의 다른 조건을 결합하려면 “&&” 표기법을 사용해야 합니다. 최종 값은 할인을 고려한 계산이기도 합니다.

따라서 위의 예와 동일한 합계를 사용하면 다음 결과가 생성됩니다.

계산 순서

한 가지 중요한 고려 사항은 계산 순서입니다. 계산을 동시에 렌더링하는 Excel과 달리 Acrobat은 사용자에 따라 어떤 공식이 먼저 나올지 결정합니다.

계산 순서를 설정하려면 “양식 편집” 사이드바로 이동하여 자세히 > 필드 계산 순서 설정으로 이동합니다. 위의 예에서 Bulk Order 및 Total With Discount에 대한 수식은 모두 총 수량 및 총 가격에 의존하기 때문에 TQ 및 TP가 먼저 계산되었는지 확인하려고 합니다.

양식을 게시하기 전에 계산 순서를 검토하십시오. 모든 것이 올바르게 작동하는지 확인하기 위해 양식에 몇 가지 샘플 입력을 시도하는 것이 좋습니다.