PdfMergeSignRequestor - 범위가 지정됨, 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기5분
  • PdfMergeSignRequestor API는 PDF 문서에 서명을 나타내는 이미지를 추가하는 메서드를 제공합니다.

    이 API는 PDF 생성 유틸리티 플러그인(com.snc.apppdfgenerator)의 ServiceNow 일부이며 sn_pdfgeneratorutils 네임스페이스 내에서 제공됩니다. 플러그인은 기본적으로 활성화되어 있습니다.

    이 API는 PDFGenerationAPI를 사용하여 PDF에서 구현할 수 있는 서명 개체를 만듭니다.

    PdfMergeSignRequestor - PdfMergeSignRequestor()

    PdfMergeSignRequestor 개체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    없음

    다음 예제에서는 PdfMergeSignRequestor 개체를 만드는 방법을 보여 줍니다.

    var v = new sn_pdfgeneratorutils.PdfMergeSignRequestor;

    PdfMergeSignRequestor - addSignatureMapping(번호 pageNumber, 번호 leftMargin, 번호 topMargin, 번호 boxWidth, 번호 boxHeight, 문자열 sysId)

    PDF에서 서명 크기 및 위치 요구 사항을 할당합니다.

    표 2. 매개변수
    이름 유형 설명
    pageNumber 번호 서명을 삽입할 페이지의 번호입니다.
    왼쪽 여백 번호 서명을 삽입할 페이지의 왼쪽 여백 영역을 나타내는 값(포인트)입니다.
    topMargin (최고 마진) 번호 서명 이미지를 삽입할 페이지의 위쪽 여백 영역을 나타내는 포인트 값입니다.
    상자 너비 번호 서명을 포함할 상자의 너비를 나타내는 값(포인트)입니다.
    boxHeight (상자 높이) 번호 서명 이미지를 포함할 상자의 높이를 나타내는 값(포인트)입니다.
    sysId 문자열 첨부 파일 [sys_attachment] 테이블의 서명 이미지 Sys_id입니다.
    표 3. 반환
    유형 설명
    없음

    다음 예제에서는 서명 매핑을 추가하는 방법을 보여 줍니다. 전체 예제는 processRequest()를 참조하세요.

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    
    // For the purpose of this example, set signature sizes and page number for signature placement
    var page = 2;
    var leftMargin = 48;
    var topMargin = 60;
    var signatureWidth = 96;
    var signatureHeight = 36; 
    
    requestor.addSignatureMapping(page, leftMargin, topMargin, signatureWidth, signatureHeight, "<signatureSysId>");

    PdfMergeSignRequestor - createRequest(문자열 targetSysId, 문자열 targetTable, 문자열 tableSysId, 문자열 targetFileName)

    소스 및 대상 입력을 사용하여 서명 요청을 작성합니다.

    표 4. 매개변수
    이름 유형 설명
    targetSysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다. 이 값을 서명을 추가할 대상 PDF로 사용합니다.
    targetTable 문자열 PDF가 첨부된 기록이 포함된 테이블의 이름입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    tableSysId 문자열 PDF가 첨부된 기록의 Sys_id입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    targetFileName(대상 파일 이름) 문자열 확장명이 없는 대상 PDF의 이름입니다.
    표 5. 반환
    유형 설명
    없음

    다음 예제에서는 서명 요청을 만드는 방법을 보여 줍니다. 전체 예제는 processRequest()를 참조하세요.

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", "pdfFileName");

    PdfMergeSignRequestor - processRequest()

    요청을 처리하고 서명을 추가합니다.

    표 6. 매개변수
    이름 유형 설명
    없음
    표 7. 반환
    유형 설명
    객체 성공하면 각 페이지의 크기를 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.attachment_id 요청이 성공하면 서명되고 첨부된 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.메시지
    가능한 값:
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • 서명 매핑이 지정되지 않았습니다. Cannot process this request(이 요청을 처리할 수 없음 ) – addSignatureMapping() 메서드를 사용하여 서명 매핑을 제공합니다.
    • 요청이 성공적으로 완료되었습니다.
    • 요청 실패. 문서에 서명을 추가하는 동안 예외가 발생했습니다. 다시 확인하십시오.
    • 요청한 페이지가 없으므로 이 요청을 완료할 수 없습니다. 페이지 번호: <페이지 번호>

    데이터 유형: 문자열

    <Object>.상태 작업의 성공 여부를 나타내는 상태입니다.
    가능한 값:
    • success - 운영이 성공했습니다.
    • failure – 작업이 성공하지 못했습니다. message 에서 상세 정보를 제공합니다.

    데이터 유형: 문자열

    다음 예제에서는 서명 요청을 처리하는 방법을 보여 줍니다.

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", pdfFileName);
    
    // For the purpose of this example, set signature sizes and page number for signature placement
    var page = 6;
    var leftMargin = 40;
    var topMargin = 50;
    var signatureWidth = 188;
    var signatureHeight = 44; 
    
    requestor.addSignatureMapping(page, leftMargin, topMargin, signatureWidth, signatureHeight, "<signatureSysId>");
    
    var result = requestor.processRequest();
    gs.info(JSON.stringify(result));