테이블 - 범위, 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 46분
  • 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()
    그런 다음 다음 클래스와 메서드를 사용하여 PDF 문서에 Table 개체를 적용할 수 있습니다.
    Document API
    Document.addTable() 메서드를 사용하여 PDF 문서에 테이블을 추가합니다. Document.saveAsAttachment() 메서드를 사용하여 문서를 기록에 첨부할 수 있습니다.

    테이블 - Table(Boolean ltr, Array columnWidths, Boolean largeTable)

    텍스트 방향, 열 너비 및 레이아웃 설정으로 새 Table 개체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    중부 부울

    표에 있는 언어의 텍스트 방향을 나타내는 플래그입니다. 자세한 내용은 W3C: 스크립트 방향 및 언어를 참조하세요.

    유효한 값은 다음과 같습니다.
    • true: 텍스트 방향이 왼쪽에서 오른쪽입니다.
    • false: 텍스트 방향이 오른쪽에서 왼쪽입니다.
    열 너비 배열 테이블의 각 열 너비를 지정하는 숫자입니다. 크기는 비례적으로 기준이 됩니다. 예를 들어 var columnWidths = [2, 1, 1]; 은 첫 번째 열이 다른 두 열보다 두 배 큰 3열 테이블입니다.

    기본값: 각 열의 너비는 동일합니다.

    대형 테이블 부울 100% 너비 및 고정 레이아웃이 암시적으로 설정되었는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 테이블이 고정 레이아웃으로 100% 너비를 사용합니다. true이면 모든 컨텐츠가 추가되었을 때 complete() 메서드를 사용하여 테이블이 완료되었음을 나타냅니다.
    • false: 자동 테이블 크기.

    기본값: false

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

    var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);

    테이블 – addCell(셀 셀)

    테이블에 셀 요소를 추가합니다.

    표 2. 매개변수
    이름 유형 설명
    테이블에 추가할 셀 요소입니다.
    표 3. 반환
    유형 설명
    없음

    이 예제에서는 인시던트 테이블에서 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(셀 셀, 스타일 스타일)

    스타일이 적용된 셀 요소를 테이블에 추가합니다.

    표 4. 매개변수
    이름 유형 설명
    테이블에 추가할 셀 객체입니다.
    스타일 스타일 셀에 적용할 스타일입니다.
    표 5. 반환
    유형 설명
    없음

    이 예제에서는 지정된 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 개체를 추가합니다.

    표 6. 매개변수
    이름 유형 설명
    테이블에 추가할 헤더 셀입니다.
    표 7. 반환
    유형 설명
    없음

    이 예제에서는 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(이미지 이미지)

    이미지가 포함된 셀을 테이블에 추가합니다.

    표 8. 매개변수
    이름 유형 설명
    이미지 이미지 셀에 추가할 이미지 객체입니다.
    표 9. 반환
    유형 설명
    없음

    이 예시에서는 두 개의 이미지 셀이 있는 테이블을 만들고 문서를 기록에 첨부하는 방법을 보여줍니다.

    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)

    표에 단락이 포함된 셀을 추가합니다.

    표 10. 매개변수
    이름 유형 설명
    P 단락 셀에 추가할 단락 객체입니다.
    표 11. 반환
    유형 설명
    없음

    이 예제에서는 단락 내용을 포함하는 단일 셀이 있는 테이블을 만드는 방법을 보여줍니다.

    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(문자열 텍스트)

    문자열이 포함된 셀을 테이블에 추가합니다.

    표 12. 매개변수
    이름 유형 설명
    텍스트 문자열 셀에 추가할 텍스트입니다.
    표 13. 반환
    유형 설명
    없음

    이 예제에서는 문자열이 포함된 단일 셀이 있는 테이블을 만드는 방법을 보여줍니다.

    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 적용됩니다.

    표 14. 매개변수
    이름 유형 설명
    없음
    표 15. 반환
    유형 설명
    없음

    이 예제에서는 문서에 이미 추가된 테이블에 내용 추가가 완료되었음을 나타내는 방법을 보여 줍니다.

    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(부울 값)

    가능한 경우 두 페이지에 걸쳐 행을 분할하지 않도록 합니다.

    표 16. 매개변수
    이름 유형 설명
    부울 행을 두 페이지에 분할할지 또는 전체 행을 두 번째 페이지로 이동할지 여부를 나타내는 플래그입니다. 그러나 행이 두 페이지 이상에 걸쳐 있는 경우에는 이 속성이 적용되지 않습니다.
    유효한 값은 다음과 같습니다.
    • true: 페이지의 나머지 부분이 행에 비해 충분히 크지 않은 경우 전체 행을 새 페이지에 추가합니다.
    • false: 페이지의 나머지 부분이 행에 비해 충분히 크지 않은 경우 행을 두 페이지로 분할합니다.

    기본값: false

    표 17. 반환
    유형 설명
    없음

    이 예제에서는 두 페이지에서 행이 분할되지 않도록 하는 방법을 보여 줍니다.

    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 적용됩니다.

    표 18. 매개변수
    이름 유형 설명
    없음
    표 19. 반환
    유형 설명
    없음

    이 예제에서는 문서에 이미 추가된 테이블에 텍스트 셀을 추가하는 방법을 보여 줍니다.

    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()

    기본 스타일을 반환합니다.

    표 20. 매개변수
    이름 유형 설명
    없음
    표 21. 반환
    유형 설명
    스타일 기본 스타일.

    이 예제에서는 기본 스타일을 설정한 다음 반환하는 방법을 보여 줍니다.

    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()

    테이블 헤더에 적용된 스타일을 반환합니다.

    표 22. 매개변수
    이름 유형 설명
    없음
    표 23. 반환
    유형 설명
    스타일 테이블의 헤더에 적용되는 스타일입니다.

    이 예제에서는 테이블의 헤더 스타일을 설정하고 반환하는 방법을 보여 줍니다.

    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)

    테이블의 바깥쪽 가장자리 주위에 지정된 너비의 테두리를 설정합니다.

    표 24. 매개변수
    이름 유형 설명
    width 번호 테두리의 너비입니다.

    단위: 포인트

    표 25. 반환
    유형 설명
    없음

    이 예시에서는 테두리가 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(색상 색상)

    테이블의 기본 배경색을 설정합니다.

    표 26. 매개변수
    이름 유형 설명
    색상 색상 테이블의 기본 배경색으로 사용되는 색상 객체입니다.
    표 27. 반환
    유형 설명
    없음

    이 예제에서는 테이블의 기본 배경색을 설정하는 방법을 보여줍니다.

    // 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)

    테이블에 적용할 기본 스타일을 설정합니다.

    표 28. 매개변수
    이름 유형 설명
    기본 스타일 스타일 테이블에 적용할 기본 스타일입니다.
    표 29. 반환
    유형 설명
    없음

    이 예제에서는 테이블에 기본 스타일을 적용하는 방법을 보여 줍니다.

    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(숫자, 페이지 번호, 왼쪽 번호, 맨 아래 번호, 너비 번호)

    테이블을 페이지의 고정 위치로 설정합니다.

    표 30. 매개변수
    이름 유형 설명
    pageNumber 번호 테이블을 추가할 페이지의 번호입니다.
    왼쪽 번호 왼쪽 여백에서 테이블을 추가할 픽셀 수입니다.

    단위: 포인트

    하단 번호 아래쪽 여백에서 테이블을 추가할 픽셀 수입니다.

    단위: 포인트

    width 번호 테이블의 너비입니다.

    단위: 포인트

    표 31. 반환
    유형 설명
    없음

    이 예제에서는 페이지의 왼쪽 아래 모서리로 표의 위치를 변경하는 방법을 보여 줍니다.

    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 개체를 설정합니다.

    표 32. 매개변수
    이름 유형 설명
    헤더 스타일 스타일 테이블의 헤더에 적용할 스타일 객체입니다.
    표 33. 반환
    유형 설명
    없음

    이 예제에서는 테이블의 헤더 스타일을 설정하고 반환하는 방법을 보여 줍니다.

    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)

    테이블의 가로 맞춤을 설정합니다.

    표 34. 매개변수
    이름 유형 설명
    정렬 문자열 테이블에 대한 정렬입니다.
    유효한 값은 다음과 같습니다.
    • center: 내용을 중앙에 맞춥니다.
    • 왼쪽: 내용을 왼쪽으로 정렬합니다.
    • 오른쪽: 내용을 오른쪽으로 정렬합니다.
    표 35. 반환
    유형 설명
    없음

    이 예제에서는 페이지 중앙에 정렬된 작은 테이블을 만드는 방법을 보여 줍니다.

    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)

    표 주위의 모든 여백을 동일한 너비로 설정합니다.

    표 36. 매개변수
    이름 유형 설명
    마진 번호 상단, 오른쪽, 하단, 왼쪽 여백의 값(포인트)입니다.
    표 37. 반환
    유형 설명
    없음

    이 예제에서는 전체 테이블에 대해 여백을 설정하는 방법을 보여 줍니다.

    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)

    페이지 아래쪽에 여백을 설정합니다.

    표 38. 매개변수
    이름 유형 설명
    마진 번호 하단 여백의 높이(포인트)입니다.
    표 39. 반환
    유형 설명
    없음

    이 예제에서는 페이지 아래쪽의 여백을 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)

    페이지 왼쪽에 여백을 설정합니다.

    표 40. 매개변수
    이름 유형 설명
    마진 번호 왼쪽 여백의 너비(포인트)입니다.
    표 41. 반환
    유형 설명
    없음

    이 예제에서는 페이지 왼쪽의 여백을 설정하는 방법을 보여 줍니다.

    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)

    페이지 오른쪽에 여백을 설정합니다.

    표 42. 매개변수
    이름 유형 설명
    마진 번호 오른쪽 여백의 너비(포인트)입니다.
    표 43. 반환
    유형 설명
    없음

    이 예제에서는 페이지 왼쪽의 여백을 설정하는 방법을 보여 줍니다.

    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)

    페이지 위쪽에 여백을 설정합니다.

    표 44. 매개변수
    이름 유형 설명
    마진 번호 위쪽 여백의 높이(포인트)입니다.
    표 45. 반환
    유형 설명
    없음

    이 예제에서는 페이지 위쪽에 여백을 설정하는 방법을 보여 줍니다.

    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(숫자 너비)

    테이블의 전체 너비를 설정합니다.

    표 46. 매개변수
    이름 유형 설명
    width 번호 테이블의 너비입니다.

    단위: 포인트

    표 47. 반환
    유형 설명
    없음

    이 예시에서는 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()

    페이지에서 사용할 수 있는 전체 너비를 사용하도록 테이블을 확장합니다.

    표 48. 매개변수
    이름 유형 설명
    없음
    표 49. 반환
    유형 설명
    없음

    이 예제에서는 페이지에서 사용 가능한 너비로 확장되는 테이블을 만드는 방법을 보여 줍니다.

    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");