---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# PDFGenerationAPI - 범위, 전역

# PDFGenerationAPI - 범위, 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 76분

PDFGenerationAPI는 PDF 변환 및 PDF 필드 처리를 지원합니다.
이 API는 PDF Generation Utilities 플러그인(com.snc.apppdfgenerator)의 ServiceNow 일부이며 `sn_pdfgeneratorutils` 네임스페이스 내에서 제공됩니다. 플러그인은 기본적으로 활성화되어 있습니다.

이 속성을 사용하여 glide.pdf.url.whitelist 도입된 외부 URL이 생성된 PDF에 포함되어야 하는지 여부를 확인하려면 확인 레이어를 추가합니다. 속성 glide.pdf.url.whitelisting.enabled가 예로 설정된 경우 PDF는 com.snc.pdf.whitelisted_urls 시스템 속성의 값 필드에 나열되어 있지 않는 한 URL 컨텐츠를 처리하지 않습니다. 이러한 속성은 시스템 속성 \[sys_properties\] 테이블에 나열됩니다. 자세한 내용은 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US) 문서를 참조하십시오.  
주:  
최대 PDF 크기는 50MB입니다.  
이 클래스의 메서드는 다음 작업을 사용하도록 설정합니다.

* HTML 문자열에서 동적으로 PDF를 생성하고 기록에 첨부
  * 머리글 또는 바닥글이 없는 A4 크기 -- [PDFGenerationAPI -- convertToPDF(String html, String targetTable, String targetTableSysId, String pdfName, String fontFamilySysId, Object documentConfiguration)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-convertToPDF_S_S_S_S "HTML 문자열을 PDF 문서로 변환합니다.")
  * 머리글 및 바닥글 옵션으로 사용자 지정 가능한 페이지 크기 -- [PDFGenerationAPI -- convertToPDFWithHeaderFooter(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 객체 headerFooterInfo, 문자열 fontFamilySysId, 객체 documentConfiguration)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-convertToPDFWithHdrFtr_S_S_S_S_O "HTML 문자열을 머리글 및 바닥글 콘텐츠가 포함된 PDF로 변환합니다.")
  {#PDFGenerationAPIBothAPI__ul_ocm_vpr_tbc}
* PDF가 HTML 문자열에서 생성되어 기록에 첨부되도록 큐에 넣습니다.
  * 머리글 또는 바닥글이 없는 A4 크기 -- [PDFGenerationAPI -- convertToPDFAsync(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 문자열 fontFamilySysId, 객체 documentConfiguration)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-convertToPDFAsync_S_S_S_S "HTML 문자열을 PDF 문서로 비동기식으로 변환하는 작업을 준비합니다. 비동기 처리를 사용하면 PDF 변환이 진행되는 동안 인스턴스에서 작업할 수 있습니다. 이는 대용량 PDF 내보내기에 특히 유용합니다.")
  * 머리글 및 바닥글 옵션으로 사용자 지정 가능한 페이지 크기 -- [PDFGenerationAPI -- convertToPDFWithHeaderFooterAsync(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 객체 headerFooterInfo, 문자열 fontFamilySysId, 객체 documentConfiguration)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-convertToPDFWithHdrFtA_S_S_S_S_O "HTML 문자열을 헤더 및 바닥글 컨텐츠가 있는 PDF로 비동기식으로 변환하는 작업을 스테이징합니다. 비동기 처리를 사용하면 PDF 변환이 진행되는 동안 인스턴스에서 작업할 수 있습니다. 이는 대용량 PDF 내보내기에 특히 유용합니다.")
  {#PDFGenerationAPIBothAPI__ul_mld_5nl_ydc}
* PDF의 필드 채우기
  * [PDFGenerationAPI -- fillDocumentFieldsAndFlatten(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, 객체 평면화)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocFieldsFlatten_O_S_S_S_S_O "편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.")
  * [PDFGenerationAPI -- fillDocumentFields(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocumentFields_O_S_S_S_S "편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.")
  * [PDFGenerationAPI -- isDocumentFillable(문자열 sysId)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-isDocumentFillable_S "PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.")
  {#PDFGenerationAPIBothAPI__ul_kvf_spr_tbc}
* PDF 서명
  * [PDFGenerationAPI -- fillFieldsAndMergeSignature(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, PdfMergeSignRequestor 요청자, 객체 평면화)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillFieldsMergeSig_O_S_S_S_S_O_O "편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.")
  * [PDFGenerationAPI -- getFilledDocumentWithSignatureAsBase64(객체 fieldsMap, 문자열 sysId, PdfMergeSignRequestor 요청자, 객체 평면화)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getFilDocWithSigAsBase64_O_S_O_O "편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.")
  {#PDFGenerationAPIBothAPI__ul_xzr_frr_tbc}
* 채워진 필드를 평면화 또는 부분적으로 평면화하여 편집 제한 -- [PDFGenerationAPI -- fillDocumentFieldsAndFlatten(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, 객체 평면화)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocFieldsFlatten_O_S_S_S_S_O "편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.")
* PDF 페이지 크기 및 필드 데이터 검색
  * [PDFGenerationAPI -- getPdfPageSizes(문자열 sysId)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getPdfPageSizes_S "PDF 문서의 페이지 크기를 가져옵니다.")
  * [PDFGenerationAPI -- getDocumentFieldsType(문자열 sysId)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFieldsType_S "PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.")
  * [PDFGenerationAPI -- getDocumentFields(문자열 sysId)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFields_S "PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 파일을 수동으로 열어 확인하지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.")
  {#PDFGenerationAPIBothAPI__ul_e2p_ypr_tbc}
* PDF의 정보 수정 -- [PDFGenerationAPI -- redact(객체 inputJson)](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-redact_O "지정된 사각형 좌표, 검색 키워드 또는 둘 다를 기준으로 PDF 문서에 수정 사항을 적용합니다. 원본 PDF의 수정된 사본이 첨부 파일 [sys_attachment] 테이블에 생성됩니다.")

{#PDFGenerationAPIBothAPI__ul_csg_2vl_l4b}  
주:  
이러한 메서드는 카탈로그가 아닌 항목으로 만든 문서에도 사용할 수 있습니다.  
관련 API:

* [PdfMergeSignRequestor](https://servicenow-prod.fluidtopics.net/YyFuJ6cCReFRue~4bLVPZg#PdfMergeSignRequestorBothAPI "PdfMergeSignRequestor API는 PDF 문서에 서명을 나타내는 이미지를 추가하는 메서드를 제공합니다.")
* [SVGToPDFConversionAPI](https://servicenow-prod.fluidtopics.net/lSqq4lZqZz~g~BS~gEkL7A#SVGToPDFConversionAPBothAPI "SVGToPDFConversionAPI는 PDF에 SVG를 추가하고 SVG를 PDF로 변환할 수 있는 메서드를 제공합니다.")

## PDFGenerationAPI -- PDFGenerationAPI() {#ariaid-title2}

새 PDFGenerationAPI 객체를 인스턴스화합니다.
{#P-PDFGenerationAPI__table_twm_hjk_34b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 1. 매개변수]

{#P-PDFGenerationAPI__table_twm_hjk_34b}  
다음 예제에서는 PDFGenerationAPI 개체를 만드는 방법을 보여 줍니다.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

## PDFGenerationAPI -- convertToPDF(String html, String targetTable, String targetTableSysId, String pdfName, String fontFamilySysId, Object documentConfiguration) {#ariaid-title3}

HTML 문자열을 PDF 문서로 변환합니다.
이 방법은 페이지 크기 A4 -- 595 × 842포인트를 사용하여 PDF를 만듭니다. 이 크기를 초과할 경우 콘텐츠가 잘립니다.

페이지 크기, 방향 및 페이지 번호와 같은 추가 설정으로 PDF를 생성하려면 [convertToPDFWithHeaderFooter()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-convertToPDFWithHdrFtr_S_S_S_S_O "HTML 문자열을 머리글 및 바닥글 콘텐츠가 포함된 PDF로 변환합니다.")를 사용합니다.
{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b__entry__3}{#P-convertToPDF_S_S_S_S__api_pdfgen_parm_fill_tableN_desc}

| 이름 | 유형 | 설명 |
|-|-|-|
| 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\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| document구성 | 객체 | 옵션입니다. 컨텐츠 구성 및 페이지 번호 구성을 포함하는 객체입니다. {​ "accessibilityEnabled" : Boolean, "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.accessibilityEnabled | 부울 | 옵션입니다. 접근성을 지원하도록 생성된 PDF의 형식을 지정할지 여부를 나타내는 플래그입니다. 이 기능이 활성화되면 PDF 태그 트리에서 접근성 태그를 사용할 수 있어 화면 판독기를 사용하여 생성된 PDF 문서를 탐색, 이해 및 상호 작용하는 데 도움이 됩니다. 유효한 값은 다음과 같습니다. * true: 생성된 PDF의 서식이 접근성을 고려하도록 지정되어 있습니다. * false: 생성된 PDF의 형식이 접근성에 맞지 않습니다. {#P-convertToPDF_S_S_S_S__ul_sl3_5wt_ydc} 기본값: false |
| documentConfiguration.toc_config | 문자열 | 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 컨텐츠 구성 \[doc_toc_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration.page_number_config | 문자열 | 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성\[doc_page_number_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
[표 2. 매개변수]

{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b} {#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b__entry__2}{#P-convertToPDF_S_S_S_S__row_pdfgen_ret_msgCnv}

| 유형 | 설명 |
|-|-|
| 객체 | 변환에 성공한 경우 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. * \<URL\>이 화이트리스트 URL에 나열되어 있지 않습니다. URL 화이트리스트 속성인 "glide.pdf.url.whitelisting.enabled" 및 "com.snc.pdf.whitelisted_urls"를 확인하십시오. 시스템 속성 glide.pdf.url.whitelisting.enabled가 예로 설정된 경우 PDF는 com.snc.pdf.whitelisted_urls 시스템 속성의 값 필드에 나열되어 있지 않는 한 URL 컨텐츠를 처리하지 않습니다. 이러한 속성은 시스템 속성 \[sys_properties\] 테이블에 나열됩니다.{#P-convertToPDF_S_S_S_S__api_pdfgen_ph_wlistProp} {#P-convertToPDF_S_S_S_S__ul_zv2_wq3_k4b} 데이터 유형: 문자열 |
| \<Object\>.request_id | 변경 생성자 요청 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-convertToPDF_S_S_S_S__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 3. 반환]

{#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b}  
다음 예시는 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 -- convertToPDFAsync(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 문자열 fontFamilySysId, 객체 documentConfiguration) {#ariaid-title4}

HTML 문자열을 PDF 문서로 비동기식으로 변환하는 작업을 준비합니다. 비동기 처리를 사용하면 PDF 변환이 진행되는 동안 인스턴스에서 작업할 수 있습니다. 이는 대용량 PDF 내보내기에 특히 유용합니다.
이 API는 페이지 크기 A4 -- 595 × 842포인트를 사용하여 PDF를 생성합니다. 이 크기를 초과할 경우 콘텐츠가 잘립니다.

페이지 크기, 방향 및 페이지 번호와 같은 추가 설정으로 PDF를 생성하려면 [convertToPDFWithHeaderFooterAsync()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-convertToPDFWithHdrFtA_S_S_S_S_O "HTML 문자열을 헤더 및 바닥글 컨텐츠가 있는 PDF로 비동기식으로 변환하는 작업을 스테이징합니다. 비동기 처리를 사용하면 PDF 변환이 진행되는 동안 인스턴스에서 작업할 수 있습니다. 이는 대용량 PDF 내보내기에 특히 유용합니다.")를 사용합니다.
{#P-convertToPDFAsync_S_S_S_S__table_sj4_p5j_34b__entry__3}{#P-convertToPDFAsync_S_S_S_S__api_pdfgen_parm_fill_tableN_desc}

| 이름 | 유형 | 설명 |
|-|-|-|
| 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\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| document구성 | 객체 | 옵션입니다. 컨텐츠 구성 및 페이지 번호 구성을 포함하는 객체입니다. {​ "accessibilityEnabled" : Boolean, "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.accessibilityEnabled | 부울 | 옵션입니다. 접근성을 지원하도록 생성된 PDF의 형식을 지정할지 여부를 나타내는 플래그입니다. 이 기능이 활성화되면 PDF 태그 트리에서 접근성 태그를 사용할 수 있어 화면 판독기를 사용하여 생성된 PDF 문서를 탐색, 이해 및 상호 작용하는 데 도움이 됩니다. 유효한 값은 다음과 같습니다. * true: 생성된 PDF의 서식이 접근성을 고려하도록 지정되어 있습니다. * false: 생성된 PDF의 형식이 접근성에 맞지 않습니다. {#P-convertToPDFAsync_S_S_S_S__ul_sl3_5wt_ydc} 기본값: false |
| documentConfiguration.toc_config | 문자열 | 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 컨텐츠 구성 \[doc_toc_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration.page_number_config | 문자열 | 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성\[doc_page_number_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
[표 4. 매개변수]

{#P-convertToPDFAsync_S_S_S_S__table_sj4_p5j_34b} {#P-convertToPDFAsync_S_S_S_S__table_tj4_p5j_34b__entry__2}{#P-convertToPDFAsync_S_S_S_S__row_pdfgen_ret_msgCnv}

| 유형 | 설명 |
|-|-|
| 객체 | PDF 변환이 진행 중인지 여부를 나타내는 객체입니다. PDF 생성 상태 \[sys_pdf_generation_status\] 테이블에서 변환 상태를 검토할 수 있습니다. { "message": "String", "request_id": "String" } |
| \<Object\>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값: * HTML에서 PDF로 변환이 진행 중입니다. -- HTML을 PDF 문서로 변환하는 요청이 성공했습니다. * 소스 문서 컨텐츠를 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. -- 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공하십시오. * 지정된 대상 기록 \[\<tableName\> - \<targetTableSysId\>\]이(가) 없습니다. - 대상 테이블 sys_id이 제공된 테이블에 없습니다. 기록에 올바른 테이블 이름을 포함해야 합니다. * 채울 PDF와 관련된 양식이 없습니다. attachmentSysId: \<sys_id\> * 지정된 이름의 편집 가능한 필드가 없습니다. 확인하고 다시 시도하십시오. 필드 이름: \<필드 이름\> * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못하여 요청을 진행할 수 없습니다. PDF가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. * \<URL\>이 화이트리스트 URL에 나열되어 있지 않습니다. URL 화이트리스트 속성인 "glide.pdf.url.whitelisting.enabled" 및 "com.snc.pdf.whitelisted_urls"를 확인하십시오. 시스템 속성 glide.pdf.url.whitelisting.enabled가 예로 설정된 경우 PDF는 com.snc.pdf.whitelisted_urls 시스템 속성의 값 필드에 나열되어 있지 않는 한 URL 컨텐츠를 처리하지 않습니다. 이러한 속성은 시스템 속성 \[sys_properties\] 테이블에 나열됩니다.{#P-convertToPDFAsync_S_S_S_S__api_pdfgen_ph_wlistProp} {#P-convertToPDFAsync_S_S_S_S__ul_zv2_wq3_k4b} 데이터 유형: 문자열 |
| \<Object\>.request_id | 변경 생성자 요청 기록의 Sys_id입니다. 데이터 유형: 문자열 |
[표 5. 반환]

{#P-convertToPDFAsync_S_S_S_S__table_tj4_p5j_34b}  
다음 예는 HTML을 PDF로 변환하는 작업을 큐에 대기하는 방법을 보여줍니다. 변환이 완료되면 이름이 "myPDF"인 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.convertToPDFAsync(html, "incident", "<target_sys_id>", "myPDF");
    gs.info(JSON.stringify(result));

출력:

    {"message":"HTML to PDF Conversion is in progress.","request_id":"<sys_id>"}

## PDFGenerationAPI -- convertToPDFWithHeaderFooter(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 객체 headerFooterInfo, 문자열 fontFamilySysId, 객체 documentConfiguration) {#ariaid-title5}

HTML 문자열을 머리글 및 바닥글 콘텐츠가 포함된 PDF로 변환합니다.
다음 방법을 사용하여 페이지 설정으로 PDF를 생성합니다.

* 머리글 및 바닥글 정보
* 여백 크기
* 방향
* 열거형
* 페이지 크기
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_iqx_3xc_l4b}
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b__entry__3}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__api_pdfgen_parm_fill_tableN_desc}

| 이름 | 유형 | 설명 |
|-|-|-|
| 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를 사용합니다.FooterImageAlignment | 문자열 | 바닥글에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다. * BOTTOM_CENTER: 이미지를 바닥글의 하단 중앙에 배치합니다. * BOTTOM_LEFT: 바닥글의 왼쪽 아래 영역에 이미지를 배치합니다. * BOTTOM_RIGHT: 바닥글의 오른쪽 아래 영역에 이미지를 배치합니다. * TOP_CENTER: 이미지를 바닥글의 상단 중앙에 배치합니다. * TOP_LEFT: 바닥글의 왼쪽 상단 영역에 이미지를 배치합니다. * TOP_RIGHT: 바닥글의 오른쪽 상단 영역에 이미지를 배치합니다. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_ezt_f4c_l4b} |
| headerFooterInfo를 사용합니다.FooterImageAttachmentId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블의 바닥글 이미지 Sys_id입니다. 인스턴스에서 파일 형식이 지원되는지 확인하려면 시스템 속성, 보안으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분됨) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo를 사용합니다.바닥글 이미지 높이 | 문자열 | 바닥글 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo를 사용합니다.바닥글 텍스트 | 문자열 | 각 PDF 페이지의 맨 아래에 배치할 바닥글 텍스트입니다. |
| headerFooterInfo를 사용합니다.바닥글 텍스트 정렬 | 문자열 | 바닥글의 텍스트 위치를 설정합니다. 이 값이 제공된 headerFooterInfo.FooterImageAlignment영역과 일치하거나 충돌하지 않는지 확인합니다. 유효한 값은 다음과 같습니다. * BOTTOM_CENTER: 텍스트를 바닥글의 하단 중앙에 배치합니다. * BOTTOM_LEFT: 바닥글의 왼쪽 아래 영역에 텍스트를 배치합니다. * BOTTOM_RIGHT: 텍스트를 바닥글의 오른쪽 아래 영역에 배치합니다. * TOP_CENTER: 텍스트를 바닥글의 상단 중앙에 배치합니다. * TOP_LEFT: 바닥글의 왼쪽 상단 영역에 텍스트를 배치합니다. * TOP_RIGHT: 텍스트를 바닥글의 오른쪽 상단 영역에 배치합니다. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lfd_mdd_l4b} |
| headerFooterInfo를 사용합니다.페이지 번호 생성 | 문자열 | PDF 페이지 번호를 생성할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 페이지 번호를 생성합니다. * false: 페이지 번호를 생성하지 않습니다. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zlg_4cp_k4b} 기본값: true |
| headerFooterInfo를 사용합니다.HeaderImageAlignment | 문자열 | 헤더에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다. * center: 이미지를 헤더 중앙에 배치합니다. * 왼쪽: 헤더의 왼쪽에 이미지를 배치합니다. * 오른쪽: 헤더의 오른쪽에 이미지를 배치합니다. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_qjq_npc_l4b} |
| headerFooterInfo를 사용합니다.HeaderImageAttachmentId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블의 헤더 이미지 Sys_id입니다. 인스턴스에서 파일 형식이 지원되는지 확인하려면 시스템 속성, 보안으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분됨) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo를 사용합니다.헤더 이미지 높이 | 문자열 | 헤더 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo를 사용합니다.왼쪽 또는 오른쪽 여백 | 문자열 | 왼쪽 및 오른쪽 여백의 크기입니다. 페이지의 왼쪽 또는 오른쪽에 위치하면 머리글/바닥글 상세 정보가 이 영역 안에 배치됩니다. 기본값: 36포인트 |
| headerFooterInfo를 사용합니다.페이지 방향 | 문자열 | 페이지 방향입니다. 유효한 값은 다음과 같습니다. * 세로 * 가로 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lyr_qyc_l4b} 기본값: 세로 |
| headerFooterInfo를 사용합니다.페이지 크기 | 문자열 | 문서 페이지 크기입니다. 유효한 값은 다음과 같습니다. * A4 -- 595 × 842점 * 편지 -- 612 × 792점 * 원장 -- 792 x 1224 포인트 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_dml_q2p_k4b} 내용이 페이지 크기를 초과할 경우 잘립니다. |
| headerFooterInfo를 사용합니다.TopOrBottomMargin (상단 또는 하단 여백) | 문자열 | 위쪽 및 아래쪽 여백의 크기입니다. 헤더 및 바닥글 상세 정보는 이 영역 안에 배치됩니다. 기본값: 72포인트 |
| fontFamilySysId | 문자열 | 옵션입니다. PDF에 사용할 글꼴 집합의 Sys_id입니다. 이 sys_id은 PDF 생성 글꼴 집합 \[sys_pdf_generation_font_family\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| document구성 | 객체 | 옵션입니다. 컨텐츠 구성 및 페이지 번호 구성을 포함하는 객체입니다. {​ "accessibilityEnabled" : Boolean, "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.accessibilityEnabled | 부울 | 옵션입니다. 접근성을 지원하도록 생성된 PDF의 형식을 지정할지 여부를 나타내는 플래그입니다. 이 기능이 활성화되면 PDF 태그 트리에서 접근성 태그를 사용할 수 있어 화면 판독기를 사용하여 생성된 PDF 문서를 탐색, 이해 및 상호 작용하는 데 도움이 됩니다. 유효한 값은 다음과 같습니다. * true: 생성된 PDF의 서식이 접근성을 고려하도록 지정되어 있습니다. * false: 생성된 PDF의 형식이 접근성에 맞지 않습니다. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_sl3_5wt_ydc} 기본값: false |
| documentConfiguration.toc_config | 문자열 | 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 컨텐츠 구성 \[doc_toc_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration.page_number_config | 문자열 | 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성\[doc_page_number_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
[표 6. 매개변수]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b} {#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b__entry__2}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__row_pdfgen_ret_msgCnv}

| 유형 | 설명 |
|-|-|
| 객체 | 변환에 성공한 경우 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 값\> -- 값이 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 바닥글 이미지를 가져올 수 없습니다. sysId: + \<제공된 값\> - 제공된 sys_id이 정확한지 확인합니다.headerFooterInfo.footerImageId * 헤더 이미지를 가져올 수 없습니다. sysId: + \<제공된 값\> - 제공된 sys_id이 정확한지 확인합니다.headerFooterInfo.headerImageId * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. * \<URL\>이 화이트리스트 URL에 나열되어 있지 않습니다. URL 화이트리스트 속성인 "glide.pdf.url.whitelisting.enabled" 및 "com.snc.pdf.whitelisted_urls"를 확인하십시오. 시스템 속성 glide.pdf.url.whitelisting.enabled가 예로 설정된 경우 PDF는 com.snc.pdf.whitelisted_urls 시스템 속성의 값 필드에 나열되어 있지 않는 한 URL 컨텐츠를 처리하지 않습니다. 이러한 속성은 시스템 속성 \[sys_properties\] 테이블에 나열됩니다.{#P-convertToPDFWithHdrFtr_S_S_S_S_O__api_pdfgen_ph_wlistProp} {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zv2_wq3_k4b} 데이터 유형: 문자열 |
| \<Object\>.request_id | 변경 생성자 요청 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 7. 반환]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b}  
다음 예는 HTML을 "myPDF"라는 PDF로 변환하고 인시던트 \[incident\] 테이블의 기록에 PDF를 첨부 파일로 추가하는 방법을 보여줍니다. 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 -- convertToPDFWithHeaderFooterAsync(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 객체 headerFooterInfo, 문자열 fontFamilySysId, 객체 documentConfiguration) {#ariaid-title6}

HTML 문자열을 헤더 및 바닥글 컨텐츠가 있는 PDF로 비동기식으로 변환하는 작업을 스테이징합니다. 비동기 처리를 사용하면 PDF 변환이 진행되는 동안 인스턴스에서 작업할 수 있습니다. 이는 대용량 PDF 내보내기에 특히 유용합니다.
다음 방법을 사용하여 페이지 설정으로 PDF를 생성합니다.

* 머리글 및 바닥글 정보
* 여백 크기
* 방향
* 열거형
* 페이지 크기
{#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_iqx_3xc_l4b}
{#P-convertToPDFWithHdrFtA_S_S_S_S_O__table_hmj_q5j_34b__entry__3}{#P-convertToPDFWithHdrFtA_S_S_S_S_O__api_pdfgen_parm_fill_tableN_desc}

| 이름 | 유형 | 설명 |
|-|-|-|
| 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를 사용합니다.FooterImageAlignment | 문자열 | 바닥글에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다. * BOTTOM_CENTER: 이미지를 바닥글의 하단 중앙에 배치합니다. * BOTTOM_LEFT: 바닥글의 왼쪽 아래 영역에 이미지를 배치합니다. * BOTTOM_RIGHT: 바닥글의 오른쪽 아래 영역에 이미지를 배치합니다. * TOP_CENTER: 이미지를 바닥글의 상단 중앙에 배치합니다. * TOP_LEFT: 바닥글의 왼쪽 상단 영역에 이미지를 배치합니다. * TOP_RIGHT: 바닥글의 오른쪽 상단 영역에 이미지를 배치합니다. {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_ezt_f4c_l4b} |
| headerFooterInfo를 사용합니다.FooterImageAttachmentId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블의 바닥글 이미지 Sys_id입니다. 인스턴스에서 파일 형식이 지원되는지 확인하려면 시스템 속성, 보안으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분됨) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo를 사용합니다.바닥글 이미지 높이 | 문자열 | 바닥글 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo를 사용합니다.바닥글 텍스트 | 문자열 | 각 PDF 페이지의 맨 아래에 배치할 바닥글 텍스트입니다. |
| headerFooterInfo를 사용합니다.바닥글 텍스트 정렬 | 문자열 | 바닥글의 텍스트 위치를 설정합니다. 이 값이 제공된 headerFooterInfo.FooterImageAlignment영역과 일치하거나 충돌하지 않는지 확인합니다. 유효한 값은 다음과 같습니다. * BOTTOM_CENTER: 텍스트를 바닥글의 하단 중앙에 배치합니다. * BOTTOM_LEFT: 바닥글의 왼쪽 아래 영역에 텍스트를 배치합니다. * BOTTOM_RIGHT: 텍스트를 바닥글의 오른쪽 아래 영역에 배치합니다. * TOP_CENTER: 텍스트를 바닥글의 상단 중앙에 배치합니다. * TOP_LEFT: 바닥글의 왼쪽 상단 영역에 텍스트를 배치합니다. * TOP_RIGHT: 텍스트를 바닥글의 오른쪽 상단 영역에 배치합니다. {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_lfd_mdd_l4b} |
| headerFooterInfo를 사용합니다.페이지 번호 생성 | 문자열 | PDF 페이지 번호를 생성할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 페이지 번호를 생성합니다. * false: 페이지 번호를 생성하지 않습니다. {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_zlg_4cp_k4b} 기본값: true |
| headerFooterInfo를 사용합니다.HeaderImageAlignment | 문자열 | 헤더에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다. * center: 이미지를 헤더 중앙에 배치합니다. * 왼쪽: 헤더의 왼쪽에 이미지를 배치합니다. * 오른쪽: 헤더의 오른쪽에 이미지를 배치합니다. {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_qjq_npc_l4b} |
| headerFooterInfo를 사용합니다.HeaderImageAttachmentId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블의 헤더 이미지 Sys_id입니다. 인스턴스에서 파일 형식이 지원되는지 확인하려면 시스템 속성, 보안으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분됨) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo를 사용합니다.헤더 이미지 높이 | 문자열 | 헤더 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo를 사용합니다.왼쪽 또는 오른쪽 여백 | 문자열 | 왼쪽 및 오른쪽 여백의 크기입니다. 페이지의 왼쪽 또는 오른쪽에 위치하면 머리글/바닥글 상세 정보가 이 영역 안에 배치됩니다. 기본값: 36포인트 |
| headerFooterInfo를 사용합니다.페이지 방향 | 문자열 | 페이지 방향입니다. 유효한 값은 다음과 같습니다. * 세로 * 가로 {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_lyr_qyc_l4b} 기본값: 세로 |
| headerFooterInfo를 사용합니다.페이지 크기 | 문자열 | 문서 페이지 크기입니다. 유효한 값은 다음과 같습니다. * A4 -- 595 × 842점 * 편지 -- 612 × 792점 * 원장 -- 792 x 1224 포인트 {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_dml_q2p_k4b} 내용이 페이지 크기를 초과할 경우 잘립니다. |
| headerFooterInfo를 사용합니다.TopOrBottomMargin (상단 또는 하단 여백) | 문자열 | 위쪽 및 아래쪽 여백의 크기입니다. 헤더 및 바닥글 상세 정보는 이 영역 안에 배치됩니다. 기본값: 72포인트 |
| fontFamilySysId | 문자열 | 옵션입니다. PDF에 사용할 글꼴 집합의 Sys_id입니다. 이 sys_id은 PDF 생성 글꼴 집합 \[sys_pdf_generation_font_family\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| document구성 | 객체 | 옵션입니다. 컨텐츠 구성 및 페이지 번호 구성을 포함하는 객체입니다. {​ "accessibilityEnabled" : Boolean, "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.accessibilityEnabled | 부울 | 옵션입니다. 접근성을 지원하도록 생성된 PDF의 형식을 지정할지 여부를 나타내는 플래그입니다. 이 기능이 활성화되면 PDF 태그 트리에서 접근성 태그를 사용할 수 있어 화면 판독기를 사용하여 생성된 PDF 문서를 탐색, 이해 및 상호 작용하는 데 도움이 됩니다. 유효한 값은 다음과 같습니다. * true: 생성된 PDF의 서식이 접근성을 고려하도록 지정되어 있습니다. * false: 생성된 PDF의 형식이 접근성에 맞지 않습니다. {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_sl3_5wt_ydc} 기본값: false |
| documentConfiguration.toc_config | 문자열 | 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 컨텐츠 구성 \[doc_toc_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration.page_number_config | 문자열 | 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성\[doc_page_number_config\] 테이블에서 가져온 것입니다. 기본값: 없음 |
[표 8. 매개변수]

{#P-convertToPDFWithHdrFtA_S_S_S_S_O__table_hmj_q5j_34b} {#P-convertToPDFWithHdrFtA_S_S_S_S_O__table_tj4_p5j_34b__entry__2}{#P-convertToPDFWithHdrFtA_S_S_S_S_O__row_pdfgen_ret_msgCnv}

| 유형 | 설명 |
|-|-|
| 객체 |   |
| \<Object\>.​메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값: * HTML에서 PDF로 변환이 진행 중입니다. -- HTML을 PDF 문서로 변환하는 요청이 성공했습니다. * 바닥글 이미지 맞춤과 텍스트 정렬은 동일한 정렬로 같은 영역에 있을 수 없습니다. \<footerImageAlignment 값\> -- 값이 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 바닥글 이미지를 가져올 수 없습니다. sysId: + \<제공된 값\> - 제공된 sys_id이 정확한지 확인합니다.headerFooterInfo.footerImageId * 헤더 이미지를 가져올 수 없습니다. sysId: + \<제공된 값\> - 제공된 sys_id이 정확한지 확인합니다.headerFooterInfo.headerImageId * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. * \<URL\>이 화이트리스트 URL에 나열되어 있지 않습니다. URL 화이트리스트 속성인 "glide.pdf.url.whitelisting.enabled" 및 "com.snc.pdf.whitelisted_urls"를 확인하십시오. 시스템 속성 glide.pdf.url.whitelisting.enabled가 예로 설정된 경우 PDF는 com.snc.pdf.whitelisted_urls 시스템 속성의 값 필드에 나열되어 있지 않는 한 URL 컨텐츠를 처리하지 않습니다. 이러한 속성은 시스템 속성 \[sys_properties\] 테이블에 나열됩니다.{#P-convertToPDFWithHdrFtA_S_S_S_S_O__api_pdfgen_ph_wlistProp} {#P-convertToPDFWithHdrFtA_S_S_S_S_O__ul_zv2_wq3_k4b} 데이터 유형: 문자열 |
| \<Object\>.request_id | 변경 생성자 요청 기록의 Sys_id입니다. 데이터 유형: 문자열 |
[표 9. 반환]

{#P-convertToPDFWithHdrFtA_S_S_S_S_O__table_tj4_p5j_34b}  
다음 예는 HTML을 PDF로 변환하는 작업을 큐에 대기하는 방법을 보여줍니다. PDF에는 첨부 파일을 통해 제공된 머리글과 바닥글이 포함되어 있습니다. 변환이 완료되면 이름이 "myPDF"인 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 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.convertToPDFWithHeaderFooterAsync(html, "incident", "<targetTbl_sys_id>", "myPDF", hfInfo);
    gs.info(JSON.stringify(result));

출력:

    {"message":"HTML to PDF Conversion is in progress.","request_id":"<sys_id>"}

## PDFGenerationAPI -- fillDocumentFields(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName) {#ariaid-title7}

편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.
다음 방법을 사용하여 PDF를 채울 수 있는지 확인하고 필드 정보를 가져옵니다.

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-isDocumentFillable_S "PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFields_S "PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 파일을 수동으로 열어 확인하지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFieldsType_S "PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.")
{#P-fillDocumentFields_O_S_S_S_S__ul_e1m_kpj_l4b}  
PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.

* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocFieldsFlatten_O_S_S_S_S_O "편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillFieldsMergeSig_O_S_S_S_S_O_O "편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getFilDocWithSigAsBase64_O_S_O_O "편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.") -- 편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.
{#P-fillDocumentFields_O_S_S_S_S__ul_lyz_lft_l4b}
{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b__entry__3}{#P-fillDocumentFields_O_S_S_S_S__ph_api_pdfgen_parm_attIDesc}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblName}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblID}

| 이름 | 유형 | 설명 |
|-|-|-|
| 필드맵 | 객체 | 옵션입니다. 채울 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입니다. |
[표 10. 매개변수]

{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b} {#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b__entry__2}{#P-fillDocumentFields_O_S_S_S_S__desc-fill-only}{#P-fillDocumentFields_O_S_S_S_S__desc_pdfgen_ret_attID_Fill}

| 유형 | 설명 |
|-|-|
| 객체 | 성공한 경우 업데이트된 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. {#P-fillDocumentFields_O_S_S_S_S__ul_eln_fwk_l4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-fillDocumentFields_O_S_S_S_S__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 11. 반환]

{#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b}  
다음 예는 편집 가능한 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, 객체 평면화) {#ariaid-title8}

편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
다음 방법을 사용하여 PDF를 채울 수 있는지 확인하고 필드 정보를 가져옵니다.

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-isDocumentFillable_S "PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFields_S "PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 파일을 수동으로 열어 확인하지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFieldsType_S "PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.")
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocumentFields_O_S_S_S_S "편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillFieldsMergeSig_O_S_S_S_S_O_O "편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getFilDocWithSigAsBase64_O_S_O_O "편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.") -- 편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_lyz_lft_l4b}
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b__entry__3}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ph_api_pdfgen_parm_attIDesc}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblName}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblID}

| 이름 | 유형 | 설명 |
|-|-|-|
| 필드맵 | 객체 | 옵션입니다. 채울 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 - 모든 필드를 평면화합니다. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_mwn_5wc_k4b} 기본값: fully_flatten { "FlattenType": "String" } |
[표 12. 매개변수]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b} {#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b__entry__2}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc-fill-only}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc_pdfgen_ret_attID_Fill}

| 유형 | 설명 |
|-|-|
| 객체 | 성공한 경우 업데이트된 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_eln_fwk_l4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 13. 반환]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b}  
다음 예는 필드를 채우고 편집 가능한 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(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, PdfMergeSignRequestor 요청자, 객체 평면화) {#ariaid-title9}

편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
다음 방법을 사용하여 PDF를 채울 수 있는지 확인하고 필드 정보를 가져옵니다.

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-isDocumentFillable_S "PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFields_S "PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 파일을 수동으로 열어 확인하지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFieldsType_S "PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.")
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocumentFields_O_S_S_S_S "편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.
* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocFieldsFlatten_O_S_S_S_S_O "편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getFilDocWithSigAsBase64_O_S_O_O "편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.") -- 편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_lyz_lft_l4b}
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b__entry__3}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ph_api_pdfgen_parm_attIDesc}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblName}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblID}

| 이름 | 유형 | 설명 |
|-|-|-|
| 필드맵 | 객체 | 옵션입니다. 채울 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](https://servicenow-prod.fluidtopics.net/YyFuJ6cCReFRue~4bLVPZg#PdfMergeSignRequestorBothAPI "PdfMergeSignRequestor API는 PDF 문서에 서명을 나타내는 이미지를 추가하는 메서드를 제공합니다.") | pdfMergeSignRequestor에서 반환된 서명 입력입니다. |
| 평면화 | 객체 | 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경할 수 없도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 평면화 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다. * donot_flatten - 필드를 평면화하지 마십시오. * partially_flatten - 수정된 필드만 평면화합니다. * fully_flatten - 모든 필드를 평면화합니다. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_mwn_5wc_k4b} 기본값: fully_flatten { "FlattenType": "String" } |
[표 14. 매개변수]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b} {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b__entry__2}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc-fill-only}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc_pdfgen_ret_attID_Fill}

| 유형 | 설명 |
|-|-|
| 객체 | 성공한 경우 업데이트된 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_eln_fwk_l4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 15. 반환]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b}  
다음 예는 필드를 완전히 평면화하기 위해 기본 설정을 사용하여 서명으로 필드를 채우는 방법을 보여줍니다.

    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) {#ariaid-title10}

PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 파일을 수동으로 열어 확인하지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.
{#P-getDocumentFields_S__table_hmj_q5j_34b__entry__3}{#P-getDocumentFields_S__ph_api_pdfgen_parm_attIDesc}

| 이름 | 유형 | 설명 |
|-|-|-|
| sysId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블에 있는 PDF의 Sys_id입니다. |
[표 16. 매개변수]

{#P-getDocumentFields_S__table_hmj_q5j_34b} {#P-getDocumentFields_S__table_v1y_g3k_34b__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | 서명된 PDF의 ID를 포함하는 객체입니다. 그렇지 않으면 오류 메시지입니다. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.필드 | 요청이 성공하면 PDF에 각 필드의 이름이 포함된 목록이 표시됩니다. 데이터 유형: 문자열 배열 "fields": ["field_name"] |
| \<Object\>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값: * 소스 문서 컨텐츠를 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. -- 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공하십시오. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못하여 요청을 진행할 수 없습니다. PDF가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. {#P-getDocumentFields_S__ul_qlv_5cv_j4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-getDocumentFields_S__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 17. 반환]

{#P-getDocumentFields_S__table_v1y_g3k_34b}  
다음 예는 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) {#ariaid-title11}

PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.
{#P-getDocumentFieldsType_S__table_hmj_q5j_34b__entry__3}{#P-getDocumentFieldsType_S__ph_api_pdfgen_parm_attIDesc}

| 이름 | 유형 | 설명 |
|-|-|-|
| sysId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블에 있는 PDF의 Sys_id입니다. |
[표 18. 매개변수]

{#P-getDocumentFieldsType_S__table_hmj_q5j_34b} {#P-getDocumentFieldsType_S__table_jxx_whk_34b__entry__2}{#P-getDocumentFieldsType_S__api_pdfgen_ret_msg}

| 유형 | 설명 |
|-|-|
| 객체 | 각 PDF 필드 유형을 포함하는 객체(성공한 경우), 그렇지 않으면 오류 메시지입니다. { "fields_type": {Object}, "message": "String", "status": "String" } |
| \<Object\>.fields_type | 성공할 경우 지정된 PDF의 각 필드를 나열하는 객체, 그렇지 않으면 오류 메시지. 데이터 유형: 객체 "fields_type": { "<field type>": {Object}, } |
| \<Object\>.fields_type.\<필드\> | 각 필드의 페이지 번호를 포함하는 객체입니다. \<필드\> 이름은 필드 레이블(예: "SSN")을 나타내거나 유형을 나타내는 자동화된 레이블을 나타냅니다. 데이터 유형: 객체 "<field>": { "fieldsDetails": [Array], // Check boxes, radio buttons, choice boxes only "pageNumber": "String", "type": "String" } |
| \<Object\>.fields_type.\<field\>.fields상세 정보 | 필드 이름과 선택 필드 유형에 대한 각 옵션의 해당 값을 포함하는 객체의 목록입니다. 적용 가능한 유형: * 확인란 * 선택 상자 * 콤보 상자 * 다중 선택 선택 상자 데이터 유형: 배열 "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 제공하십시오.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못하여 요청을 진행할 수 없습니다. PDF가 바이러스 백신 검사를 통과하지 못했습니다.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__ul_qlv_5cv_j4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-getDocumentFieldsType_S__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 19. 반환]

{#P-getDocumentFieldsType_S__table_jxx_whk_34b}  
다음 예는 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 요청자, 객체 평면화) {#ariaid-title12}

편집 가능한 PDF의 필드를 채우고, 이미지를 생성하고, Base64로 인코딩된 PDF로 변환합니다.
Base64 인코딩을 사용하면 이진 문자 구문을 손상시키지 않고 PDF를 HTML 또는 JSON과 같은 텍스트 문서 내에서 문자열로 출력할 수 있습니다.  
다음 방법을 사용하여 PDF를 채울 수 있는지 확인하고 필드 정보를 가져옵니다.

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-isDocumentFillable_S "PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFields_S "PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 파일을 수동으로 열어 확인하지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-getDocumentFieldsType_S "PDF 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.")
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI는 다양한 옵션이 있는 추가 채우기 메서드를 제공합니다.

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocumentFields_O_S_S_S_S "편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고 제공된 기록에 첨부합니다.
* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillDocFieldsFlatten_O_S_S_S_S_O "편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/uUKKYMRd6X6Fz~BcOQJQYw#P-fillFieldsMergeSig_O_S_S_S_S_O_O "편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.") -- 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 기록에 첨부합니다.
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_lyz_lft_l4b}
{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b__entry__3}{#P-getFilDocWithSigAsBase64_O_S_O_O__ph_api_pdfgen_parm_attIDesc}

| 이름 | 유형 | 설명 |
|-|-|-|
| 필드맵 | 객체 | 옵션입니다. 채울 PDF 필드 이름 및 값으로 키 값 매핑. getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다. |
| sysId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블에 있는 PDF의 Sys_id입니다. |
| 요청자 | [PdfMergeSignRequestor](https://servicenow-prod.fluidtopics.net/YyFuJ6cCReFRue~4bLVPZg#PdfMergeSignRequestorBothAPI "PdfMergeSignRequestor API는 PDF 문서에 서명을 나타내는 이미지를 추가하는 메서드를 제공합니다.") | pdfMergeSignRequestor에서 반환된 서명 입력입니다. |
| 평면화 | 객체 | 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경할 수 없도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 평면화 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다. * donot_flatten - 필드를 평면화하지 마십시오. * partially_flatten - 수정된 필드만 평면화합니다. * fully_flatten - 모든 필드를 평면화합니다. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_mwn_5wc_k4b} 기본값: fully_flatten { "FlattenType": "String" } |
[표 20. 매개변수]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b} {#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b__entry__2}

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

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b}  
다음 예는 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) {#ariaid-title13}

PDF 문서의 페이지 크기를 가져옵니다.
{#P-getPdfPageSizes_S__table_hmj_q5j_34b__entry__3}{#P-getPdfPageSizes_S__ph_api_pdfgen_parm_attIDesc}

| 이름 | 유형 | 설명 |
|-|-|-|
| sysId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블에 있는 PDF의 Sys_id입니다. |
[표 22. 매개변수]

{#P-getPdfPageSizes_S__table_hmj_q5j_34b} {#P-getPdfPageSizes_S__table_v1y_g3k_34b__entry__2}{#P-getPdfPageSizes_S__api_pdfgen_ret_msg}

| 유형 | 설명 |
|-|-|
| 객체 | 성공한 경우 각 페이지의 크기를 포함하는 객체, 그렇지 않으면 오류 메시지입니다. { "pages_size": {Object}, "message": "String", "status": "String" } |
| \<Object\>.pages_size | 작업이 성공하면 각 PDF 페이지의 너비와 높이(포인트)가 표시됩니다. 페이지 번호는 문자열로 반환되고 측정 값은 숫자 데이터 형식으로 반환됩니다. 데이터 유형: 객체 "pages_size": {"<page number>":[<width>,<height>]} |
| \<Object\>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값: * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못하여 요청을 진행할 수 없습니다. PDF가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. {#P-getPdfPageSizes_S__ul_qlv_5cv_j4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-getPdfPageSizes_S__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 23. 반환]

{#P-getPdfPageSizes_S__table_v1y_g3k_34b}  
다음 예는 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) {#ariaid-title14}

PDF 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.
{#P-isDocumentFillable_S__table_drx_h3k_34b__entry__3}{#P-isDocumentFillable_S__ph_api_pdfgen_parm_attIDesc}

| 이름 | 유형 | 설명 |
|-|-|-|
| sysId | 문자열 | 첨부 파일 \[sys_attachment\] 테이블에 있는 PDF의 Sys_id입니다. |
[표 24. 매개변수]

{#P-isDocumentFillable_S__table_drx_h3k_34b} {#P-isDocumentFillable_S__table_erx_h3k_34b__entry__2}{#P-isDocumentFillable_S__api_pdfgen_ret_msg}

| 유형 | 설명 |
|-|-|
| 객체 | 성공한 경우 각 페이지의 크기를 포함하는 객체, 그렇지 않으면 오류 메시지입니다. { "document_editable": "String", "message": "String", "status": "String" } |
| \<Object\>.​document_editable | 작업이 성공하면 문서를 편집할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * 예: PDF 문서에 편집 가능한 필드가 있습니다. * 아니오: PDF 문서에 편집 가능한 필드가 없습니다. {#P-isDocumentFillable_S__ul_h4w_sbd_k4b} 데이터 유형: 문자열로 제공되는 부울 값 |
| \<Object\>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값: * 소스 문서 컨텐츠를 읽는 동안 예외가 발생했습니다. PDF 헤더를 찾을 수 없습니다. -- 제공된 입력 첨부 파일이 올바른 PDF가 아닙니다. 올바른 첨부 파일 sys_id 제공하십시오.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사를 통과하지 못하여 요청을 진행할 수 없습니다. PDF가 바이러스 백신 검사를 통과하지 못했습니다.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__ul_qlv_5cv_j4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-isDocumentFillable_S__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 25. 반환]

{#P-isDocumentFillable_S__table_erx_h3k_34b}  
다음 예는 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 -- redact(객체 inputJson) {#ariaid-title15}

지정된 사각형 좌표, 검색 키워드 또는 둘 다를 기준으로 PDF 문서에 수정 사항을 적용합니다. 원본 PDF의 수정된 사본이 첨부 파일 \[sys_attachment\] 테이블에 생성됩니다.
주:  
* 수정 결과에는 수정되지 않은 텍스트를 덮어쓰는 예기치 않은 흰색 수정된 텍스트 블록이 포함될 수 있습니다. 이 이벤트가 발생하면 속성 또는 PDF 생성 유틸리티 플러그인을 highlightedSections 사용하여 수정할 컨텐츠를 수동으로 선택할 수 있습니다. 자세한 내용은 [Redact data from documents](https://www.servicenow.com/docs/access?context=redact-sensitive-data&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오.
* 이 방법은 JBIG2 이미지가 포함된 PDF의 수정을 지원하지 않습니다.
{#P-redact_O__ul_ulb_2dx_qbc}
{#P-redact_O__table_drx_h3k_34b__entry__3}{#P-redact_O__ph_api_pdfgen_parm_attIDesc}

| 이름 | 유형 | 설명 |
|-|-|-|
| inputJson | 객체 | 수정할 PDF와 해당 콘텐츠를 식별합니다. { "sysId": "String", "highlightedSections": [Array], "searchedKeywords": [Array] } |
| inputJson.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입니다. 예를 들어 값이 <kbd class="ph userinput">306</kbd> 이면 사각형이 편지 크기의 PDF 페이지의 가로 중심에 대략 배치됩니다. |
| inputJson입니다. highlightedSections. y | 번호 | PDF에서 수정 사각형의 Y축(세로 위치)입니다(포인트 단위). PDF 페이지의 왼쪽 아래 모서리에 있는 값은 0입니다. 예를 들어 값이 <kbd class="ph userinput">396</kbd> 이면 사각형이 편지 크기의 PDF 페이지의 세로 가운데에 대략 배치됩니다. |
| inputJson입니다. highlightedSections. 너비 | 번호 | 수정 사각형의 너비는 포인트 단위입니다. 이 값은 x축과 y축이 교차하는 왼쪽 아래 지점에서 수평으로 사각형의 크기를 늘립니다. |
| inputJson입니다. highlightedSections. 높이 | 번호 | 수정 사각형의 높이(포인트)입니다. 이 값은 x축과 y축이 교차하는 왼쪽 아래 지점에서 수직으로 사각형의 크기를 늘립니다. |
| inputJson입니다. searchedKeywords | 배열 | 수정할 텍스트를 찾는 데 사용되는 하나 이상의 문자열 목록입니다. 수정 사각형 크기는 결과적으로 차단되는 텍스트의 높이 및 너비와 일치합니다. 속성을 포함하는 경우 선택 사항입니다.highlightedSections 주: 경우에 따라 `"items:"` 및 `"PDF."` 와 같은 특수 문자나 구두점이 포함된 텍스트 문자열이 수정되지 않습니다. 또는 문자열에서 문자를 제거하거나 영역을 강조 표시하여 텍스트를 제거할 수 있습니다. |
[표 26. 매개변수]

{#P-redact_O__table_drx_h3k_34b} {#P-redact_O__table_phl_lzj_34b__entry__2}{#P-redact_O__desc-fill-only}{#P-redact_O__desc_pdfgen_ret_attID_Fill}

| 유형 | 설명 |
|-|-|
| 객체 | 성공한 경우 업데이트된 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가 바이러스 백신 검사를 통과하지 못했습니다. * sys_id \[{0}\]이(가) 있는 첨부 파일이 보안 검사 보류 중이므로 요청을 진행할 수 없음 -- PDF에 바이러스 백신 검사가 필요합니다. * 요청이 성공적으로 완료됨 -- 작업이 성공했습니다. * 정의되지 않음 - 제공된 Sys_id이 없거나 PDF 첨부 파일이 아닙니다. {#P-redact_O__ul_eln_fwk_l4b} 데이터 유형: 문자열 |
| \<Object\>.status | 운영의 성공 여부를 나타내는 상태입니다. 가능한 값: * 성공 - 작업이 성공했습니다. * 실패 -- 운영에 실패했습니다. 에서는 message 상세 정보를 제공합니다. {#P-redact_O__ul_rlv_5cv_j4b} 데이터 유형: 문자열 |
[표 27. 반환]

{#P-redact_O__table_phl_lzj_34b}  
다음 예제에서는 사각형 및 키워드로 수정하는 방법을 보여 줍니다. 수정된 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"}


