PDFGenerationAPI - 범위 지정, 전역
PDFGenerationAPI는 PDF 변환 및 PDF 필드 처리를 지원합니다.
이 API는 PDF Generation Utilities 플러그인(com.snc.apppdfgenerator)의 ServiceNow 일부이며 sn_pdfgeneratorutils 네임스페이스 내에 제공됩니다. 플러그인은 기본적으로 활성화되어 있습니다.
- HTML 문자열에서 PDF를 동적으로 생성하여 기록에 첨부
- PDF에서 필드 채우기
- PDF에 서명
- 평면화되지 않음, 평면화 또는 부분적으로 평면화됨
- PDF 필드 데이터 검색 중
PDFGenerationAPI – convertToPDF(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 문자열 fontFamilySysId, 객체 documentConfiguration)
HTML 문자열을 PDF 문서로 변환합니다.
페이지 번호와 같은 머리글 및 바닥글 정보를 사용하여 PDF를 생성하려면 convertToPDFWithHeaderFooter()를 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| html | 문자열 | PDF 문서로 변환할 HTML입니다. |
| targetTable | 문자열 | 변환된 PDF를 첨부할 테이블의 이름입니다. |
| targetTableSysId | 문자열 | 변환된 PDF를 첨부할 기록의 Sys_id입니다. |
| PDF이름 | 문자열 | PDF를 제공할 이름입니다. 기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id. |
| fontFamilySysId | 문자열 | 옵션입니다. PDF에 사용할 글꼴 모음의 Sys_id입니다. 이 sys_id은 PDF 생성 글꼴 집합 [sys_pdf_generation_font_family] 표에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration | 객체 | 옵션입니다. 목차 구성 및 페이지 번호 구성을 포함하는 객체입니다. |
| documentConfiguration.toc_config | 문자열 | 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 목차 구성 [doc_toc_config] 테이블에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration.page_number_config | 문자열 | 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성 [doc_page_number_config] 테이블에 있습니다. 기본값: 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 변환에 성공하면 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.attachment_id | HTML 변환에 성공하면 변환되어 첨부된 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다. 데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.request_id | 변경 생성자 요청 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제는 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 문자열, pdf Name 문자열, headerFooterInfo 객체, fontFamilySysId 객체, documentConfiguration 객체)
HTML 문자열을 머리글 및 바닥글 내용이 있는 PDF로 변환합니다.
- 머리글 및 바닥글 정보
- 여백 크기
- 방향
- 열거형
- 페이지 크기
| 이름 | 유형 | 설명 |
|---|---|---|
| html | 문자열 | PDF 문서로 변환할 HTML입니다. |
| targetTable | 문자열 | 변환된 PDF를 첨부할 테이블의 이름입니다. |
| targetTableSysId | 문자열 | 변환된 PDF를 첨부할 기록의 Sys_id입니다. |
| PDF이름 | 문자열 | PDF를 제공할 이름입니다. 기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id. |
| headerFooterInfo (헤더푸터정보) | 객체 | PDF 머리글 및 바닥글 상세 정보를 정의합니다. |
| headerFooterInfo입니다.FooterImageAlignment (푸터이미지정렬) | 문자열 | 바닥글에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.푸터이미지첨부 ID | 문자열 | 첨부 파일 [sys_attachment] 테이블의 바닥글 이미지 Sys_id. 인스턴스에서 지원되는 파일 형식인지 확인하려면 시스템 속성 > 보안 으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분된) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo입니다.푸터이미지높이 | 문자열 | 바닥글 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo입니다.Footertext | 문자열 | 각 PDF 페이지의 하단에 배치할 바닥글 텍스트입니다. |
| headerFooterInfo입니다.FooterTextAlignment (푸터텍스트정렬) | 문자열 | 바닥글의 텍스트 위치를 설정합니다. 이 값이 에 제공된 headerFooterInfo.FooterImageAlignment영역과 일치하거나 충돌하지 않는지 확인합니다. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.GeneratePageNumber | 문자열 | PDF 페이지 번호를 생성할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| headerFooterInfo입니다.HeaderImageAlignment | 문자열 | 헤더에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.헤더이미지첨부 ID | 문자열 | 첨부 파일 [sys_attachment] 테이블의 헤더 이미지 Sys_id. 인스턴스에서 지원되는 파일 형식인지 확인하려면 시스템 속성 > 보안 으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분된) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo입니다.헤더이미지높이 | 문자열 | 헤더 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo입니다.LeftOrRightMargin | 문자열 | 왼쪽 및 오른쪽 여백의 크기입니다. 페이지의 왼쪽 또는 오른쪽에 배치하면 머리글/바닥글 세부 정보가 이 영역 내에 배치됩니다. 기본값: 36포인트 |
| headerFooterInfo입니다.페이지오리엔테이션 | 문자열 | 페이지 방향입니다. 유효한 값은 다음과 같습니다.
기본값: 세로 |
| headerFooterInfo입니다.Pagesize | 문자열 | 문서 페이지 크기입니다. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.TopOrBottomMargin | 문자열 | 위쪽 및 아래쪽 여백의 크기입니다. 머리글 및 바닥글 세부 정보는 이 영역 내에 배치됩니다. 기본값: 72포인트 |
| fontFamilySysId | 문자열 | 옵션입니다. PDF에 사용할 글꼴 모음의 Sys_id입니다. 이 sys_id은 PDF 생성 글꼴 집합 [sys_pdf_generation_font_family] 표에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration | 객체 | 옵션입니다. 목차 구성 및 페이지 번호 구성을 포함하는 객체입니다. |
| documentConfiguration.toc_config | 문자열 | 옵션입니다. PDF에 사용할 목차 구성의 Sys_id입니다. 이 sys_id은 목차 구성 [doc_toc_config] 테이블에서 가져온 것입니다. 기본값: 없음 |
| documentConfiguration.page_number_config | 문자열 | 옵션입니다. PDF에 사용할 페이지 번호 구성의 Sys_id입니다. 이 sys_id은 페이지 번호 구성 [doc_page_number_config] 테이블에 있습니다. 기본값: 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 변환에 성공하면 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.attachment_id | HTML 변환에 성공하면 변환되어 첨부된 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다. 데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.request_id | 변경 생성자 요청 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제는 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 – fillDocumentFieldsAndFlatten(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, 객체 평면화)
편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- fillDocumentFields() – 편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillFieldsAndMergeSignature() – 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- getFilledDocumentWithSignatureAsBase64() – 편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드맵 | 객체 | 옵션입니다. PDF 필드 이름 및 채울 값으로 키 값 매핑 getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다. |
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| tableName | 문자열 | PDF가 첨부되는 기록이 들어 있는 테이블의 이름입니다. 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 이 값을 찾을 수 있습니다. |
| tableSysId | 문자열 | PDF가 첨부된 기록의 Sys_id입니다. 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 이 값을 찾을 수 있습니다. |
| PDF이름 | 문자열 | PDF를 제공할 이름입니다. 기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id. |
| 평평 | 객체 | 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경하지 못하도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 병합 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다.
기본값: fully_flatten |
| 유형 | 설명 |
|---|---|
| 객체 | 성공할 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.attachment_id | 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다. 데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 필드를 채우고 편집 가능한 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 – fillDocumentFields(객체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName)
편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillDocumentFieldsAndFlatten() – 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- fillFieldsAndMergeSignature() – 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- getFilledDocumentWithSignatureAsBase64() – 편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드맵 | 객체 | 옵션입니다. PDF 필드 이름 및 채울 값으로 키 값 매핑 getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다. |
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| tableName | 문자열 | PDF가 첨부되는 기록이 들어 있는 테이블의 이름입니다. 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 이 값을 찾을 수 있습니다. |
| tableSysId | 문자열 | PDF가 첨부된 기록의 Sys_id입니다. 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 이 값을 찾을 수 있습니다. |
| PDF이름 | 문자열 | PDF를 제공할 이름입니다. 기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id. |
| 유형 | 설명 |
|---|---|
| 객체 | 성공할 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.attachment_id | 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다. 데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 편집 가능한 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 – fillFieldsAndMergeSignature(오브젝트 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, PdfMergeSignRequestor 요청자, 객체 평면화)
편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- fillDocumentFields() – 편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillDocumentFieldsAndFlatten() – 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- getFilledDocumentWithSignatureAsBase64() – 편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드맵 | 객체 | 옵션입니다. PDF 필드 이름 및 채울 값으로 키 값 매핑 getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다. |
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| tableName | 문자열 | PDF가 첨부되는 기록이 들어 있는 테이블의 이름입니다. 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 이 값을 찾을 수 있습니다. |
| tableSysId | 문자열 | PDF가 첨부된 기록의 Sys_id입니다. 첨부 파일 [sys_attachment] 테이블에 나열된 첨부 파일과 동일한 행에서 이 값을 찾을 수 있습니다. |
| PDF이름 | 문자열 | PDF를 제공할 이름입니다. 기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id. |
| 요청자 | PdfMergeSignRequestor | pdfMergeSignRequestor에서 반환된 서명 입력입니다. |
| 평평 | 객체 | 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경하지 못하도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 병합 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다.
기본값: fully_flatten |
| 유형 | 설명 |
|---|---|
| 객체 | 성공할 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.attachment_id | 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다. 데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 기본 설정으로 서명을 사용하여 필드를 채워 필드를 완전히 평면화하는 방법을 보여 줍니다.
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(String sysId)
PDF 문서에서 편집 가능한 필드 목록을 가져옵니다. 검사할 파일을 수동으로 열지 않고도 편집 가능한 PDF 필드를 나열할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| 유형 | 설명 |
|---|---|
| 객체 | 서명된 PDF의 ID를 포함하는 객체입니다. 그렇지 않으면 오류 메시지입니다. |
| <Object>.필드 | 요청이 성공하면 PDF의 각 필드 이름이 포함된 목록에 표시됩니다. 데이터 유형: 문자열 배열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 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 문서에서 편집 가능한 필드 세트의 필드 유형을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| 유형 | 설명 |
|---|---|
| 객체 | 각 PDF 필드 유형을 포함하는 객체가 성공하면 되고, 그렇지 않으면 오류 메시지가 표시됩니다. |
| <Object>.fields_type | 지정된 PDF의 각 필드를 나열하는 객체가 성공하면 되고, 그렇지 않으면 오류 메시지가 표시됩니다. 데이터 유형: 객체 |
| <Object>.fields_type.<필드> | 각 필드의 페이지 번호를 포함하는 객체입니다. <field> 이름은 필드 레이블(예: "SSN") 또는 유형을 나타내는 자동 레이블을 나타냅니다. 데이터 유형: 객체 |
| <Object>.fields_type.<field>.fields상세 정보 | 선택 필드 유형에 대한 각 옵션의 필드 이름과 해당 값을 포함하는 객체의 목록입니다. 적용 가능한 유형:
데이터 유형: 배열 |
| <Object>.fields_type.<field>.fieldsDetails.fieldName | 선택 필드의 이름입니다. 데이터 유형: 문자열 |
| <Object>.fields_type.<field>.fieldsDetails.value | 선택 필드의 값입니다. 데이터 유형: 문자열 |
| <Object>.fields_type.<field>.pageNumber | 이 필드에 해당하는 PDF 페이지 번호입니다. 데이터 유형: 문자열 |
| <Object>.fields_type.<field>.type | PDF 필드 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 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를 문자열로 출력할 수 있습니다.
- fillDocumentFields() – 편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillDocumentFieldsAndFlatten() – 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
- fillFieldsAndMergeSignature() – 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 병합하고, 제공된 기록에 첨부합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드맵 | 객체 | 옵션입니다. PDF 필드 이름 및 채울 값으로 키 값 매핑 getDocumentFields() 메서드를 사용하여 사용 가능한 필드 목록을 가져옵니다. |
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| 요청자 | PdfMergeSignRequestor | pdfMergeSignRequestor에서 반환된 서명 입력입니다. |
| 평평 | 객체 | 옵션입니다. 필드를 평면화하면 다른 사용자가 정보를 변경하지 못하도록 필드를 잠글 수 있습니다. 키를 "FlattenType"으로 지정하고 병합 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다.
기본값: fully_flatten |
| 유형 | 설명 |
|---|---|
| 문자열 | 성공하면 Base64 형식으로 변환된 PDF가 첨부 파일 테이블 [sys_attachment]에 추가됩니다. 컨텐츠는 채워진 필드와 서명과 함께 제공된 PDF 첨부 파일을 반영합니다. 대체 평면화 옵션이 매개변수와 함께 flatten 제공되지 않는 한 필드를 편집할 수 없습니다. |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 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 문서의 페이지 크기를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| 유형 | 설명 |
|---|---|
| 객체 | 성공할 경우 각 페이지의 크기를 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.pages_크기 | 작업이 성공하면 각 PDF 페이지의 너비와 높이를 포인트로 표시합니다. 페이지 번호는 문자열로 반환되고 측정값은 숫자 데이터 유형으로 반환됩니다. 데이터 유형: 객체 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 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 문서에 편집 가능한 필드가 포함되어 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블의 PDF Sys_id. |
| 유형 | 설명 |
|---|---|
| 객체 | 성공할 경우 각 페이지의 크기를 포함하는 객체이고, 그렇지 않으면 오류 메시지입니다. |
| <Object>.document_editable | 작업이 성공하면 문서를 편집할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열로 제공되는 부울 값입니다 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 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 – PDFGenerationAPI()
새 PDFGenerationAPI 개체를 인스턴스화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
다음 예제에서는 PDFGenerationAPI 개체를 만드는 방법을 보여 줍니다.
var v = new sn_pdfgeneratorutils.PDFGenerationAPI;