PDFGenerationAPI - 범위가 지정됨, 전역
PDFGenerationAPI는 PDF 변환 및 PDF 필드 처리를 지원합니다.
이 API는 PDF 생성 유틸리티 플러그인(com.snc.apppdfgenerator)의 ServiceNow 일부이며 sn_pdfgeneratorutils 네임스페이스 내에서 제공됩니다. 플러그인은 기본적으로 활성화되어 있습니다.
- HTML 문자열에서 PDF를 동적으로 작성하고 레코드에 첨부
- PDFGenerationAPI – convertToPDF(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 문자열 fontFamilySysId, 개체 documentConfiguration)
- PDFGenerationAPI – convertToPDFWithHeaderFooter(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 개체 headerFooterInfo, 문자열 fontFamilySysId, 개체 documentConfiguration)
- PDF의 필드 채우기
- PDF 서명
- Restrict editing editing filled fields as flattened or partially flattened(채워진 필드를 평면화 또는 부분적으로 평면화로 편집 제한) – PDFGenerationAPI – fillDocumentFieldsAndFlatten(개체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, 개체 평면화)
- PDF 페이지 크기 및 필드 데이터 검색
- PDF에서 정보 수정 – PDFGenerationAPI – 수정(객체 inputJson)
PDFGenerationAPI – PDFGenerationAPI()
새 PDFGenerationAPI 개체를 인스턴스화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
다음 예제에서는 PDFGenerationAPI 개체를 만드는 방법을 보여 줍니다.
var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
PDFGenerationAPI – convertToPDF(문자열 html, 문자열 targetTable, 문자열 targetTableSysId, 문자열 pdfName, 문자열 fontFamilySysId, 개체 documentConfiguration)
HTML 문자열을 PDF 문서로 변환합니다.
이 방법은 A4 – 595 × 842포인트의 페이지 크기를 사용하여 PDF를 만듭니다. 이 크기를 초과하면 컨텐츠가 잘립니다.
페이지 크기, 방향 및 페이지 번호와 같은 추가 설정을 사용하여 PDF를 생성하려면 convertToPDFWithHeaderFooter()를 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 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 | 객체 | 옵션입니다. 목차 구성 및 페이지 번호 구성을 포함하는 객체입니다. |
| 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, 문자열 pdfName, 개체 headerFooterInfo, 문자열 fontFamilySysId, 개체 documentConfiguration)
HTML 문자열을 머리글과 바닥글 내용이 있는 PDF로 변환합니다.
- 머리글 및 바닥글 정보
- 여백 크기
- 방향
- 열거형
- 페이지 크기
| 이름 | 유형 | 설명 |
|---|---|---|
| html | 문자열 | PDF 문서로 변환하려는 HTML입니다. |
| targetTable | 문자열 | 변환된 PDF를 첨부할 테이블의 이름입니다. |
| targetTableSysId | 문자열 | 변환된 PDF를 첨부할 기록의 Sys_id입니다. |
| pdfName | 문자열 | PDF에 제공할 이름입니다. 기본값: 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id. |
| headerFooterInfo | 객체 | PDF 머리글 및 바닥글 상세 정보를 정의합니다. |
| headerFooterInfo입니다.바닥글 이미지 정렬 | 문자열 | 바닥글의 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.바닥글 이미지 첨부 파일 ID | 문자열 | 첨부 파일 [sys_attachment] 테이블의 바닥글 이미지 Sys_id입니다. 파일 형식이 인스턴스에서 지원되는지 확인하려면 시스템 속성> 보안 으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo입니다.바닥글 이미지 높이 | 문자열 | 바닥글 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo입니다.바닥글 텍스트 | 문자열 | 각 PDF 페이지의 맨 아래에 배치할 바닥글 텍스트입니다. |
| headerFooterInfo입니다.바닥글 텍스트 정렬 | 문자열 | 바닥글의 텍스트 위치를 설정합니다. 이 값이 에 headerFooterInfo.FooterImageAlignment제공된 영역과 일치하지 않거나 충돌하지 않는지 확인하십시오. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.GeneratePageNumber | 문자열 | PDF 페이지 번호를 생성할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| headerFooterInfo입니다.헤더 이미지 정렬 | 문자열 | 헤더에서 이미지 위치를 설정합니다. 유효한 값은 다음과 같습니다.
|
| headerFooterInfo입니다.헤더 이미지 첨부 파일 ID | 문자열 | 첨부 파일 [sys_attachment] 테이블의 헤더 이미지 Sys_id입니다. 파일 형식이 인스턴스에서 지원되는지 확인하려면 시스템 속성> 보안 으로 이동하여 첨부할 수 있는 파일 확장명 목록(쉼표로 구분) 필드에 나열되어 있는지 확인합니다. |
| headerFooterInfo입니다.헤더 이미지 높이 | 문자열 | 헤더 이미지의 높이입니다. 기본값: 50포인트 |
| headerFooterInfo입니다.왼쪽 또는 오른쪽 여백 | 문자열 | 왼쪽 및 오른쪽 여백의 크기입니다. 페이지의 왼쪽 또는 오른쪽에 배치하면 머리글/바닥글 세부 정보가 이 영역 내에 배치됩니다. 기본값: 36포인트 |
| headerFooterInfo입니다.페이지 오리엔테이션 | 문자열 | 페이지 방향입니다. 유효한 값은 다음과 같습니다.
기본값: 세로 |
| headerFooterInfo입니다.페이지 크기 | 문자열 | 문서 페이지 크기입니다. 유효한 값은 다음과 같습니다.
페이지 크기를 초과하면 컨텐츠가 잘립니다. |
| 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 – fillDocumentFields(개체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName)
편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillDocumentFieldsAndFlatten() – 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 레코드에 첨부합니다.
- fillFieldsAndMergeSignature() – 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
- getFilledDocumentWithSignatureAsBase64() – 편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 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. |
| 유형 | 설명 |
|---|---|
| 객체 | 성공한 경우 업데이트된 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 – fillDocumentFieldsAndFlatten(개체 fieldsMap, 문자열 sysId, 문자열 tableName, 문자열 tableSysId, 문자열 pdfName, 개체 평면화)
편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 레코드에 첨부합니다.
- fillDocumentFields() – 편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillFieldsAndMergeSignature() – 편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
- getFilledDocumentWithSignatureAsBase64() – 편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 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"으로 지정하고 평면화 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다.
기본값: 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 – fillFieldsAndMergeSignature(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, PdfMergeSignRequestor requestor, Object flatten)
편집 가능한 PDF의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
- fillDocumentFields() – 편집 가능한 PDF의 필드를 채우고 제공된 레코드에 첨부합니다.
- fillDocumentFieldsAndFlatten() – 편집 가능한 PDF의 필드를 채우고, 데이터 필드를 병합하고, 제공된 레코드에 첨부합니다.
- getFilledDocumentWithSignatureAsBase64() – 편집 가능한 PDF의 필드를 채우고, 이미지를 만들고, Base64로 인코딩된 PDF로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 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"으로 지정하고 평면화 옵션을 문자열로 제공합니다. 유효한 값은 다음과 같습니다.
기본값: 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(문자열 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>.fieldsDetails | 필드 이름과 선택 필드 유형에 대한 각 옵션의 해당 값이 포함된 객체의 목록입니다. 적용 가능한 유형:
데이터 유형: 배열 |
| <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의 필드를 채우고, 서명 이미지를 추가하고, 데이터 필드를 평면화하고, 제공된 레코드에 첨부합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| fieldsMap | 객체 | 옵션입니다. 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 – 수정(객체 inputJson)
지정된 사각형 좌표, 검색 키워드 또는 둘 다를 기준으로 PDF 문서에 수정 작업을 적용합니다. 원본 PDF의 수정된 사본이 첨부 파일 [sys_attachment] 테이블에 생성됩니다.
- 수정 결과에는 수정하려는 의도가 아닌 텍스트를 덮어쓰는 예기치 않은 흰색 수정된 텍스트 블록이 포함될 수 있습니다. 이 이벤트가 발생하면 속성 또는 PDF 생성 유틸리티 플러그인을 사용하여 highlightedSections 수정할 컨텐츠를 수동으로 선택할 수 있습니다. 자세한 내용은 Redact data from documents 문서를 참조하십시오.
- 이 방법은 JBIG2 이미지가 포함된 PDF에서 교정을 지원하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| inputJson | 객체 | 수정할 PDF와 해당 내용을 식별합니다. |
| 입력Json.sysId | 문자열 | 첨부 파일 [sys_attachment] 테이블에 있는 PDF의 Sys_id입니다. |
| inputJson입니다. highlightedSections | 객체 배열 | 객체로 제공되는 사각형 좌표의 목록입니다. 각 좌표는 각 페이지에서 수정할 콘텐츠의 위치를 나타냅니다. 속성을 포함하는 경우 선택 사항입니다 searchedKeywords . |
| 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."와 같은 특수 문자 또는 구두점이 포함된 텍스트 문자열이 수정되지 않습니다. 또는 문자열에서 문자를 제거하거나 텍스트를 제거할 영역을 강조 표시할 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 성공한 경우 업데이트된 PDF 첨부 파일의 sys_id 포함하는 객체입니다. 그렇지 않으면 오류 메시지가 표시됩니다. |
| <Object>.attachment_id | 작업이 성공하면 채워진 PDF를 sys_id. 파일이 첨부 파일 [sys_attachment] 테이블에 나열됩니다. 데이터 유형: 문자열 |
| <Object>.메시지 | 성공 또는 오류를 확인하는 메시지입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.상태 | 작업의 성공 여부를 나타내는 상태입니다. 가능한 값:
데이터 유형: 문자열 |
다음 예제에서는 사각형 및 키워드로 수정하는 방법을 보여 줍니다. 수정된 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"}