PDFGenerationAPI - 범위가 지정됨, 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기57분
  • PDFGenerationAPI는 PDF 변환 및 PDF 필드 처리를 지원합니다.

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

    이러한 방법은 카탈로그 항목이 아닌 항목에서 만든 문서에도 사용할 수 있습니다. 이 클래스의 메서드를 사용하면 다음 작업을 수행할 수 있습니다.

    PDFGenerationAPI – PDFGenerationAPI()

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

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

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

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

    PDFGenerationAPI – convertToPDF(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 문자열 fontFamilySysId, 개체 documentConfiguration)

    HTML 문자열을 PDF 문서로 변환합니다.

    이 방법은 A4 – 595 × 842포인트의 페이지 크기를 사용하여 PDF를 만듭니다. 이 크기를 초과하면 컨텐츠가 잘립니다.

    페이지 크기, 방향 및 페이지 번호와 같은 추가 설정을 사용하여 PDF를 생성하려면 convertToPDFWithHeaderFooter()를 사용합니다.

    표 2. 매개변수
    이름 유형 설명
    html 문자열 PDF 문서로 변환하려는 HTML입니다.
    targetTable 문자열 변환된 PDF를 첨부할 테이블의 이름입니다.
    targetTableSysId 문자열 변환된 PDF를 첨부할 기록의 Sys_id입니다.
    pdfName 문자열 PDF에 제공할 이름입니다.

    기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id.

    fontFamilySysId 님 문자열 옵션입니다. PDF에 사용할 글꼴 모음의 Sys_id입니다. 이 sys_id PDF 생성 글꼴 집합[sys_pdf_generation_font_family] 테이블에 있습니다.

    기본값 : 없음

    documentConfiguration 객체 옵션입니다. 목차 구성 및 페이지 번호 구성을 포함하는 객체입니다.
    {​
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.toc_config 문자열 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 목차 구성 [doc_toc_config] 테이블에서 가져온 것입니다.

    기본값 : 없음

    documentConfiguration.page_number_config 문자열 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성 [doc_page_number_config] 테이블에서 가져온 것입니다.

    기본값 : 없음

    표 3. 반환
    유형 설명
    객체 변환에 성공하면 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다.
    {
      "attachment_id": "String",
      "message": "String",
      "request_id": "String",
      "status": "String"
    }
    <Object>.​attachment_id HTML 변환에 성공하면 변환 및 첨부된 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • 변환하지 못했습니다. – 작성된 PDF가 없습니다. 제공된 값이 정확한지 확인합니다.
    • 변환에 성공했습니다. – HTML이 PDF로 성공적으로 변환되었습니다.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • 지정된 대상 기록 [<tableName> - <targetTableSysId>]이(가) 존재하지 않습니다. – 제공된 테이블에 대상 테이블 sys_id이 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다.
    • 작성할 pdf와 관련된 양식이 없습니다. attachmentSysId: <sys_id>
    • 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: <필드 이름>
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

    <Object>.request_id 변경 생성자 요청 기록의 Sys_id입니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예는 HTML을 PDF로 변환하고 인시던트 [incident] 테이블의 기록에 첨부하는 방법을 보여줍니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var result = v.convertToPDF(html, "incident", "<target_sys_id>", "myPDF");
    gs.info(JSON.stringify(result));

    출력:

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

    PDFGenerationAPI – convertToPDFWithHeaderFooter(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 개체 headerFooterInfo, 문자열 fontFamilySysId, 개체 documentConfiguration)

    HTML 문자열을 머리글과 바닥글 내용이 있는 PDF로 변환합니다.

    이 방법을 사용하여 페이지 설정으로 PDF를 생성합니다.
    • 머리글 및 바닥글 정보
    • 여백 크기
    • 방향
    • 열거형
    • 페이지 크기
    표 4. 매개변수
    이름 유형 설명
    html 문자열 PDF 문서로 변환하려는 HTML입니다.
    targetTable 문자열 변환된 PDF를 첨부할 테이블의 이름입니다.
    targetTableSysId 문자열 변환된 PDF를 첨부할 기록의 Sys_id입니다.
    pdfName 문자열 PDF에 제공할 이름입니다.

    기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id.

    headerFooterInfo 객체 PDF 머리글 및 바닥글 상세 정보를 정의합니다.
    {
      "FooterImageAlignment": "String",
      "FooterImageAttachmentId": "String",
      "FooterImageHeight": "String",
      "FooterText": "String",
      "FooterTextAlignment": "String",
      "GeneratePageNumber": "String",
      "HeaderImageAlignment": "String",
      "HeaderImageAttachmentId": "String",
      "HeaderImageHeight": "String",
      "LeftOrRightMargin": "String",
      "PageOrientation": "String",
      "PageSize": "String",
      "TopOrBottomMargin": "String"
    }
    headerFooterInfo입니다.바닥글 이미지 정렬 문자열 바닥글의 이미지 위치를 설정합니다.
    유효한 값은 다음과 같습니다.
    • BOTTOM_CENTER: 바닥글의 하단 중앙에 이미지를 배치합니다.
    • BOTTOM_LEFT: 바닥글의 왼쪽 하단 영역에 이미지를 배치합니다.
    • BOTTOM_RIGHT: 바닥글의 오른쪽 하단 영역에 이미지를 배치합니다.
    • TOP_CENTER: 바닥글의 상단 중앙에 이미지를 배치합니다.
    • TOP_LEFT: 바닥글의 왼쪽 상단 영역에 이미지를 배치합니다.
    • TOP_RIGHT: 바닥글의 오른쪽 상단 영역에 이미지를 배치합니다.
    headerFooterInfo입니다.바닥글 이미지 첨부 파일 ID 문자열 첨부 파일 [sys_attachment] 테이블의 바닥글 이미지 Sys_id입니다. 파일 형식이 인스턴스에서 지원되는지 확인하려면 시스템 속성> 보안 으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분) 필드에 나열되어 있는지 확인합니다.
    headerFooterInfo입니다.바닥글 이미지 높이 문자열 바닥글 이미지의 높이입니다.

    기본값: 50포인트

    headerFooterInfo입니다.바닥글 텍스트 문자열 각 PDF 페이지의 맨 아래에 배치할 바닥글 텍스트입니다.
    headerFooterInfo입니다.바닥글 텍스트 정렬 문자열 바닥글의 텍스트 위치를 설정합니다. 이 값이 에 headerFooterInfo.FooterImageAlignment제공된 영역과 일치하지 않거나 충돌하지 않는지 확인하십시오.
    유효한 값은 다음과 같습니다.
    • BOTTOM_CENTER: 바닥글의 하단 중앙에 텍스트를 배치합니다.
    • BOTTOM_LEFT: 바닥글의 왼쪽 하단 영역에 텍스트를 배치합니다.
    • BOTTOM_RIGHT: 바닥글의 오른쪽 하단 영역에 텍스트를 배치합니다.
    • TOP_CENTER: 바닥글의 상단 가운데에 텍스트를 배치합니다.
    • TOP_LEFT: 바닥글의 왼쪽 상단 영역에 텍스트를 배치합니다.
    • TOP_RIGHT: 바닥글의 오른쪽 상단 영역에 텍스트를 배치합니다.
    headerFooterInfo입니다.GeneratePageNumber 문자열 PDF 페이지 번호를 생성할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 페이지 번호를 생성합니다.
    • false: 페이지 번호를 생성하지 않습니다.

    기본값: true

    headerFooterInfo입니다.헤더 이미지 정렬 문자열 헤더에서 이미지 위치를 설정합니다.
    유효한 값은 다음과 같습니다.
    • center: 헤더의 가운데에 이미지를 배치합니다.
    • left: 헤더의 왼쪽에 이미지를 배치합니다.
    • right: 헤더의 오른쪽에 이미지를 배치합니다.
    headerFooterInfo입니다.헤더 이미지 첨부 파일 ID 문자열 첨부 파일 [sys_attachment] 테이블의 헤더 이미지 Sys_id입니다. 파일 형식이 인스턴스에서 지원되는지 확인하려면 시스템 속성> 보안 으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분) 필드에 나열되어 있는지 확인합니다.
    headerFooterInfo입니다.헤더 이미지 높이 문자열 헤더 이미지의 높이입니다.

    기본값: 50포인트

    headerFooterInfo입니다.왼쪽 또는 오른쪽 여백 문자열 왼쪽 및 오른쪽 여백의 크기입니다. 페이지의 왼쪽 또는 오른쪽에 배치하면 머리글/바닥글 세부 정보가 이 영역 내에 배치됩니다.

    기본값: 36포인트

    headerFooterInfo입니다.페이지 오리엔테이션 문자열 페이지 방향입니다.
    유효한 값은 다음과 같습니다.
    • 초상
    • 풍경화

    기본값: 세로

    headerFooterInfo입니다.페이지 크기 문자열 문서 페이지 크기입니다.
    유효한 값은 다음과 같습니다.
    • A4 – 595점 × 842점
    • 편지 – 612점 × 792점
    • 원장 – 792 x 1224 포인트

    페이지 크기를 초과하면 컨텐츠가 잘립니다.

    headerFooterInfo입니다.TopOrBottomMargin (위쪽 또는 아래쪽 여백) 문자열 위쪽 및 아래쪽 여백의 크기입니다. 머리글 및 바닥글 상세 정보는 이 영역 내에 배치됩니다.

    기본값: 72포인트

    fontFamilySysId 님 문자열 옵션입니다. PDF에 사용할 글꼴 모음의 Sys_id입니다. 이 sys_id PDF 생성 글꼴 집합[sys_pdf_generation_font_family] 테이블에 있습니다.

    기본값 : 없음

    documentConfiguration 객체 옵션입니다. 목차 구성 및 페이지 번호 구성을 포함하는 객체입니다.
    {​
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.toc_config 문자열 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 목차 구성 [doc_toc_config] 테이블에서 가져온 것입니다.

    기본값 : 없음

    documentConfiguration.page_number_config 문자열 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성 [doc_page_number_config] 테이블에서 가져온 것입니다.

    기본값 : 없음

    표 5. 반환
    유형 설명
    객체 변환에 성공하면 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다.
    {
      "attachment_id": "String",
      "message": "String",
      "request_id": "String",
      "status": "String"
    }
    <Object>.​attachment_id HTML 변환에 성공하면 변환 및 첨부된 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.​메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • 변환하지 못했습니다. – 작성된 PDF가 없습니다. 제공된 값이 정확한지 확인합니다.
    • 변환에 성공했습니다. – HTML이 PDF로 성공적으로 변환되었습니다.
    • 바닥글 이미지 정렬 및 텍스트 정렬은 동일한 정렬로 동일한 영역에 있을 수 없음: <footerImageAlignment value> – 및 headerFooterInfo.​FooterTextAlignment 값이 동일한 영역에 있지 않은지 확인합니다headerFooterInfo.​FooterImageAlignment.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • 지정된 대상 기록 [<tableName> - <targetTableSysId>]이(가) 존재하지 않습니다. – 제공된 테이블에 대상 테이블 sys_id이 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다.
    • 잘못된 바닥글 이미지 정렬: <invalid_option>가 제공되었습니다. – 속성에 headerFooterInfo.​FooterImageAlignment 유효한 옵션을 제공합니다.
    • 잘못된 바닥글 텍스트 정렬: " + <invalid_option> + "가 제공되었습니다. – 속성에 headerFooterInfo.​footerTextAlignment 유효한 옵션을 제공합니다.
    • 작성할 pdf와 관련된 양식이 없습니다. attachmentSysId: <sys_id>
    • 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: <필드 이름>
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 바닥글 이미지를 가져올 수 없습니다. sysId: + <제공된 값> – 제공된 headerFooterInfo.​footerImageId sys_id이 정확한지 확인합니다.
    • 헤더 이미지를 가져올 수 없습니다. sysId: + <제공된 값> – 제공된 headerFooterInfo.​headerImageId sys_id이 정확한지 확인합니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

    <Object>.request_id 변경 생성자 요청 기록의 Sys_id입니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예시는 HTML을 "myPDF"라는 PDF로 변환하고 해당 PDF를 인시던트 [incident] 테이블의 기록에 첨부 파일로 추가하는 방법을 보여줍니다. PDF에는 첨부 파일을 통해 제공된 머리글과 바닥글이 포함되어 있습니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var hfInfo = new Object();
    hfInfo["HeaderImageAttachmentId"] = "<hdrImgAttSysId>";
    hfInfo["HeaderImageAlignment"] = "left";
    hfInfo["FooterImageAttachmentId"] = "<ftrImgAttSysId>";
    hfInfo["FooterImageAlignment"] = "TOP_CENTER";
    hfInfo["FooterText"] = "Sample Footer Message";
    hfInfo["PageSize"] = "A4";
    hfInfo["GeneratePageNumber"] = "false";
    hfInfo["TopOrBottomMargin"] = "36";
    hfInfo["LeftOrRightMargin"] = "24";
    
    var result = v.convertToPDFWithHeaderFooter(html, "incident", "<targetTbl_sys_id>", "myPDF", hfInfo);
    gs.info(JSON.stringify(result));

    출력:

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

    PDFGenerationAPI – fillDocumentFields(개체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName)

    편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.

    다음 방법을 사용하여 PDF에 채울 수 있는지 확인하고 필드 정보를 가져올 수 있습니다.
    PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.
    • fillDocumentFieldsAndFlatten()편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 레코드에 첨부합니다.
    • fillFieldsAndMergeSignature()편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
    • getFilledDocumentWithSignatureAsBase64()편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
    표 6. 매개변수
    이름 유형 설명
    fieldsMap 객체 옵션입니다. PDF 필드 이름 및 입력할 값으로 키 값을 매핑합니다. getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다.
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    tableName 문자열 PDF가 첨부된 기록이 포함된 테이블의 이름입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    tableSysId 문자열 PDF가 첨부된 기록의 Sys_id입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    pdfName 문자열 PDF에 제공할 이름입니다.

    기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id.

    표 7. 반환
    유형 설명
    객체 성공한 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체입니다. 그렇지 않으면 오류 메시지가 표시됩니다.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    유효한 값은 다음과 같습니다.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • 지정된 대상 기록 [<tableName> - <targetTableSysId>]이(가) 존재하지 않습니다. – 제공된 테이블에 대상 테이블 sys_id이 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다.
    • 작성할 pdf와 관련된 양식이 없습니다. attachmentSysId: <sys_id>
    • 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: <필드 이름>
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 편집 가능한 PDF의 필드를 채우는 방법을 보여 줍니다.

    var fieldMap = new Object();
    fieldMap["Address"] = "Address value here";
    fieldMap["State"] = "State value here";
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFields(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName");
    gs.info(JSON.stringify(result));

    출력:

    {"attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – fillDocumentFieldsAndFlatten(개체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, 개체 평면화)

    편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 레코드에 첨부합니다.

    다음 방법을 사용하여 PDF에 채울 수 있는지 확인하고 필드 정보를 가져올 수 있습니다.
    PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.
    • fillDocumentFields()편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
    • fillFieldsAndMergeSignature()편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
    • getFilledDocumentWithSignatureAsBase64()편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
    표 8. 매개변수
    이름 유형 설명
    fieldsMap 객체 옵션입니다. PDF 필드 이름 및 입력할 값으로 키 값을 매핑합니다. getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다.
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    tableName 문자열 PDF가 첨부된 기록이 포함된 테이블의 이름입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    tableSysId 문자열 PDF가 첨부된 기록의 Sys_id입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    pdfName 문자열 PDF에 제공할 이름입니다.

    기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id.

    평평 객체 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경할 수 없도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 평면화 옵션을 문자열로 제공합니다.
    유효한 값은 다음과 같습니다.
    • donot_flatten - 필드를 평면화하지 마십시오.
    • partially_flatten - 수정된 필드만 평면화합니다.
    • fully_flatten - 모든 필드를 평면화합니다.

    기본값: fully_flatten

    {
      "FlattenType": "String" 
    }
    표 9. 반환
    유형 설명
    객체 성공한 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체입니다. 그렇지 않으면 오류 메시지가 표시됩니다.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    유효한 값은 다음과 같습니다.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • 지정된 대상 기록 [<tableName> - <targetTableSysId>]이(가) 존재하지 않습니다. – 제공된 테이블에 대상 테이블 sys_id이 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다.
    • 작성할 pdf와 관련된 양식이 없습니다. attachmentSysId: <sys_id>
    • 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: <필드 이름>
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 필드를 채우고 편집 가능한 PDF를 병합하는 방법을 보여 줍니다.

    var fieldMap = new Object();
    fieldMap["Last Name First Name Middle Initial"] = "Tuter Abel E.";
    fieldMap["Date of Birth"] = "08101952";
    fieldMap["US SSN"] = "111-22-9999";
    fieldMap["Address"] = "PO Box 344";
    fieldMap["City"] = "Jerome";
    fieldMap["State"] = "AZ";
    fieldMap["Zip"] = "86331";
    
    var flatten = new Object();
    flatten["FlattenType"] = "partially_flatten";
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFieldsAndFlatten(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName", flatten);
    gs.info(JSON.stringify(result));

    출력:

    "attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"

    PDFGenerationAPI – fillFieldsAndMergeSignature(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, PdfMergeSignRequestor requestor, Object flatten)

    편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.

    다음 방법을 사용하여 PDF에 채울 수 있는지 확인하고 필드 정보를 가져올 수 있습니다.
    PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.
    표 10. 매개변수
    이름 유형 설명
    fieldsMap 객체 옵션입니다. PDF 필드 이름 및 입력할 값으로 키 값을 매핑합니다. getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다.
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    tableName 문자열 PDF가 첨부된 기록이 포함된 테이블의 이름입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    tableSysId 문자열 PDF가 첨부된 기록의 Sys_id입니다. 이 값은 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 찾을 수 있습니다.
    pdfName 문자열 PDF에 제공할 이름입니다.

    기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id.

    요청자 PdfMergeSignRequestor pdfMergeSignRequestor에서 반환된 서명 입력입니다.
    평평 객체 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경할 수 없도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 평면화 옵션을 문자열로 제공합니다.
    유효한 값은 다음과 같습니다.
    • donot_flatten - 필드를 평면화하지 마십시오.
    • partially_flatten - 수정된 필드만 평면화합니다.
    • fully_flatten - 모든 필드를 평면화합니다.

    기본값: fully_flatten

    {
      "FlattenType": "String" 
    }
    표 11. 반환
    유형 설명
    객체 성공한 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체입니다. 그렇지 않으면 오류 메시지가 표시됩니다.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    유효한 값은 다음과 같습니다.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • 지정된 대상 기록 [<tableName> - <targetTableSysId>]이(가) 존재하지 않습니다. – 제공된 테이블에 대상 테이블 sys_id이 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다.
    • 작성할 pdf와 관련된 양식이 없습니다. attachmentSysId: <sys_id>
    • 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: <필드 이름>
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 필드를 완전히 평면화하기 위해 기본 설정으로 서명으로 필드를 채우는 방법을 보여 줍니다.

    var fieldMap = new Object();
    fieldMap["Address_Salutation"] = "Address value here";
    
    var paramMap = new Object();
    paramMap["FlattenType"] = "partially_flatten";
    
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<attachmentSysId>", "incident", "<tableSysId>", "filledPdf");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signatureSysId>");
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillFieldsAndMergeSignature(fieldMap, "<attachmentSysId>", "incident", "<tableSysId>", requestor, "filledPdf", paramMap);
    gs.info(JSON.stringify(result));
    출력:
    {"attachment_id":"5440d993dbed3010d66be1191396194e","message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – getDocumentFields(문자열 sysId)

    PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 검사할 파일을 수동으로 열지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.

    표 12. 매개변수
    이름 유형 설명
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    표 13. 반환
    유형 설명
    객체 서명된 PDF의 ID를 포함하는 객체입니다. 그렇지 않으면 오류 메시지가 표시됩니다.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.필드 요청이 성공하면 PDF에 각 필드의 이름이 포함된 목록이 표시됩니다.

    데이터 형식: 문자열 배열

    "fields": ["field_name"]
    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예는 PDF 첨부 파일에서 필드를 검색하는 방법을 보여줍니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFields("attachmentSysId");
    gs.info(JSON.stringify(result));
    

    출력:

    {"message":"Request completed successfully.","fields":["NP_formFillable","reset","print","1SSN","Signature.1","5sigDate","Check Box21"],"status":"success"}

    PDFGenerationAPI – getDocumentFieldsType(문자열 sysId)

    PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.

    표 14. 매개변수
    이름 유형 설명
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    표 15. 반환
    유형 설명
    객체 성공하면 각 PDF 필드 유형을 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다.
    {
      "fields_type": {Object},
      "message": "String",
      "status": "String"
    }
    <Object>.fields_type 성공하면 지정된 PDF에 각 필드를 나열하는 객체이고, 그렇지 않으면 오류 메시지입니다.

    데이터 유형: 객체

    "fields_type": {
      "<field type>": {Object},
    }
    <Object>.fields_type.<필드> 각 필드의 페이지 번호를 포함하는 객체입니다. <field> 이름은 필드 레이블(예: "SSN" 또는 형식을 나타내는 자동화된 레이블)을 나타냅니다.

    데이터 유형: 객체

    "<field>": { 
      "fieldsDetails": [Array], // Check boxes, radio buttons, choice boxes only
      "pageNumber": "String",
      "type": "String"
    }
    <Object>.fields_type.<field>.fieldsDetails 필드 이름과 선택 필드 유형에 대한 각 옵션의 해당 값이 포함된 객체의 목록입니다.
    적용 가능한 유형:
    • 확인란
    • 선택 상자
    • 콤보 상자
    • 다중 선택 상자

    데이터 유형: 배열

    "fieldsDetails": [ 
      "fieldName": "String",
      "value": "String"
    ]
    <Object>.fields_type.<field>.fieldsDetails.fieldName 선택 필드의 이름입니다.

    데이터 유형: 문자열

    <Object>.fields_type.<field>.fieldsDetails.value 선택 필드의 값입니다.

    데이터 유형: 문자열

    <Object>.fields_type.<field>.pageNumber 이 필드에 해당하는 PDF 페이지 번호입니다.

    데이터 유형: 문자열

    <Object>.fields_type.<field>.type PDF 필드 유형입니다.
    가능한 값:
    • check_box
    • choice_box
    • combo_box
    • multi_select_choice_box
    • push_button
    • radio_button
    • 서명
    • 텍스트

    데이터 유형: 문자열

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예는 PDF 첨부 파일에서 필드 유형을 검색하는 방법을 보여줍니다. 결과는 가독성을 위해 수동 반환을 포함하며 간결성을 위해 잘립니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFieldsType("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    출력:

    {"fields_type":{"1ADDLINE2.25":{"pageNumber":2,"type":"text"},"1ADDLINE2.24":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.23":{"pageNumber":2,"type":"text"},"1ADDLINE2.22":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.11":{"pageNumber":2,"type":"text"},
    "Check Box1":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":2,"type":"check_box"},
    "4consentDate.6":{"pageNumber":4,"type":"text"},"4consentDate.7":{"pageNumber":4,"type":"text"},
    "3SSN.9":{"pageNumber":3,"type":"text"},"3SSN.8":{"pageNumber":3,"type":"text"},"3SSN.7":{"pageNumber":3,"type":"text"},
    "pageNumber":2,"type":"check_box"},"Check Box8":{"fieldsDetails":[{"fieldName":"Off"},{"fieldName":"yes"}],
    "4planAdminDate.8":{"pageNumber":4,"type":"text"},"4planAdminDate.7":{"pageNumber":4,"type":"text"},
    "1FirstName_ID.7":{"pageNumber":2,"type":"text"},
    "Check Box9":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.1":{"pageNumber":2,"type":"text"},"1LN.2":{"pageNumber":2,"type":"text"},
    "Check Box11":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.9":{"pageNumber":2,"type":"text"},
    "Check Box17":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "Check Box16":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.7":{"pageNumber":2,"type":"text"},"Check Box19":{"fieldsDetails":[{"fieldName":"Yes"}],
    "1LN.8":{"pageNumber":2,"type":"text"},"Check Box18":{"fieldsDetails":[{"fieldName":"Yes"}],
    "print":{"pageNumber":2,"type":"push_button"},"4planAdministrator.1":{"pageNumber":4,"type":"text"},
    "1TaxID.9":{"pageNumber":2,"type":"text"},"4SSN.1":{"pageNumber":3,"type":"text"},"4SSN.2":{"pageNumber":3,"type":"text"},
    "Signature.1":{"pageNumber":4,"type":"text"},"1ZIP.2":{"pageNumber":2,"type":"text"},"1ZIP.3":{"pageNumber":2,"type":"text"},
    "message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – getFilledDocumentWithSignatureAsBase64(개체 fieldsMap, 문자열 sysId, PdfMergeSignRequestor 요청자, 개체 평면화)

    편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.

    Base64 인코딩을 사용하면 이진 문자 구문을 손상시키지 않고 HTML이나 JSON과 같은 텍스트 문서 내에서 PDF를 문자열로 출력할 수 있습니다.

    다음 방법을 사용하여 PDF에 채울 수 있는지 확인하고 필드 정보를 가져올 수 있습니다.
    PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.
    • fillDocumentFields()편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
    • fillDocumentFieldsAndFlatten()편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 레코드에 첨부합니다.
    • fillFieldsAndMergeSignature()편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
    표 16. 매개변수
    이름 유형 설명
    fieldsMap 객체 옵션입니다. PDF 필드 이름 및 입력할 값으로 키 값을 매핑합니다. getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다.
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    요청자 PdfMergeSignRequestor pdfMergeSignRequestor에서 반환된 서명 입력입니다.
    평평 객체 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경할 수 없도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 평면화 옵션을 문자열로 제공합니다.
    유효한 값은 다음과 같습니다.
    • donot_flatten - 필드를 평면화하지 마십시오.
    • partially_flatten - 수정된 필드만 평면화합니다.
    • fully_flatten - 모든 필드를 평면화합니다.

    기본값: fully_flatten

    {
      "FlattenType": "String" 
    }
    표 17. 반환
    유형 설명
    문자열 성공하면 Base64 형식으로 변환된 PDF가 첨부 파일 테이블 [sys_attachment]에 추가됩니다. 컨텐츠는 필드와 서명이 채워진 상태로 제공된 PDF 첨부 파일을 반영합니다. 매개변수와 함께 flatten 대체 병합 옵션이 제공되지 않는 한 필드를 편집할 수 없습니다.
    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    유효한 값은 다음과 같습니다.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • 지정된 대상 기록 [<tableName> - <targetTableSysId>]이(가) 존재하지 않습니다. – 제공된 테이블에 대상 테이블 sys_id이 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다.
    • 작성할 pdf와 관련된 양식이 없습니다. attachmentSysId: <sys_id>
    • 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: <필드 이름>
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 PDF 첨부 파일에서 두 개의 필드를 로드하고, 필드를 병합하고, PDF를 Base64 형식으로 변환하는 방법을 보여 줍니다.

    var mymap = new Object();
    mymap["City"] = "City value here";
    mymap["State"] = "XX";
    
    // create a requestor
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", "pdfName");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signImgSysId>");
    var processedRequestObj = requestor.processRequest();
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    var result = v.getFilledDocumentWithSignatureAsBase64(mymap, "<attachmentSysId>", processedRequestObj);
    gs.info (JSON.stringify(result));

    PDFGenerationAPI – getPdfPageSizes(문자열 sysId)

    PDF 문서의 페이지 크기를 가져옵니다.

    표 18. 매개변수
    이름 유형 설명
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    표 19. 반환
    유형 설명
    객체 성공하면 각 페이지의 크기를 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다.
    {
      "pages_size": {Object},
      "message": "String",
      "status": "String"
    }
    <Object>.pages_크기 작업이 성공하면 각 PDF 페이지의 너비와 높이(포인트)입니다. 페이지 번호는 문자열로 반환되고 측정값은 숫자 데이터 형식으로 반환됩니다.

    데이터 유형: 객체

    "pages_size": {"<page number>":[<width>,<height>]}
    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 PDF 첨부 파일에서 각 페이지의 너비와 높이를 표시하는 방법을 보여 줍니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getPdfPageSizes ("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    출력:

    {"pages_size":{"1":[612,792],"2":[612,792],"3":[612,792],"4":[612,792],"5":[612,792]},"message":"Request completed successfully.","status":"success"}
    

    PDFGenerationAPI – isDocumentFillable(문자열 sysId)

    PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.

    표 20. 매개변수
    이름 유형 설명
    sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    표 21. 반환
    유형 설명
    객체 성공하면 각 페이지의 크기를 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다.
    {
      "document_editable": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​document_editable 작업이 성공하면 문서를 편집할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: PDF 문서에 편집 가능한 필드가 있습니다.
    • false: PDF 문서에 편집 가능한 필드가 없습니다.

    데이터 유형: 문자열로 제공되는 부울 값

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 PDF 문서 필드를 편집할 수 있는지 확인하는 방법을 보여 줍니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.isDocumentFillable("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    출력:

    {"message":"Request completed successfully.","document_editable":"true","status":"success"}

    PDFGenerationAPI – 수정(객체 inputJson)

    지정된 사각형 좌표, 검색 키워드 또는 둘 다를 기준으로 PDF 문서에 수정 작업을 적용합니다. 원본 PDF의 수정된 사본이 첨부 파일 [sys_attachment] 테이블에 생성됩니다.

    주:
    • 수정 결과에는 수정하려는 의도가 아닌 텍스트를 덮어쓰는 예기치 않은 흰색 수정된 텍스트 블록이 포함될 수 있습니다. 이 이벤트가 발생하면 속성 또는 PDF 생성 유틸리티 플러그인을 사용하여 highlightedSections 수정할 컨텐츠를 수동으로 선택할 수 있습니다. 자세한 내용은 Redact data from documents 문서를 참조하십시오.
    • 이 방법은 JBIG2 이미지가 포함된 PDF에서 교정을 지원하지 않습니다.
    표 22. 매개변수
    이름 유형 설명
    inputJson 객체 수정할 PDF와 해당 내용을 식별합니다.
    {
      "sysId": "String",
      "highlightedSections": [Array],
      "searchedKeywords": [Array]
    }
    입력Json.sysId 문자열 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다.
    inputJson입니다. highlightedSections 객체 배열 객체로 제공되는 사각형 좌표의 목록입니다. 각 좌표는 각 페이지에서 수정할 콘텐츠의 위치를 나타냅니다.
    속성을 포함하는 경우 선택 사항입니다 searchedKeywords .
    [
       {
         "pageNumber": Number,
         "x": Number,
         "y": Number,
         "width": Number,
         "height": Number
       }
    ]
    inputJson입니다. highlightedSections입니다. pageNumber 번호 교정을 위해 선택할 컨텐츠가 포함된 PDF 페이지 번호입니다.
    inputJson입니다. highlightedSections입니다. x 번호 PDF에서 교정 사각형의 X축(가로 위치)(포인트)입니다. PDF 페이지의 왼쪽 아래 모퉁이에 있는 값은 0입니다. 예를 들어, 값이 306 이면 사각형이 대략 Letter 크기 PDF 페이지의 가로 가운데에 배치됩니다.
    inputJson입니다. highlightedSections입니다. y 번호 PDF에서 교정 사각형의 Y축(세로 위치)입니다(포인트). PDF 페이지의 왼쪽 아래 모퉁이에 있는 값은 0입니다. 예를 들어, 값이 396 이면 사각형이 대략 Letter 크기 PDF 페이지의 세로 가운데에 배치됩니다.
    inputJson입니다. highlightedSections입니다. 너비 번호 교정 사각형의 너비는 포인트 단위입니다. 이 값은 x축과 y축이 교차하는 왼쪽 아래 지점에서 가로로 사각형의 크기를 늘립니다.
    inputJson입니다. highlightedSections입니다. 높이 번호 교정 사각형의 높이(포인트)입니다. 이 값은 x축과 y축이 교차하는 왼쪽 아래 지점에서 세로로 사각형의 크기를 늘립니다.
    inputJson입니다. searchedKeywords 배열 수정할 텍스트를 찾는 데 사용되는 하나 이상의 문자열 목록입니다. 교정 사각형 크기는 결과적으로 차단된 텍스트의 높이 및 너비와 일치합니다.
    속성을 포함하는 경우 선택 사항입니다 highlightedSections .
    주:
    경우에 따라 "items:""PDF."와 같은 특수 문자 또는 구두점이 포함된 텍스트 문자열이 수정되지 않습니다. 또는 문자열에서 문자를 제거하거나 텍스트를 제거할 영역을 강조 표시할 수 있습니다.
    표 23. 반환
    유형 설명
    객체 성공한 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체입니다. 그렇지 않으면 오류 메시지가 표시됩니다.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다.

    데이터 유형: 문자열

    <Object>.메시지 성공 또는 오류를 확인하는 메시지입니다.
    가능한 값:
    • 이 형식을 구문 분석할 수 없음 – PDF에 포함된 이미지를 처리할 수 없습니다. PDF에는 JBIG2 이미지와 같이 지원되지 않는 형식의 이미지가 하나 이상 포함되어 있습니다.
    • 소스 문서 내용을 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. – 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공합니다.
    • sys_id[{0}]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못해 요청을 진행할 수 없음 – PDF가 바이러스 백신 검사를 통과하지 못했습니다.
    • [{0}]이(가) sys_id 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 – PDF에 바이러스 백신 검사가 필요합니다.
    • 요청이 성공적으로 완료됨 - 운영이 성공했습니다.
    • 정의되지 않음 – 제공된 Sys_id 없거나 PDF 첨부 파일이 아닙니다.

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    다음 예제에서는 사각형 및 키워드로 수정하는 방법을 보여 줍니다. 수정된 PDF에서는 2페이지에서 선택한 영역이 차단됩니다. 문자열 '23'은 발견된 모든 페이지에서 수정됩니다.

    var pdfRequest = {
      sysId: 'e4b3ae35fc128210f877789781ea59f3',
      highlightedSections: [
        {
          "pageNumber": 2,
          "x": 261.75,
          "y": 480,
          "width": 21,
          "height": 14.25
        },
        {
          "pageNumber": 2,
          "x": 249,
          "y": 390.75,
          "width": 63.75,
          "height": 15.75
        }
        // Add more coordinates as needed
      ],
      searchedKeywords: ['23']
    };
    
    // Convert the JSON object to a string
    var jsonRequest = JSON.stringify(pdfRequest);
    gs.info('JSON Request: ' + jsonRequest + '\n');
    
    var PDFRedaction = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = PDFRedaction.redact(jsonRequest);
    gs.info(JSON.stringify(result));

    출력:

    JSON Request: {"sysId":"e4b3ae35fc128210f877789781ea59f3","highlightedSections":[{"pageNumber":2,"x":261.75,"y":480,"width":21,"height":14.25},{"pageNumber":2,"x":249,"y":390.75,"width":63.75,"height":15.75}],"searchedKeywords":[23]}
    
    {"attachment_id":"1744ae35fc128210f877789781ea59fc","message":"Request completed successfully.","status":"success"}