테이블 - 범위, 전역
PDF 문서에 추가할 테이블 객체를 만듭니다. 각 셀에서 사용할 데이터를 정의하고 스타일, 여백 및 정렬을 설정합니다.
이 API는 PDF 생성 유틸리티 플러그인(com.snc.apppdfgenerator)의 ServiceNow 일부이며 sn_pdfgeneratorutils 네임스페이스 내에서 제공됩니다. 플러그인은 기본적으로 활성화됩니다.
이 API는 PDF를 생성하기 위해 문서 API 와 함께 사용되는 구성요소입니다.
이 클래스의 메서드를 사용하여 Table 개체를 빌드합니다. 다음과 같은 추가 클래스를 사용하여 표에 셀, 단락 및 스타일을 추가할 수 있습니다.
- 셀 API
- Cell API를 사용하여 셀을 생성합니다. 그런 다음 다음 방법 중 하나를 사용하여 테이블에 셀을 추가합니다.
- 테이블.addCell()
- 테이블.addCellWithStyle()
- 테이블.addHeaderCell()
- Table.addImageCell()
- Table.addParagraphCell()
- 테이블.addTextCell()
- 단락 API
- 단락 API를 사용하여 단락을 만듭니다. Cell.addParagraph()를 사용하여 표의 셀에 단락을 추가합니다.
- 스타일 API
- 스타일 API를 사용하여 스타일, 색상 및 테두리를 설정합니다. 다음 방법 중 하나를 사용하여 테이블에 스타일을 추가합니다.
- Table.setDefaultStyle()
- Table.setHeaderStyle()
- Document API
- Document.addTable() 메서드를 사용하여 PDF 문서에 테이블을 추가합니다. Document.saveAsAttachment() 메서드를 사용하여 문서를 기록에 첨부할 수 있습니다.
테이블 - Table(Boolean ltr, Array columnWidths, Boolean largeTable)
텍스트 방향, 열 너비 및 레이아웃 설정으로 새 Table 개체를 인스턴스화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 중부 | 부울 | 표에 있는 언어의 텍스트 방향을 나타내는 플래그입니다. 자세한 내용은 W3C: 스크립트 방향 및 언어를 참조하세요. 유효한 값은 다음과 같습니다.
|
| 열 너비 | 배열 | 테이블의 각 열 너비를 지정하는 숫자입니다. 크기는 비례적으로 기준이 됩니다. 예를 들어 var columnWidths = [2, 1, 1]; 은 첫 번째 열이 다른 두 열보다 두 배 큰 3열 테이블입니다.기본값: 각 열의 너비는 동일합니다. |
| 대형 테이블 | 부울 | 100% 너비 및 고정 레이아웃이 암시적으로 설정되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
다음 예제에서는 2열 Table 개체를 만드는 방법을 보여 줍니다.
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
테이블 – addCell(셀 셀)
테이블에 셀 요소를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 셀 | 셀 | 테이블에 추가할 셀 요소입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 인시던트 테이블에서 Table 개체를 만들고 각 행에 숫자 및 간단한 설명 셀을 추가하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query Incident
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var nParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var sParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(nParagraph);
hdrCell2.addParagraph(sParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCell(numCell);
table.addCell(sdCell);
row = row + 1;
}
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – addCellWithStyle(셀 셀, 스타일 스타일)
스타일이 적용된 셀 요소를 테이블에 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 셀 | 셀 | 테이블에 추가할 셀 객체입니다. |
| 스타일 | 스타일 | 셀에 적용할 스타일입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 지정된 Cell 개체에 스타일을 적용하고 문서를 레코드에 첨부 파일로 저장하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var cellBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query Incident
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
var cellStyle = new sn_pdfgeneratorutils.Style;
cellStyle.setBackgroundColor(cellBgColor);
cellStyle.setTextAlignment("text-center");
cellStyle.setBold();
cellStyle.setFontColor(whiteColor);
var nParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var sParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(nParagraph);
hdrCell2.addParagraph(sParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCellWithStyle(numCell, cellStyle);
table.addCell(sdCell);
row = row + 1;
}
document.addTable(table);
document.saveAsAttachment("incident", "sys_id", "filename.pdf");
테이블 – addHeaderCell(셀 셀)
테이블에 머리글 Cell 개체를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 셀 | 셀 | 테이블에 추가할 헤더 셀입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 Paragraph 개체가 포함된 테이블에 머리글 셀을 추가하는 방법을 보여 줍니다. Paragraph 개체에 대한 자세한 내용은 단락 API를 참조하십시오.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query Incident
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var nParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var sParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(nParagraph);
hdrCell2.addParagraph(sParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCell(numCell);
table.addCell(sdCell);
row = row + 1;
}
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – addImageCell(이미지 이미지)
이미지가 포함된 셀을 테이블에 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이미지 | 이미지 | 셀에 추가할 이미지 객체입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예시에서는 두 개의 이미지 셀이 있는 테이블을 만들고 문서를 기록에 첨부하는 방법을 보여줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
var icon = new sn_pdfgeneratorutils.Image("<sys_id>");
var picture = new sn_pdfgeneratorutils.Image("<sys_id>");
table.addImageCell(icon);
table.addImageCell(picture);
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – addParagraphCell(단락 p)
표에 단락이 포함된 셀을 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| P | 단락 | 셀에 추가할 단락 객체입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 단락 내용을 포함하는 단일 셀이 있는 테이블을 만드는 방법을 보여줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
var paragraph = new sn_pdfgeneratorutils.Paragraph("Content to add to the cell");
table.addParagraphCell(paragraph);
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – addTextCell(문자열 텍스트)
문자열이 포함된 셀을 테이블에 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 텍스트 | 문자열 | 셀에 추가할 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 문자열이 포함된 단일 셀이 있는 테이블을 만드는 방법을 보여줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
document.addTable(table);
document.saveAsAttachment("incident", "record_sys_id", "filename.pdf");
테이블 – complete()
의도한 모든 컨텐츠가 큰 테이블에 추가되었음을 나타냅니다.
Table.flush() 메서드와 함께 사용하여 문서에 이미 추가된 테이블에 내용을 추가합니다. 이 메서드는 생성자의 매개 변수가 true로 설정된 경우에만 largeTable 적용됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 문서에 이미 추가된 테이블에 내용 추가가 완료되었음을 나타내는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query Incident
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1,2,1,1], true);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var numberParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var descParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var stateParagraph = new sn_pdfgeneratorutils.Paragraph("State");
var assignedParagraph = new sn_pdfgeneratorutils.Paragraph("Assigned to");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
var hdrCell3 = new sn_pdfgeneratorutils.Cell;
var hdrCell4 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(numberParagraph);
hdrCell2.addParagraph(descParagraph);
hdrCell3.addParagraph(stateParagraph);
hdrCell4.addParagraph(assignedParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
table.addHeaderCell(hdrCell3);
table.addHeaderCell(hdrCell4);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var stateCell = new sn_pdfgeneratorutils.Cell;
var assignedCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
var stateParagraph = new sn_pdfgeneratorutils.Paragraph(gr.state);
var assignedParagraph = new sn_pdfgeneratorutils.Paragraph(gr.assigned_to);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
stateCell.addParagraph(stateParagraph);
assignedCell.addParagraph(assignedParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCell(numCell);
table.addCell(sdCell);
table.addCell(stateCell);
table.addCell(assignedCell);
row = row + 1;
}
document.addTable(table);
table.addTextCell("A cell added later");
table.flush();
table.complete();
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – donotSplitRowOnPageBreak(부울 값)
가능한 경우 두 페이지에 걸쳐 행을 분할하지 않도록 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 부울 | 행을 두 페이지에 분할할지 또는 전체 행을 두 번째 페이지로 이동할지 여부를 나타내는 플래그입니다. 그러나 행이 두 페이지 이상에 걸쳐 있는 경우에는 이 속성이 적용되지 않습니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 두 페이지에서 행이 분할되지 않도록 하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [25,25,25,75,400], false);
table.addTextCell("Text to add to the cell");
table.addTextCell("More text to add to the cell");
table.addTextCell("Even more text to add to the cell");
table.addTextCell("Even more text to add to the cell");
table.addTextCell("Even more text to add to the cell");
table.donotSplitRowOnPageBreak(true);
document.addTable(table);
document.saveAsAttachment("incident", "record_sys_id", "filename.pdf");
테이블 – flush()
문서에 이미 추가된 테이블에 추가 컨텐트를 추가합니다.
Table.complete() 메서드와 함께 사용하여 테이블에 모든 추가 내용을 추가했음을 나타냅니다. 이 메서드는 생성자의 매개 변수가 true로 설정된 경우에만 largeTable 적용됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 문서에 이미 추가된 테이블에 텍스트 셀을 추가하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query Incident
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1,2,1,1], true);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var numberParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var descParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var stateParagraph = new sn_pdfgeneratorutils.Paragraph("State");
var assignedParagraph = new sn_pdfgeneratorutils.Paragraph("Assigned to");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
var hdrCell3 = new sn_pdfgeneratorutils.Cell;
var hdrCell4 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(numberParagraph);
hdrCell2.addParagraph(descParagraph);
hdrCell3.addParagraph(stateParagraph);
hdrCell4.addParagraph(assignedParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
table.addHeaderCell(hdrCell3);
table.addHeaderCell(hdrCell4);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var stateCell = new sn_pdfgeneratorutils.Cell;
var assignedCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
var stateParagraph = new sn_pdfgeneratorutils.Paragraph(gr.state);
var assignedParagraph = new sn_pdfgeneratorutils.Paragraph(gr.assigned_to);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
stateCell.addParagraph(stateParagraph);
assignedCell.addParagraph(assignedParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCell(numCell);
table.addCell(sdCell);
table.addCell(stateCell);
table.addCell(assignedCell);
row = row + 1;
}
document.addTable(table);
table.addTextCell("A cell added later");
table.flush();
table.complete();
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – getDefaultStyle()
기본 스타일을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 스타일 | 기본 스타일. |
이 예제에서는 기본 스타일을 설정한 다음 반환하는 방법을 보여 줍니다.
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
var style = new sn_pdfgeneratorutils.Style();
style.setItalic();
table.setDefaultStyle(style);
table.addTextCell("Text to add to the cell");
var defaultStyle = table.getDefaultStyle();
gs.info(defaultStyle);
테이블 – getHeaderStyle()
테이블 헤더에 적용된 스타일을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 스타일 | 테이블의 헤더에 적용되는 스타일입니다. |
이 예제에서는 테이블의 헤더 스타일을 설정하고 반환하는 방법을 보여 줍니다.
var table = new sn_pdfgeneratorutils.Table(true, [1,1], false);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
var styleObject = table.getHeaderStyle();
gs.info(styleObject);
표 – setBorder(Number width)
테이블의 바깥쪽 가장자리 주위에 지정된 너비의 테두리를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| width | 번호 | 테두리의 너비입니다. 단위: 포인트 |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예시에서는 테두리가 2픽셀인 테이블을 만들고 해당 테이블을 기록에 첨부하는 방법을 보여줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setBorder(2);
document.addTable(table);
"document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setDefaultbackGroundColor(색상 색상)
테이블의 기본 배경색을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 색상 | 색상 | 테이블의 기본 배경색으로 사용되는 색상 객체입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 테이블의 기본 배경색을 설정하는 방법을 보여줍니다.
// declare table by providing width array with automatic table size
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
var color = new sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
table.setDefaultbackGroundColor(color);
table.addTextCell("Text to add to the cell");
테이블 – setDefaultStyle(스타일 defaultStyle)
테이블에 적용할 기본 스타일을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 기본 스타일 | 스타일 | 테이블에 적용할 기본 스타일입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 테이블에 기본 스타일을 적용하는 방법을 보여 줍니다.
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
var style = new sn_pdfgeneratorutils.Style();
style.setItalic();
table.setDefaultStyle(style);
table.addTextCell("Text to add to the cell");
var defaultStyle = table.getDefaultStyle();
gs.info(defaultStyle);
테이블 – setFixedPosition(숫자, 페이지 번호, 왼쪽 번호, 맨 아래 번호, 너비 번호)
테이블을 페이지의 고정 위치로 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| pageNumber | 번호 | 테이블을 추가할 페이지의 번호입니다. |
| 왼쪽 | 번호 | 왼쪽 여백에서 테이블을 추가할 픽셀 수입니다. 단위: 포인트 |
| 하단 | 번호 | 아래쪽 여백에서 테이블을 추가할 픽셀 수입니다. 단위: 포인트 |
| width | 번호 | 테이블의 너비입니다. 단위: 포인트 |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지의 왼쪽 아래 모서리로 표의 위치를 변경하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setFixedPosition(1,36,36,500);
document.addTable(table);
"document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setHeaderStyle(Style, headerStyle)
테이블의 헤더에 적용할 Style 개체를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 헤더 스타일 | 스타일 | 테이블의 헤더에 적용할 스타일 객체입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 테이블의 헤더 스타일을 설정하고 반환하는 방법을 보여 줍니다.
var table = new sn_pdfgeneratorutils.Table(true, [1,1], false);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
var styleObject = table.getHeaderStyle();
gs.info(styleObject);
테이블 – setHorizontalAlignment(String alignment)
테이블의 가로 맞춤을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 정렬 | 문자열 | 테이블에 대한 정렬입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지 중앙에 정렬된 작은 테이블을 만드는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setWidth(90);
table.setHorizontalAlignment("center");
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setMargin(Number margin)
표 주위의 모든 여백을 동일한 너비로 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 마진 | 번호 | 상단, 오른쪽, 하단, 왼쪽 여백의 값(포인트)입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 전체 테이블에 대해 여백을 설정하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setMargin(3);
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setMarginBottom(Number margin)
페이지 아래쪽에 여백을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 마진 | 번호 | 하단 여백의 높이(포인트)입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지 아래쪽의 여백을 3포인트로 설정하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query Incident
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var nParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var sParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(nParagraph);
hdrCell2.addParagraph(sParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
// set the bottom margin to three points
table.setBottomMargin(3);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCell(numCell);
table.addCell(sdCell);
row = row + 1;
}
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setMarginLeft(Number margin)
페이지 왼쪽에 여백을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 마진 | 번호 | 왼쪽 여백의 너비(포인트)입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지 왼쪽의 여백을 설정하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setMarginLeft(100);
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setMarginRight(Number margin)
페이지 오른쪽에 여백을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 마진 | 번호 | 오른쪽 여백의 너비(포인트)입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지 왼쪽의 여백을 설정하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setMarginRight(100);
document.addTable(table);
"document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – setMarginTop(Number margin)
페이지 위쪽에 여백을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 마진 | 번호 | 위쪽 여백의 높이(포인트)입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지 위쪽에 여백을 설정하는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setMarginTop(100);
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
표 – setWidth(숫자 너비)
테이블의 전체 너비를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| width | 번호 | 테이블의 너비입니다. 단위: 포인트 |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예시에서는 90포인트 너비의 테이블을 만들고 문서를 기록에 첨부하는 방법을 보여줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.setWidth(90);
table.setHorizontalAlignment("center");
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");
테이블 – useAllAvailableWidth()
페이지에서 사용할 수 있는 전체 너비를 사용하도록 테이블을 확장합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 안 함 |
이 예제에서는 페이지에서 사용 가능한 너비로 확장되는 테이블을 만드는 방법을 보여 줍니다.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [1], false);
table.addTextCell("Text to add to the cell");
table.useAllAvailableWidth();
document.addTable(table);
document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");