Escopo - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 10 min. de leitura
  • . Documento A API fornece métodos para inicializar um PDF, adicionar conteúdo e fechar o PDF. Depois de adicionar conteúdo, o documento pode ser anexado a um registro de destino.

    Esta API faz parte do ServiceNow Plug-in Utilitários de geração de PDF (com.snc.apppdfgenerator) e é fornecido em sn_pdfgeneratorutils namespace. O plug-in é ativado por padrão.

    Esta API depende de um pacote de classes para criar vários elementos que compõem um PDF.
    • Célula . Cria um objeto Célula como uma célula em uma tabela. Você pode usar esta API para formatar a célula e incluir blocos adicionais, como parágrafos e imagens.
    • Cor . Cria um objeto Cor usado para definir atributos de cor que você pode aplicar a elementos em um PDF, como células, tabelas e linhas.
    • Imagem . Cria um objeto Imagem que representa uma imagem e sua inserção de layout em um PDF. Permite definir atributos como escala, alinhamento e cor da borda.
    • Linha . Cria um objeto Linha usando métodos para desenhar uma linha em um PDF.
    • Parágrafo . Cria um objeto de parágrafo que representa um bloco de texto em um PDF.
    • PdfPage . Cria um objeto PdfPage que representa uma página PDF e seus atributos, como tamanho, largura e cor.
    • Estilo . Cria um estilo para definir propriedades como tamanho da fonte, borda e alinhamento. Você pode aplicar o mesmo estilo a vários objetos simultaneamente.
    • Tabela . Cria um objeto de tabela para adicionar a um documento PDF. Define os dados a serem usados em cada célula e define estilos, margens e alinhamento.

    O exemplo a seguir mostra como criar um PDF básico usando Documento E vários componentes, como tabela, célula e parágrafo. O resultado é uma lista de incidentes da tabela Incidente [incidente] listada em um PDF. Se substituir, você pode testar este exemplo em sua instância <sys_id> com o sys_id de um registro de incidente.

    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 the Incident table
    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", "<sys_id>", "SampleGenerationTest.pdf");

    O anexo PDF é listado na tabela Anexos [sys_attachment].

    PDF de exemplo com saída como tabela de 2 colunas listando números e descrições de incidentes.

    Documento - Documento (PdfPage pageSize)

    Instancia um Documento E gera um documento PDF.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    pageSize PdfPage Tamanho da página do PDF.
    Tabela 2. Retornos
    Tipo Descrição
    Objeto Documento PDF.

    O exemplo a seguir mostra como criar um Documento E retornam um PDF.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document(pageSize);

    AddAndStartNewPage()

    Adiciona uma página ao documento encerrando a página atual e criando uma nova.

    Métodos adicionais para adicionar uma nova página em um documento:
    • AddNewPage() . Adiciona uma nova página em branco ao documento. Use para forçar uma quebra de página para iniciar um novo capítulo ou seção no documento.
    • AddNewPageAtIndex() . Adiciona uma nova página no índice especificado do documento. Por exemplo, definir o índice como 6 insere uma página seis ou insere a página na posição da página seis existente em um documento. A página original seis se torna a página sete.
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar uma nova página a um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var para1 = new sn_pdfgeneratorutils.Paragraph("This text lands on the first page.");
    var para2 = new sn_pdfgeneratorutils.Paragraph("This text lands on the new page.");
    
    document.addParagraph(para1);
    
    document.addAndStartNewPage();
    
    document.addParagraph(para2);
    
    // save pdf as attachment to target record in the Incident table
    document.saveAsAttachment("incident", "<record_sys_id>", "newPage.pdf");

    AddAuthor(autor de cadeia de caracteres)

    Adiciona um nome ao campo autor nas propriedades do documento PDF.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    autor Cadeia de caracteres Nome do autor do documento.
    Tabela 6. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar um nome ao campo autor nas propriedades do documento PDF. Para obter um exemplo de uso de documento, consulte Documento API.

    var author = "John Do";
    
    document.addAuthor(author);

    AddImage(Image image)

    Adiciona uma imagem a um documento.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    imagem Imagem Imagem a ser adicionada a um documento.
    Tabela 8. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar uma imagem a um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    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>");
    
    // add the image to the doc
    document.addImage(image);
    
    document.saveAsAttachment("incident", "<record_sys_id>", "docWithImage.pdf");

    AddNewLine()

    Adiciona uma nova linha vazia ao documento.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar uma nova linha a um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.addNewLine();

    AddNewPage()

    Adiciona uma nova página em branco ao documento. Use para forçar uma quebra de página para iniciar um novo capítulo ou seção no documento.

    Métodos adicionais para adicionar uma nova página em um documento:
    • AddAndStartNewPage() . Adiciona uma página ao documento encerrando a página atual e criando uma nova.
    • AddNewPageAtIndex() . Adiciona uma nova página no índice especificado do documento. Por exemplo, definir o índice como 6 insere uma página seis ou insere a página na posição da página seis existente em um documento. A página original seis se torna a página sete.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar uma nova página em branco a um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    Usage:
    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.addNewPage();

    AddNewPageAtIndex(índice numérico)

    Adiciona uma nova página no índice especificado do documento. Por exemplo, definir o índice como 6 insere uma página seis ou insere a página na posição da página seis existente em um documento. A página original seis se torna a página sete.

    Métodos adicionais para adicionar uma nova página em um documento:
    • AddAndStartNewPage() . Adiciona uma página ao documento encerrando a página atual e criando uma nova.
    • AddNewPage() . Adiciona uma nova página em branco ao documento. Use para forçar uma quebra de página para iniciar um novo capítulo ou seção no documento.
    Tabela 13. Parâmetros
    Nome Tipo Descrição
    índice Número Posição na qual inserir uma nova página.
    Tabela 14. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar uma nova página PDF à posição 6 de um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var index = 6;
    
    document.addNewPageAtIndex(index);

    AddParagraph(parágrafo de parágrafo)

    Adiciona um parágrafo a um documento.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    parágrafo Parágrafo Bloco de texto fornecido como um objeto de parágrafo.
    Tabela 16. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar um parágrafo a um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var para = "Lorem ipsum dolor sit amet.";
    
    document.addParagraph(para);

    AddTable (tabela de tabela)

    Adiciona uma tabela a um documento.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    tabela Tabela Tabela a ser inserida no documento.
    Tabela 18. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar uma tabela a um documento. Consulte API de tabela para obter mais detalhes sobre como definir uma tabela. Para obter um exemplo de uso de documento, consulte Documento API.

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

    Close()

    Fecha um documento.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 20. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como fechar um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.close();

    CreateDocument(PdfPage pageSize)

    Cria um documento com o tamanho de página especificado.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    pageSize PdfPage Tamanho da página do documento.
    Tabela 22. Retornos
    Tipo Descrição
    Objeto Documento PDF.

    O exemplo a seguir mostra como criar um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);

    GetPageCount()

    Obtém o número de páginas no documento.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 24. Retorna
    Tipo Descrição
    Número Número de páginas no documento.

    O exemplo a seguir mostra como obter a contagem de páginas de um documento de nove páginas. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var count = document.getPageCount();
    
    gs.info("The number of pages is " + count);

    Saída:

    The number of pages is 9

    Documento – getPageSize()

    Obtém o tamanho de página padrão do documento.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 26. Retorna
    Tipo Descrição
    Cadeia de caracteres Valor do tamanho de página padrão definido usando PdfPage API.
    Valores possíveis:
    • A4 – 595 x 842 pontos
    • EXECUTIVO – 522 x 756 pontos
    • 612 x 792 pontos
    • RAZGER – 792 x 1224 pontos

    O exemplo a seguir mostra como obter o tamanho da página de um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    var pagesize = document.getPageSize();

    Documento – isClosed()

    Indica se um documento está fechado ou aberto.

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 28. Retorna
    Tipo Descrição
    Nenhum(a) Sinalizador que indica se um documento está aberto ou encerrado.
    Valores válidos:
    • Verdadeiro: O documento está encerrado.
    • Falso: O documento está aberto.

    Padrão: verdadeiro

    O exemplo a seguir mostra como obter o tamanho da página de um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var closed = document.isClosed();

    SaveAsAttachment(cadeia de caracteres tablename, cadeia de caracteres tableSysId, cadeia de caracteres filename)

    Anexa o arquivo de documento à tabela de destino especificada.

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres Nome da tabela na qual anexar o documento.
    tableSysId Cadeia de caracteres Sys_id do registro ao qual anexar o documento.
    nomeArquivo Cadeia de caracteres Nome do documento a ser anexado.
    Tabela 30. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id do documento anexado na tabela Anexos [sys_attachment].

    O exemplo a seguir mostra como anexar um documento a um registro de incidente. Para obter um exemplo de uso de documento, consulte Documento API.

    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    // Additional document properties
    
    document.saveAsAttachment("incident", "<record_sys_id>", "SampleDocGeneration.pdf");

    SetBaseDirection (Direção da cadeia de caracteres)

    Define a direção do fluxo de texto de base para reordenar com base no reconhecimento de caracteres

    Tabela 31. Parâmetros
    Nome Tipo Descrição
    direção Cadeia de caracteres Direção do fluxo de texto.
    Valores válidos:
    • LEFT_TO_RIGHT: Fluxo de texto da ordem da esquerda para a direita. A direção do texto só será reordenada se forem detectados caracteres de idioma da esquerda para a direita.
    • RIGHT_TO_LEFT: Fluxo de texto da ordem da direita para a esquerda. A direção do texto só será reordenada se forem detectados caracteres de idioma da direita para a esquerda.

    PADRÃO: LEFT_TO_RIGHT

    Tabela 32. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como definir o fluxo de texto da esquerda para a direita. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.setBaseDirection("RIGHT_TO_LEFT");

    SetMargins(number toMargin, number rightMargin, number bottomMargin, number leftmargin)

    Define os tamanhos de margem da página no documento.

    Tabela 33. Parâmetros
    Nome Tipo Descrição
    TopMargin Número Altura da margem superior em pontos.
    Margem direita Número Largura da margem direita em pontos.
    BottomMargin Número Altura da margem inferior em pontos.
    Margem esquerda Número Largura da margem esquerda em pontos.
    Tabela 34. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como definir margens de página em um documento. Para obter um exemplo de uso de documento, consulte Documento API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.setMargins(72,36,36,36);