Documento - com escopo, global
A API do documento 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 plug-in ServiceNow Utilitários de geração de PDF (com.snc.apppdfgenerator) e é fornecida no namespace sn_pdfgeneratorutils. O plug-in é ativado por padrão.
- Célula - Cria um objeto de 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 Image 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 de 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 de 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 a API do documento e vários componentes, como tabela, célula e parágrafo. O resultado é uma lista de Incidentes da tabela Incidente [incidente] listados em um PDF. Você pode testar este exemplo em sua instância se substituir<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 está listado na tabela Anexos [sys_attachment].
Document - Document(PdfPage pageSize)
Instancia um objeto Document e gera um documento PDF.
| Nome | Tipo | Descrição |
|---|---|---|
| pageSize | PdfPage | Tamanho da página do PDF. |
| Tipo | Descrição |
|---|---|
| Objeto | Documento PDF. |
O exemplo a seguir mostra como criar um objeto Document e retornar um PDF.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document(pageSize);
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.
- 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 seis original se torna a página sete.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar uma nova página a um documento. Para obter um exemplo de uso de documento, consulte Document 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");
Documento – addAuthor(cadeia de caracteres autor)
Adiciona um nome ao campo de autor nas propriedades do documento PDF.
| Nome | Tipo | Descrição |
|---|---|---|
| autor | Cadeia de caracteres | Nome do autor do documento. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar um nome ao campo de autor nas propriedades do documento PDF. Para obter um exemplo de uso de documento, consulte Document API.
var author = "John Do";
document.addAuthor(author);
Document – addImage(Image image)
Adiciona uma imagem a um documento.
| Nome | Tipo | Descrição |
|---|---|---|
| imagem | Imagem | Imagem a ser adicionada a um documento. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar uma imagem a um documento. Para obter um exemplo de uso de documento, consulte Document 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");
Documento – addNewLine()
Adiciona uma nova linha vazia ao documento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar uma nova linha a um documento. Para obter um exemplo de uso de documento, consulte Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.addNewLine();
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.
- 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 seis original se torna a página sete.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
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 Document API.
Usage:
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.addNewPage();
Documento – addNewPageAtIndex(Number index)
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 seis original se torna a página sete.
- 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.
| Nome | Tipo | Descrição |
|---|---|---|
| índice | Número | Posição na qual inserir uma nova página. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar uma nova página de PDF à posição 6 de um documento. Para obter um exemplo de uso de documento, consulte Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var index = 6;
document.addNewPageAtIndex(index);
Documento – addParagraph(Parágrafo do parágrafo)
Adiciona um parágrafo a um documento.
| Nome | Tipo | Descrição |
|---|---|---|
| parágrafo | Parágrafo | Bloco de texto fornecido como um objeto de parágrafo. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar um parágrafo a um documento. Para obter um exemplo de uso de documento, consulte Document 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);
Document – addTable(Table table)
Adiciona uma tabela a um documento.
| Nome | Tipo | Descrição |
|---|---|---|
| tabela | Tabela | Tabela a ser inserida no documento. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como adicionar uma tabela a um documento. Consulte a API da tabela para obter mais detalhes sobre como definir uma tabela. Para obter um exemplo de uso de documento, consulte Document API.
var table = new sn_pdfgeneratorutils.Table([70,200], false);
document.addTable(table);
Documento – fechar ()
Fecha um documento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como fechar um documento. Para obter um exemplo de uso de documento, consulte Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.close();
Documento – createDocument(PdfPage pageSize)
Cria um documento com o tamanho de página especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| pageSize | PdfPage | Tamanho da página do documento. |
| Tipo | Descrição |
|---|---|
| Objeto | Documento PDF. |
O exemplo a seguir mostra como criar um documento. Para obter um exemplo de uso de documento, consulte Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
Documento – getPageCount()
Obtém o número de páginas do documento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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 Document 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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do tamanho de página padrão definido usando a API PdfPage. Valores possíveis:
|
O exemplo a seguir mostra como obter o tamanho da página de um documento. Para obter um exemplo de uso de documento, consulte Document 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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum | Sinalizador que indica se um documento está aberto ou fechado. Valores válidos:
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 Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var closed = document.isClosed();
Documento – saveAsAttachment(cadeia de caracteres "tableName", cadeia de caracteres "tableSysId", cadeia de caracteres fileName)
Anexa o arquivo de documento à tabela de destino especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | Nome da tabela à qual o documento será anexado. |
| tableSysId | Cadeia de caracteres | Sys_id do registro ao qual o documento será anexado. |
| fileName | Cadeia de caracteres | Nome do documento a ser anexado. |
| 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 Document API.
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// Additional document properties
document.saveAsAttachment("incident", "<record_sys_id>", "SampleDocGeneration.pdf");
Documento – setBaseDirection(cadeia de caracteres direção)
Define a direção do fluxo de texto base para reordenar com base no reconhecimento de caracteres
| Nome | Tipo | Descrição |
|---|---|---|
| direção | Cadeia de caracteres | Direção do fluxo de texto. Valores válidos:
Padrão: LEFT_TO_Right |
| Tipo | Descrição |
|---|---|
| Nenhum |
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 Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.setBaseDirection("RIGHT_TO_LEFT");
Document – setMargins(Number topMargin, Number RightMargin, Number BottomMargin, NumberleftMargin)
Define os tamanhos da margem da página no documento.
| Nome | Tipo | Descrição |
|---|---|---|
| topMargin | Número | Altura da margem superior em pontos. |
| direitaMargem | Número | Largura da margem direita em pontos. |
| BottomMargin | Número | Altura da margem inferior em pontos. |
| leftMargin | Número | Largura da margem esquerda em pontos. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como definir as margens da página em um documento. Para obter um exemplo de uso de documento, consulte Document API.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.setMargins(72,36,36,36);