이미지 - 범위가 지정됨, 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기9분
  • PDF에 삽입된 이미지와 해당 레이아웃을 나타내는 Image 개체를 만듭니다. 배율, 정렬 및 테두리 색상과 같은 속성을 정의할 수 있습니다.

    이 API는 PDF 생성 유틸리티 플러그인(com.snc.apppdfgenerator)의 ServiceNow 일부이며 sn_pdfgeneratorutils 네임스페이스 내에서 제공됩니다. 플러그인은 기본적으로 활성화되어 있습니다.

    이 API는 PDF를 생성하기 위해 문서 API 와 함께 사용되는 구성 요소입니다.

    다음 방법 중 하나를 사용하여 PDF에 이미지를 추가할 수 있습니다.

    이미지 - Image(String attachmentSysId)

    Image 개체를 인스턴스화합니다. 이미지 첨부 파일이 있고 수정할 수 있는지 확인하는 데 사용됩니다.

    표 1. 매개변수
    이름 유형 설명
    attachmentSysId 문자열 첨부 파일 [sys_attachment] 테이블의 이미지 Sys_id입니다.

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

    var image = new sn_pdfgeneratorutils.Image("<sys_id>");

    이미지 – scaleAbsolute(Number width, Number height)

    이미지를 절대 너비 및 높이 크기로 조정합니다. 이 설정은 이미지의 너비-높이 비율을 유지하지 않으며 설정이 정확하지 않은 경우 원치 않는 스트레치가 발생할 수 있습니다.

    이미지의 너비-높이 비율을 유지하는 절대 크기로 크기를 조정하려면 scaleToFit() 메서드를 사용합니다.

    표 2. 매개변수
    이름 유형 설명
    width 번호 이미지 너비(포인트)입니다.
    height 번호 이미지 높이(포인트)입니다.
    표 3. 반환
    유형 설명
    없음

    다음 예제에서는 절대 너비 및 높이 설정을 사용하여 PDF에 이미지를 추가하는 방법을 보여 줍니다.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var scaleAbsPic = new sn_pdfgeneratorutils.Image("<img_sys_id>");
    scaleAbsPic.scaleAbsolute(25,50);
    
    document.addImage(scaleAbsPic);
    
    document.saveAsAttachment("incident", "<record_sys_id>", "docWithImg.pdf");

    이미지 – scaleToFit(숫자 너비, 숫자 높이)

    너비-높이 비율을 유지하면서 이미지의 크기를 절대 크기로 조정합니다.

    결과 출력은 이미지 종횡비에 따라 달라집니다. width 및 height 매개 변수 값이 이미지 종횡비와 일치하지 않으면 한 값이 지정된 값보다 출력에서 더 작게 렌더링됩니다.

    표 4. 매개변수
    이름 유형 설명
    width 번호 최대 이미지 너비(포인트)입니다.
    height 번호 최대 이미지 높이(포인트)입니다.
    표 5. 반환
    유형 설명
    없음

    다음 예제에서는 Cell – addImage() 메서드를 사용하여 크기에 맞게 조정된 이미지를 삽입하는 방법을 보여 줍니다.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // add a table
    var table = new sn_pdfgeneratorutils.Table([1,3],false);
    
    // text for the left column
    var text = "sample image";
    
    // add a table cell for the image in the right column
    var imgCell = new sn_pdfgeneratorutils.Cell(1, 1);
    
    // add an image and set it scale-to-fit
    var scaleToFitPic = new sn_pdfgeneratorutils.Image("<img_sys_id>");
    scaleToFitPic.scaleToFit(90,175);
    
    // add the image to the cell
    imgCell.addImage(scaleToFitPic);
     
    table.addTextCell(text);
    table.addCell(imgCell);
    
    // Here's a paragraph
    var para = new sn_pdfgeneratorutils.Paragraph("The following table image uses scale to fit.");
    
    document.addParagraph(para);
    document.addTable(table);
    
    document.saveAsAttachment("incident", "<record_sys_id>", "imgScaleToFit.pdf");

    Image – setAutoScale(부울 값)

    치수를 유지하면서 페이지 또는 셀에 맞게 너비와 높이의 크기를 조정할 수 있습니다.

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

    이미지의 크기를 자동으로 조정할지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 이미지 크기를 자동으로 조정합니다.
    • false: 이미지 크기가 조정되지 않습니다.

    기본값: false

    표 7. 반환
    유형 설명
    없음

    다음 예제에서는 자동 크기 조정을 사용하여 PDF에 이미지를 추가하는 방법을 보여 줍니다. 이미지는 Table – addImageCell() 메서드를 사용하여 추가됩니다.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    // Add a table
    var table = new sn_pdfgeneratorutils.Table([1,2],false);
    
    // Text in left column
    var text = "sample image";
    
    // Image in right column
    var autoScaledPic = new sn_pdfgeneratorutils.Image("<image_sys_id>");
    autoScaledPic.setAutoScale(true);
    
    table.addTextCell(text);
    table.addImageCell(autoScaledPic);
    
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "imgAutoScale.pdf");

    이미지 – setColoredBorder(Color color, Number width)

    지정된 색상의 PDF에서 테두리를 설정합니다.

    표 8. 매개변수
    이름 유형 설명
    색상 색상 이미지 테두리 색상입니다.
    width 번호 테두리의 너비(포인트)입니다.
    표 9. 반환
    유형 설명
    없음

    다음 예제에서는 이미지에 5포인트 빨간색 테두리를 설정하는 방법을 보여 줍니다.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var borderColor = new sn_pdfgeneratorutils.Color([1.0,0.0,0.0]);
     
    // declare image using sys attachment
    var image = new sn_pdfgeneratorutils.Image("<imgAttachment_sys_id>");
    
    image.setColoredBorder(borderColor, 5);
    
    document.addImage(image);
    document.saveAsAttachment("incident", "<record_sys_id>", "docWithBorderedImage.pdf");

    이미지 – setHorizontalAlignment(String alignment)

    이미지의 수평 정렬을 설정합니다.

    표 10. 매개변수
    이름 유형 설명
    정렬 문자열 페이지 또는 블록 요소에 이미지 정렬을 배치합니다.
    유효한 값은 다음과 같습니다.
    • 센터
    • 왼쪽
    • 오른쪽

    기본값: 왼쪽

    표 11. 반환
    유형 설명
    없음

    다음 예제에서는 PDF 페이지에 가운데 맞춤 이미지를 추가하는 방법을 보여 줍니다.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare image using sys attachment
    var image = new sn_pdfgeneratorutils.Image("<imgAttachment_sys_id>");
    
    String alignment = "Center";
    image.setHorizontalAlignment(alignment);
    
    document.addImage(image);
    // save pdf as attachment to target record in the Incident table
    document.saveAsAttachment("incident", "<sys_id>", "docWithImageCentered.pdf");

    이미지 – setNoBorder()

    이미지에 테두리가 없도록 설정합니다.

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

    다음 예제에서는 테두리 없이 문서에 이미지를 추가하는 방법을 보여 줍니다.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare image using sys attachment
    var image = new sn_pdfgeneratorutils.Image("<imgAttachment_sys_id>");
    
    image.setNoBorder();
    
    document.addImage(image);
    document.saveAsAttachment("incident", "<sys_id>", "docWithImgNoBorder.pdf");