---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# PDFGenerationAPI - com escopo, global

# PDFGenerationAPI - com escopo, global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 33 min. de leitura

A PDFGenerationAPI fornece suporte para conversão de PDF e manipulação de campos de PDF.
Esta API faz parte do plug-in ServiceNow PDF Generator Utilities (com.snc.apppdfgenerator) e é fornecida no namespace `sn_pdfgeneratorutils`. O plug-in é ativado por padrão.  
Esses métodos também podem ser usados para documentos criados por itens fora do catálogo. Os métodos nesta classe habilitam as seguintes tarefas:

* Gerar dinamicamente um PDF a partir de uma cadeia de caracteres HTML e anexá-lo a um registro
  * [PDFGenerationAPI -- convertToPDF(cadeia de caracteres html, cadeia de caracteres targetTable, cadeia de caracteres targetTableSysId, cadeia de caracteres pdfName, cadeia de caracteres fontFamilySysId, objeto documentConfiguration)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-convertToPDF_S_S_S_S "Converte uma cadeia de caracteres HTML em um documento PDF.")
  * [PDFGenerationAPI -- convertToPDFWithHeaderFooter(cadeia de caracteres html, cadeia de caracteres targetTable, cadeia de caracteres targetTableSysId, cadeia de caracteres pdfName, objeto headerFooterInfo, cadeia de caracteres fontFamilySysId, objeto documentConfiguration)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-convertToPDFWithHdrFtr_S_S_S_S_O "Converte uma cadeia de caracteres HTML em um PDF com conteúdo de cabeçalho e rodapé.")
  {#PDFGenerationAPIBothAPI__ul_ocm_vpr_tbc}
* Preencher campos em um PDF
  * [PDFGenerationAPI -- preenchimentoDocumentFieldsAndFlatter(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName, nivelamento de objeto)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocFieldsFlatten_O_S_S_S_S_O "preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.")
  * [PDFGenerationAPI -- preenchimentoDocumentFields(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocumentFields_O_S_S_S_S "preenche os campos em um PDF editável e o anexa ao registro fornecido.")
  * [PDFGenerationAPI -- isDocumentFillable(cadeia de caracteres sysId)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-isDocumentFillable_S "Verifica se o documento PDF contém campos editáveis.")
  {#PDFGenerationAPIBothAPI__ul_kvf_spr_tbc}
* Assinar um PDF
  * [PDFGenerationAPI -- preenchimentoFieldsAndMergeSignature(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName, solicitante de PdfMergeSignRequestor, nivelamento de objeto)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillFieldsMergeSig_O_S_S_S_S_O_O "preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.")
  * [PDFGenerationAPI -- getFilledDocumentWithSignatureAsBase64 (objeto fieldMap, cadeia de caracteres sysId, solicitante de PdfMergeSignRequestor, nivelamento de objeto)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getFilDocWithSigAsBase64_O_S_O_O "preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.")
  {#PDFGenerationAPIBothAPI__ul_xzr_frr_tbc}
* Restringir a edição de campos preenchidos como nivelados ou parcialmente nivelados -- [PDFGenerationAPI -- preenchimentoDocumentFieldsAndFlatter(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName, nivelamento de objeto)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocFieldsFlatten_O_S_S_S_S_O "preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.")
* Recuperar tamanho de página de PDF e dados de campo
  * [PDFGenerationAPI -- getPdfPageSizes(cadeia de caracteres sysId)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getPdfPageSizes_S "Obtém o tamanho da página de um documento PDF.")
  * [PDFGenerationAPI -- getDocumentFieldsType(cadeia de caracteres sysId)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFieldsType_S "Obtém o tipo de campo do conjunto de campos editáveis de um documento PDF.")
  * [PDFGenerationAPI -- getDocumentFields(cadeia de caracteres sysId)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFields_S "Obtém uma lista de campos editáveis em um documento PDF. Habilita a listagem de campos PDF editáveis sem abrir manualmente o arquivo para verificação.")
  {#PDFGenerationAPIBothAPI__ul_e2p_ypr_tbc}
* Editar informações em um PDF -- [PDFGenerationAPI -- redact(Object inputJson)](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-redact_O "Aplica a edição a um documento PDF com base nas coordenadas de retângulo fornecidas, nas palavras-chave de pesquisa ou em ambas. Uma cópia editada do PDF original é gerada na tabela Anexos [sys_attachment].")
{#PDFGenerationAPIBothAPI__ul_csg_2vl_l4b}  
APIs relacionadas:

* [PdfMergeSignRequestor](https://servicenow-prod.fluidtopics.net/PzQxoN0UTHK_XSvE5~xT_w#PdfMergeSignRequestorBothAPI "A API PdfMergeSignRequestor fornece métodos para adicionar uma imagem que representa uma assinatura a um documento PDF.")
* [SVGToPDFConversionAPI](https://servicenow-prod.fluidtopics.net/RFw17ZMZa7GU6GnqsEfBCw#SVGToPDFConversionAPBothAPI "A API SVGToPDFConversion fornece métodos que permitem adicionar um SVG a um PDF e converter um SVG em PDF.")

## PDFGenerationAPI -- PDFGenerationAPI() {#ariaid-title2}

Instancia um novo objeto PDFGenerationAPI.
{#P-PDFGenerationAPI__table_twm_hjk_34b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum(a) |   |   |
[Tabela 1. Parâmetros]

{#P-PDFGenerationAPI__table_twm_hjk_34b}  
O exemplo a seguir mostra como criar um objeto PDFGenerationAPI.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

## PDFGenerationAPI -- convertToPDF(cadeia de caracteres html, cadeia de caracteres targetTable, cadeia de caracteres targetTableSysId, cadeia de caracteres pdfName, cadeia de caracteres fontFamilySysId, objeto documentConfiguration) {#ariaid-title3}

Converte uma cadeia de caracteres HTML em um documento PDF.
Este método cria um PDF usando o tamanho de página A4 -- 595 × 842 pontos. O conteúdo será truncado se exceder este tamanho.

Para gerar um PDF com configurações adicionais, como tamanho de página, orientação e números de página, use [convertToPDFWithHeaderFooter()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-convertToPDFWithHdrFtr_S_S_S_S_O "Converte uma cadeia de caracteres HTML em um PDF com conteúdo de cabeçalho e rodapé.").
{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b__entry__3}{#P-convertToPDF_S_S_S_S__api_pdfgen_parm_fill_tableN_desc}

| Nome | Tipo | Descrição |
|-|-|-|
| html | Cadeia de caracteres | HTML a ser convertido em um documento PDF. |
| targetTable | Cadeia de caracteres | Nome da tabela à qual o PDF convertido será anexado. |
| targetTableSysId | Cadeia de caracteres | Sys_id do registro ao qual o PDF convertido será anexado. |
| NomeDopdf | Cadeia de caracteres | Nome para fornecer ao PDF. Padrão: Sys_id do PDF na tabela Anexos \[sys_attachment\]. |
| fontFamilySysId | Cadeia de caracteres | Opcional. Sys_id da família de fontes a ser usada no PDF. Este sys_id é da tabela Família de fontes de geração de PDF \[sys_pdf_generation_font_family\]. Padrão: nenhum |
| configuração de documentos | Objeto | Opcional. Objeto que contém uma configuração de índice e uma configuração de número de página. {​ "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.toc_config | Cadeia de caracteres | Opcional. Sys_id da configuração do sumário a ser usada para o PDF. Este sys_id é da tabela Configuração do sumário \[doc_toc_config\]. Padrão: nenhum |
| documentConfiguration.page_number_config | Cadeia de caracteres | Opcional. Sys_id da configuração do número de página a ser usada para o PDF. Este sys_id é da tabela Configuração de número de página \[doc_page_number_config\]. Padrão: nenhum |
[Tabela 2. Parâmetros]

{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b} {#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b__entry__2}{#P-convertToPDF_S_S_S_S__row_pdfgen_ret_msgCnv}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém sys_id do anexo em PDF se a conversão for bem-sucedida, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "request_id": "String", "status": "String" } |
| \<Object\>.​attachment_id | Se a conversão de HTML for bem-sucedida, sys_id do PDF convertido e anexado. O arquivo está listado na tabela Anexos \[sys_attachment\]. Tipo de dados: cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * Falha na conversão. -- Nenhum PDF criado. Verifique se os valores fornecidos são precisos. * A conversão foi bem-sucedida. -- O HTML convertido com sucesso em PDF. * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * Registro de destino fornecido \[\<tableName\> -\<targetTableSysId\> \] não existe. -- A tabela de destino sys_id não está na tabela fornecida. Certifique-se de incluir o nome da tabela correto para o registro. * Nenhum formulário associado ao pdf para preencher. attachmentSysId:\<sys_id\> * Não existem campos editáveis com os nomes especificados. Verifique e tente novamente. nomes de campo:\<field names\> * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-convertToPDF_S_S_S_S__ul_zv2_wq3_k4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.request_id | Sys_id do registro de solicitação do produtor de mudança. Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-convertToPDF_S_S_S_S__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 3. Retorna]

{#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b}  
O exemplo a seguir mostra como converter HTML em PDF e anexá-lo a um registro na tabela Incidente \[incidente\].

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;

    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }

    var result = v.convertToPDF(html, "incident", "<target_sys_id>", "myPDF");
    gs.info(JSON.stringify(result));

Saída:

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

## PDFGenerationAPI -- convertToPDFWithHeaderFooter(cadeia de caracteres html, cadeia de caracteres targetTable, cadeia de caracteres targetTableSysId, cadeia de caracteres pdfName, objeto headerFooterInfo, cadeia de caracteres fontFamilySysId, objeto documentConfiguration) {#ariaid-title4}

Converte uma cadeia de caracteres HTML em um PDF com conteúdo de cabeçalho e rodapé.
Use este método para gerar PDFs com configurações de página:

* Informações de cabeçalho e rodapé
* Tamanhos das margens
* Orientação
* Enumeração
* Tamanho da página
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_iqx_3xc_l4b}
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b__entry__3}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__api_pdfgen_parm_fill_tableN_desc}

| Nome | Tipo | Descrição |
|-|-|-|
| html | Cadeia de caracteres | HTML a ser convertido em um documento PDF. |
| targetTable | Cadeia de caracteres | Nome da tabela à qual o PDF convertido será anexado. |
| targetTableSysId | Cadeia de caracteres | Sys_id do registro ao qual o PDF convertido será anexado. |
| NomeDopdf | Cadeia de caracteres | Nome para fornecer ao PDF. Padrão: Sys_id do PDF na tabela Anexos \[sys_attachment\]. |
| cabeçalhoFooterInfo | Objeto | Define os detalhes do cabeçalho e rodapé do PDF. { "FooterImageAlignment": "String", "FooterImageAttachmentId": "String", "FooterImageHeight": "String", "FooterText": "String", "FooterTextAlignment": "String", "GeneratePageNumber": "String", "HeaderImageAlignment": "String", "HeaderImageAttachmentId": "String", "HeaderImageHeight": "String", "LeftOrRightMargin": "String", "PageOrientation": "String", "PageSize": "String", "TopOrBottomMargin": "String" } |
| headerFooterInfo.​FooterImageAlignment | Cadeia de caracteres | Define a posição da imagem no rodapé. Valores válidos: * BOTTOM_CENTER: posiciona a imagem na parte inferior central do rodapé. * BOTTOM_LEFT: posiciona a imagem na área inferior esquerda do rodapé. * BOTTOM_Right: posiciona a imagem na área inferior direita do rodapé. * TOP_CENTER: posiciona a imagem na parte superior central do rodapé. * TOP_LEFT: posiciona a imagem na área superior esquerda do rodapé. * TOP_Right: posiciona a imagem na área superior direita do rodapé. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_ezt_f4c_l4b} |
| headerFooterInfo.​FooterImageAttachmentId | Cadeia de caracteres | Sys_id da imagem do rodapé na tabela Anexos \[sys_attachment\]. Para determinar se o tipo de arquivo é compatível com sua instância, navegue até Propriedades do sistema \> Segurança e verifique se ele está listado no campo Lista de extensões de arquivo (separadas por vírgulas) que podem ser anexadas. |
| headerFooterInfo.​FooterImageHeight | Cadeia de caracteres | Altura da imagem do rodapé. Padrão: 50 pontos |
| headerFooterInfo.​FooterText | Cadeia de caracteres | Texto do rodapé a ser colocado na parte inferior de cada página do PDF. |
| headerFooterInfo.​FooterTextAlignment | Cadeia de caracteres | Define a posição do texto no rodapé. Certifique-se de que este valor não corresponda ou esteja em conflito com a área fornecida em headerFooterInfo.FooterImageAlignment. Valores válidos: * BOTTOM_CENTER: posiciona o texto na parte inferior centralizada do rodapé. * BOTTOM_LEFT: posiciona o texto na área inferior esquerda do rodapé. * BOTTOM_Right: posiciona o texto na área inferior direita do rodapé. * TOP_CENTER: posiciona o texto na parte superior central do rodapé. * TOP_LEFT: posiciona o texto na área superior esquerda do rodapé. * TOP_Right: posiciona o texto na área superior direita do rodapé. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lfd_mdd_l4b} |
| headerFooterInfo.​GeneratePageNumber | Cadeia de caracteres | Sinalizador que indica se um número de página em PDF deve ser gerado. Valores válidos: * verdadeiro: gerar números de página. * falso: não gera números de página. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zlg_4cp_k4b} Padrão: verdadeiro |
| headerFooterInfo.​HeaderImageAlignment | Cadeia de caracteres | Define a posição da imagem no cabeçalho. Valores válidos: * center: posiciona a imagem no centro do cabeçalho. * left: posiciona a imagem no lado esquerdo do cabeçalho. * à direita: posicione a imagem no lado direito do cabeçalho. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_qjq_npc_l4b} |
| headerFooterInfo.​HeaderImageAttachmentId | Cadeia de caracteres | Sys_id da imagem do cabeçalho na tabela Anexos \[sys_attachment\]. Para determinar se o tipo de arquivo é compatível com sua instância, navegue até Propriedades do sistema \> Segurança e verifique se ele está listado no campo Lista de extensões de arquivo (separadas por vírgulas) que podem ser anexadas. |
| headerFooterInfo.​HeaderImageHeight | Cadeia de caracteres | Altura da imagem do cabeçalho. Padrão: 50 pontos |
| headerFooterInfo.​LeftOrRightMargin | Cadeia de caracteres | Tamanho das margens esquerda e direita. Se posicionado no lado esquerdo ou direito da página, os detalhes do cabeçalho/rodapé serão colocados nesta área. Padrão: 36 pontos |
| headerFooterInfo.​PageOrientation | Cadeia de caracteres | Orientação da página. Valores válidos: * RETRATO * PAISAMENTO {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lyr_qyc_l4b} Padrão: vertical |
| headerFooterInfo.​PageSize | Cadeia de caracteres | Tamanho da página do documento. Valores válidos: * A4 -- 595 × 842 pontos * CARTA -- 612 × 792 pontos * Razão: 792 x 1224 pontos {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_dml_q2p_k4b} O conteúdo será truncado se exceder o tamanho da página. |
| headerFooterInfo.​TopOrBottomMargin | Cadeia de caracteres | Tamanho das margens superior e inferior. Os detalhes do cabeçalho e do rodapé são colocados nesta área. Padrão: 72 pontos |
| fontFamilySysId | Cadeia de caracteres | Opcional. Sys_id da família de fontes a ser usada no PDF. Este sys_id é da tabela Família de fontes de geração de PDF \[sys_pdf_generation_font_family\]. Padrão: nenhum |
| configuração de documentos | Objeto | Opcional. Objeto que contém uma configuração de índice e uma configuração de número de página. {​ "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.toc_config | Cadeia de caracteres | Opcional. Sys_id da configuração do sumário a ser usada para o PDF. Este sys_id é da tabela Configuração do sumário \[doc_toc_config\]. Padrão: nenhum |
| documentConfiguration.page_number_config | Cadeia de caracteres | Opcional. Sys_id da configuração do número de página a ser usada para o PDF. Este sys_id é da tabela Configuração de número de página \[doc_page_number_config\]. Padrão: nenhum |
[Tabela 4. Parâmetros]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b} {#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b__entry__2}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__row_pdfgen_ret_msgCnv}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém sys_id do anexo em PDF se a conversão for bem-sucedida, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "request_id": "String", "status": "String" } |
| \<Object\>.​attachment_id | Se a conversão de HTML for bem-sucedida, sys_id do PDF convertido e anexado. O arquivo está listado na tabela Anexos \[sys_attachment\]. Tipo de dados: cadeia de caracteres |
| \<Object\>.​mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * Falha na conversão. -- Nenhum PDF criado. Verifique se os valores fornecidos são precisos. * A conversão foi bem-sucedida. -- O HTML convertido com sucesso em PDF. * O alinhamento da imagem do rodapé e o alinhamento do texto não podem estar na mesma região com o mesmo alinhamento:\<footerImageAlignment value\> -- Certifique-se de que os valores headerFooterInfo.FooterImageAlignment e headerFooterInfo.FooterTextAlignment não estejam na mesma área. * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * Registro de destino fornecido \[\<tableName\> -\<targetTableSysId\> \] não existe. -- A tabela de destino sys_id não está na tabela fornecida. Certifique-se de incluir o nome da tabela correto para o registro. * Alinhamento de imagem de rodapé inválido:\<invalid_option\> é fornecido. -- Forneça uma opção válida na propriedade headerFooterInfo.FooterImageAlignment. * Alinhamento de texto do rodapé inválido: " +\<invalid_option\> + " foi fornecido. -- Forneça uma opção válida na propriedade headerFooterInfo.footerTextAlignment. * Nenhum formulário associado ao pdf para preencher. attachmentSysId:\<sys_id\> * Não existem campos editáveis com os nomes especificados. Verifique e tente novamente. nomes de campo:\<field names\> * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Não é possível obter a imagem do rodapé. sysId: +\<value provided\> -- Verifique se o sys_id fornecido para headerFooterInfo.footerImageId é preciso. * Não é possível obter a imagem do cabeçalho. sysId: +\<value provided\> -- Verifique se o sys_id fornecido para headerFooterInfo.headerImageId é preciso. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zv2_wq3_k4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.request_id | Sys_id do registro de solicitação do produtor de mudança. Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 5. Retorna]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b}  
O exemplo a seguir mostra como converter HTML em um PDF chamado "myPDF" e adicionar o PDF como um anexo a um registro na tabela Incidente \[incidente\]. O PDF contém cabeçalho e rodapé fornecidos por meio de anexo.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;

    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }

    var hfInfo = new Object();
    hfInfo["HeaderImageAttachmentId"] = "<hdrImgAttSysId>";
    hfInfo["HeaderImageAlignment"] = "left";
    hfInfo["FooterImageAttachmentId"] = "<ftrImgAttSysId>";
    hfInfo["FooterImageAlignment"] = "TOP_CENTER";
    hfInfo["FooterText"] = "Sample Footer Message";
    hfInfo["PageSize"] = "A4";
    hfInfo["GeneratePageNumber"] = "false";
    hfInfo["TopOrBottomMargin"] = "36";
    hfInfo["LeftOrRightMargin"] = "24";

    var result = v.convertToPDFWithHeaderFooter(html, "incident", "<targetTbl_sys_id>", "myPDF", hfInfo);
    gs.info(JSON.stringify(result));

Saída:

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

## PDFGenerationAPI -- preenchimentoDocumentFields(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName) {#ariaid-title5}

preenche os campos em um PDF editável e o anexa ao registro fornecido.
Use os seguintes métodos para determinar se o PDF é preenchível e obter informações de campo:

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-isDocumentFillable_S "Verifica se o documento PDF contém campos editáveis.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFields_S "Obtém uma lista de campos editáveis em um documento PDF. Habilita a listagem de campos PDF editáveis sem abrir manualmente o arquivo para verificação.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFieldsType_S "Obtém o tipo de campo do conjunto de campos editáveis de um documento PDF.")
{#P-fillDocumentFields_O_S_S_S_S__ul_e1m_kpj_l4b}  
A PDFGenerationAPI fornece métodos de preenchimento adicionais com diferentes opções:

* [fillDocumentFieldsAndFlaten()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocFieldsFlatten_O_S_S_S_S_O "preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.") -- preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.
* [preenchimentoFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillFieldsMergeSig_O_S_S_S_S_O_O "preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.") -- preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getFilDocWithSigAsBase64_O_S_O_O "preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.") -- preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.
{#P-fillDocumentFields_O_S_S_S_S__ul_lyz_lft_l4b}
{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b__entry__3}{#P-fillDocumentFields_O_S_S_S_S__ph_api_pdfgen_parm_attIDesc}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblName}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblID}

| Nome | Tipo | Descrição |
|-|-|-|
| fieldMap | Objeto | Opcional. Mapa de valor de chave por nome de campo PDF e valor a ser preenchido. Use o método getDocumentFields() para obter a lista de campos disponíveis. |
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
| tableName | Cadeia de caracteres | Nome da tabela que contém o registro ao qual o PDF está anexado. Você pode encontrar este valor na mesma linha do anexo listado na tabela Anexos \[sys_attachment\]. |
| tableSysId | Cadeia de caracteres | Sys_id do registro ao qual o PDF está anexado. Você pode encontrar este valor na mesma linha do anexo listado na tabela Anexos \[sys_attachment\]. |
| NomeDopdf | Cadeia de caracteres | Nome para fornecer ao PDF. Padrão: Sys_id do PDF na tabela Anexos \[sys_attachment\]. |
[Tabela 6. Parâmetros]

{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b} {#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b__entry__2}{#P-fillDocumentFields_O_S_S_S_S__desc-fill-only}{#P-fillDocumentFields_O_S_S_S_S__desc_pdfgen_ret_attID_Fill}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém sys_id do anexo PDF atualizado, se for bem-sucedido, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | Se a operação for bem-sucedida, sys_id do PDF preenchido. O arquivo está listado na tabela Anexos \[sys_attachment\]. Tipo de dados: cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores válidos: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * Registro de destino fornecido \[\<tableName\> -\<targetTableSysId\> \] não existe. -- A tabela de destino sys_id não está na tabela fornecida. Certifique-se de incluir o nome da tabela correto para o registro. * Nenhum formulário associado ao pdf para preencher. attachmentSysId:\<sys_id\> * Não existem campos editáveis com os nomes especificados. Verifique e tente novamente. nomes de campo:\<field names\> * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-fillDocumentFields_O_S_S_S_S__ul_eln_fwk_l4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-fillDocumentFields_O_S_S_S_S__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 7. Retorna]

{#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b}  
O exemplo a seguir mostra como preencher campos em um PDF editável.

    var fieldMap = new Object();
    fieldMap["Address"] = "Address value here";
    fieldMap["State"] = "State value here";

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFields(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName");
    gs.info(JSON.stringify(result));

Saída:

    {"attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"}

## PDFGenerationAPI -- preenchimentoDocumentFieldsAndFlatter(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName, nivelamento de objeto) {#ariaid-title6}

preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.
Use os seguintes métodos para determinar se o PDF é preenchível e obter informações de campo:

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-isDocumentFillable_S "Verifica se o documento PDF contém campos editáveis.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFields_S "Obtém uma lista de campos editáveis em um documento PDF. Habilita a listagem de campos PDF editáveis sem abrir manualmente o arquivo para verificação.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFieldsType_S "Obtém o tipo de campo do conjunto de campos editáveis de um documento PDF.")
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_e1m_kpj_l4b}  
A PDFGenerationAPI fornece métodos de preenchimento adicionais com diferentes opções:

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocumentFields_O_S_S_S_S "preenche os campos em um PDF editável e o anexa ao registro fornecido.") -- preenche os campos em um PDF editável e o anexa ao registro fornecido.
* [preenchimentoFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillFieldsMergeSig_O_S_S_S_S_O_O "preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.") -- preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getFilDocWithSigAsBase64_O_S_O_O "preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.") -- preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_lyz_lft_l4b}
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b__entry__3}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ph_api_pdfgen_parm_attIDesc}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblName}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblID}

| Nome | Tipo | Descrição |
|-|-|-|
| fieldMap | Objeto | Opcional. Mapa de valor de chave por nome de campo PDF e valor a ser preenchido. Use o método getDocumentFields() para obter a lista de campos disponíveis. |
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
| tableName | Cadeia de caracteres | Nome da tabela que contém o registro ao qual o PDF está anexado. Você pode encontrar este valor na mesma linha do anexo listado na tabela Anexos \[sys_attachment\]. |
| tableSysId | Cadeia de caracteres | Sys_id do registro ao qual o PDF está anexado. Você pode encontrar este valor na mesma linha do anexo listado na tabela Anexos \[sys_attachment\]. |
| NomeDopdf | Cadeia de caracteres | Nome para fornecer ao PDF. Padrão: Sys_id do PDF na tabela Anexos \[sys_attachment\]. |
| nivelar | Objeto | Opcional. O nivelamento de campos permite o bloqueio dos campos para que outros usuários não possam alterar as informações. Especifique a chave como "FlatenType" e forneça uma opção de nivelamento como uma cadeia de caracteres. Valores válidos: * donot_flaten --- Não nivela nenhum campo. * parcialmente_flatten --- Nivelar somente os campos que foram modificados. * full_flaten --- Nivela todos os campos. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_mwn_5wc_k4b} Padrão: full_flaten { "FlattenType": "String" } |
[Tabela 8. Parâmetros]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b} {#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b__entry__2}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc-fill-only}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc_pdfgen_ret_attID_Fill}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém sys_id do anexo PDF atualizado, se for bem-sucedido, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | Se a operação for bem-sucedida, sys_id do PDF preenchido. O arquivo está listado na tabela Anexos \[sys_attachment\]. Tipo de dados: cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores válidos: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * Registro de destino fornecido \[\<tableName\> -\<targetTableSysId\> \] não existe. -- A tabela de destino sys_id não está na tabela fornecida. Certifique-se de incluir o nome da tabela correto para o registro. * Nenhum formulário associado ao pdf para preencher. attachmentSysId:\<sys_id\> * Não existem campos editáveis com os nomes especificados. Verifique e tente novamente. nomes de campo:\<field names\> * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_eln_fwk_l4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 9. Retorna]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b}  
O exemplo a seguir mostra como preencher campos e nivelar um PDF editável.

    var fieldMap = new Object();
    fieldMap["Last Name First Name Middle Initial"] = "Tuter Abel E.";
    fieldMap["Date of Birth"] = "08101952";
    fieldMap["US SSN"] = "111-22-9999";
    fieldMap["Address"] = "PO Box 344";
    fieldMap["City"] = "Jerome";
    fieldMap["State"] = "AZ";
    fieldMap["Zip"] = "86331";

    var flatten = new Object();
    flatten["FlattenType"] = "partially_flatten";

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFieldsAndFlatten(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName", flatten);
    gs.info(JSON.stringify(result));

Saída:

    "attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"

## PDFGenerationAPI -- preenchimentoFieldsAndMergeSignature(objeto fieldMap, cadeia de caracteres sysId, cadeia de caracteres tableName, cadeia de caracteres tableSysId, cadeia de caracteres pdfName, solicitante de PdfMergeSignRequestor, nivelamento de objeto) {#ariaid-title7}

preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.
Use os seguintes métodos para determinar se o PDF é preenchível e obter informações de campo:

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-isDocumentFillable_S "Verifica se o documento PDF contém campos editáveis.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFields_S "Obtém uma lista de campos editáveis em um documento PDF. Habilita a listagem de campos PDF editáveis sem abrir manualmente o arquivo para verificação.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFieldsType_S "Obtém o tipo de campo do conjunto de campos editáveis de um documento PDF.")
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_e1m_kpj_l4b}  
A PDFGenerationAPI fornece métodos de preenchimento adicionais com diferentes opções:

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocumentFields_O_S_S_S_S "preenche os campos em um PDF editável e o anexa ao registro fornecido.") -- preenche os campos em um PDF editável e o anexa ao registro fornecido.
* [fillDocumentFieldsAndFlaten()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocFieldsFlatten_O_S_S_S_S_O "preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.") -- preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getFilDocWithSigAsBase64_O_S_O_O "preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.") -- preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_lyz_lft_l4b}
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b__entry__3}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ph_api_pdfgen_parm_attIDesc}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblName}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblID}

| Nome | Tipo | Descrição |
|-|-|-|
| fieldMap | Objeto | Opcional. Mapa de valor de chave por nome de campo PDF e valor a ser preenchido. Use o método getDocumentFields() para obter a lista de campos disponíveis. |
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
| tableName | Cadeia de caracteres | Nome da tabela que contém o registro ao qual o PDF está anexado. Você pode encontrar este valor na mesma linha do anexo listado na tabela Anexos \[sys_attachment\]. |
| tableSysId | Cadeia de caracteres | Sys_id do registro ao qual o PDF está anexado. Você pode encontrar este valor na mesma linha do anexo listado na tabela Anexos \[sys_attachment\]. |
| NomeDopdf | Cadeia de caracteres | Nome para fornecer ao PDF. Padrão: Sys_id do PDF na tabela Anexos \[sys_attachment\]. |
| solicitante | [Solicitante de PdfMergeSign​](https://servicenow-prod.fluidtopics.net/PzQxoN0UTHK_XSvE5~xT_w#PdfMergeSignRequestorBothAPI "A API PdfMergeSignRequestor fornece métodos para adicionar uma imagem que representa uma assinatura a um documento PDF.") | Entrada de assinatura retornada de pdfMergeSignRequestor. |
| nivelar | Objeto | Opcional. O nivelamento de campos permite o bloqueio dos campos para que outros usuários não possam alterar as informações. Especifique a chave como "FlatenType" e forneça uma opção de nivelamento como uma cadeia de caracteres. Valores válidos: * donot_flaten --- Não nivela nenhum campo. * parcialmente_flatten --- Nivelar somente os campos que foram modificados. * full_flaten --- Nivela todos os campos. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_mwn_5wc_k4b} Padrão: full_flaten { "FlattenType": "String" } |
[Tabela 10. Parâmetros]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b} {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b__entry__2}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc-fill-only}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc_pdfgen_ret_attID_Fill}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém sys_id do anexo PDF atualizado, se for bem-sucedido, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | Se a operação for bem-sucedida, sys_id do PDF preenchido. O arquivo está listado na tabela Anexos \[sys_attachment\]. Tipo de dados: cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores válidos: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * Registro de destino fornecido \[\<tableName\> -\<targetTableSysId\> \] não existe. -- A tabela de destino sys_id não está na tabela fornecida. Certifique-se de incluir o nome da tabela correto para o registro. * Nenhum formulário associado ao pdf para preencher. attachmentSysId:\<sys_id\> * Não existem campos editáveis com os nomes especificados. Verifique e tente novamente. nomes de campo:\<field names\> * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_eln_fwk_l4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 11. Retorna]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b}  
O exemplo a seguir mostra como preencher campos com assinatura com configurações padrão para nivelar completamente os campos.

    var fieldMap = new Object();
    fieldMap["Address_Salutation"] = "Address value here";

    var paramMap = new Object();
    paramMap["FlattenType"] = "partially_flatten";

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<attachmentSysId>", "incident", "<tableSysId>", "filledPdf");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signatureSysId>");

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillFieldsAndMergeSignature(fieldMap, "<attachmentSysId>", "incident", "<tableSysId>", requestor, "filledPdf", paramMap);
    gs.info(JSON.stringify(result));

Saída:

    {"attachment_id":"5440d993dbed3010d66be1191396194e","message":"Request completed successfully.","status":"success"}

## PDFGenerationAPI -- getDocumentFields(cadeia de caracteres sysId) {#ariaid-title8}

Obtém uma lista de campos editáveis em um documento PDF. Habilita a listagem de campos PDF editáveis sem abrir manualmente o arquivo para verificação.
{#P-getDocumentFields_S__table_hmj_q5j_34b__entry__3}{#P-getDocumentFields_S__ph_api_pdfgen_parm_attIDesc}

| Nome | Tipo | Descrição |
|-|-|-|
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
[Tabela 12. Parâmetros]

{#P-getDocumentFields_S__table_hmj_q5j_34b} {#P-getDocumentFields_S__table_v1y_g3k_34b__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém o ID do PDF assinado, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.campos | Se a solicitação for bem-sucedida, lista que contém o nome de cada campo no PDF. Tipo de dados: matriz de cadeias de caracteres "fields": ["field_name"] |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-getDocumentFields_S__ul_qlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-getDocumentFields_S__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 13. Retorna]

{#P-getDocumentFields_S__table_v1y_g3k_34b}  
O exemplo a seguir mostra como recuperar campos em um anexo PDF.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFields("attachmentSysId");
    gs.info(JSON.stringify(result));

Saída:

    {"message":"Request completed successfully.","fields":["NP_formFillable","reset","print","1SSN","Signature.1","5sigDate","Check Box21"],"status":"success"}

## PDFGenerationAPI -- getDocumentFieldsType(cadeia de caracteres sysId) {#ariaid-title9}

Obtém o tipo de campo do conjunto de campos editáveis de um documento PDF.
{#P-getDocumentFieldsType_S__table_hmj_q5j_34b__entry__3}{#P-getDocumentFieldsType_S__ph_api_pdfgen_parm_attIDesc}

| Nome | Tipo | Descrição |
|-|-|-|
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
[Tabela 14. Parâmetros]

{#P-getDocumentFieldsType_S__table_hmj_q5j_34b} {#P-getDocumentFieldsType_S__table_jxx_whk_34b__entry__2}{#P-getDocumentFieldsType_S__api_pdfgen_ret_msg}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém cada tipo de campo PDF, se for bem-sucedido; caso contrário, mensagem de erro. { "fields_type": {Object}, "message": "String", "status": "String" } |
| \<Object\>.fields_type | Objeto que lista cada campo no PDF especificado, se for bem-sucedido; caso contrário, mensagem de erro. Tipo de dados: objeto "fields_type": { "<field type>": {Object}, } |
| \<Object\>.fields_type.​\<field\> | Objeto que contém o número de página de cada campo. O\<field\> O nome representa o rótulo do campo, por exemplo, "SSN" ou um rótulo automatizado que representa o tipo. Tipo de dados: objeto "<field>": { "fieldsDetails": [Array], // Check boxes, radio buttons, choice boxes only "pageNumber": "String", "type": "String" } |
| \<Object\>.fields_type.​\<field\> .fieldsDetails | Lista de objetos que contém o nome do campo e o valor correspondente de cada opção para os tipos de campo de opção. Tipos aplicáveis: * Caixa de seleção * Caixa de seleção * Caixa de combinação * Caixa de seleção de seleção múltipla Tipo de dados: matriz "fieldsDetails": [ "fieldName": "String", "value": "String" ] |
| \<Object\>.fields_type.​\<field\> .fieldsDetails.fieldName | Nome de um campo de seleção. Tipo de dados: cadeia de caracteres |
| \<Object\>.fields_type.​\<field\> .fieldsDetails.value | Valor de um campo de seleção. Tipo de dados: cadeia de caracteres |
| \<Object\>.fields_type.​\<field\> .pageNumber | Número da página do PDF correspondente a este campo. Tipo de dados: cadeia de caracteres |
| \<Object\>.fields_type.​\<field\> .tipo | Tipo de campo PDF. Valores possíveis: * check_box * escolha_caixa * combo_box * caixa_de_escolha_múltipla_seleção * push_button * rádio_botão * assinatura * texto Tipo de dados: cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} * Solicitação concluída com sucesso: a operação foi bem-sucedida.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__ul_qlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-getDocumentFieldsType_S__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 15. Retorna]

{#P-getDocumentFieldsType_S__table_jxx_whk_34b}  
O exemplo a seguir mostra como recuperar tipos de campo em um anexo em PDF. Os resultados incluem retornos manuais para facilitar a leitura e são truncados para abreviar.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFieldsType("<attachmentSysId>");
    gs.info(JSON.stringify(result));

Saída:

    {"fields_type":{"1ADDLINE2.25":{"pageNumber":2,"type":"text"},"1ADDLINE2.24":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.23":{"pageNumber":2,"type":"text"},"1ADDLINE2.22":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.11":{"pageNumber":2,"type":"text"},
    "Check Box1":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":2,"type":"check_box"},
    "4consentDate.6":{"pageNumber":4,"type":"text"},"4consentDate.7":{"pageNumber":4,"type":"text"},
    "3SSN.9":{"pageNumber":3,"type":"text"},"3SSN.8":{"pageNumber":3,"type":"text"},"3SSN.7":{"pageNumber":3,"type":"text"},
    "pageNumber":2,"type":"check_box"},"Check Box8":{"fieldsDetails":[{"fieldName":"Off"},{"fieldName":"yes"}],
    "4planAdminDate.8":{"pageNumber":4,"type":"text"},"4planAdminDate.7":{"pageNumber":4,"type":"text"},
    "1FirstName_ID.7":{"pageNumber":2,"type":"text"},
    "Check Box9":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.1":{"pageNumber":2,"type":"text"},"1LN.2":{"pageNumber":2,"type":"text"},
    "Check Box11":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.9":{"pageNumber":2,"type":"text"},
    "Check Box17":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "Check Box16":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.7":{"pageNumber":2,"type":"text"},"Check Box19":{"fieldsDetails":[{"fieldName":"Yes"}],
    "1LN.8":{"pageNumber":2,"type":"text"},"Check Box18":{"fieldsDetails":[{"fieldName":"Yes"}],
    "print":{"pageNumber":2,"type":"push_button"},"4planAdministrator.1":{"pageNumber":4,"type":"text"},
    "1TaxID.9":{"pageNumber":2,"type":"text"},"4SSN.1":{"pageNumber":3,"type":"text"},"4SSN.2":{"pageNumber":3,"type":"text"},
    "Signature.1":{"pageNumber":4,"type":"text"},"1ZIP.2":{"pageNumber":2,"type":"text"},"1ZIP.3":{"pageNumber":2,"type":"text"},
    "message":"Request completed successfully.","status":"success"}

## PDFGenerationAPI -- getFilledDocumentWithSignatureAsBase64 (objeto fieldMap, cadeia de caracteres sysId, solicitante de PdfMergeSignRequestor, nivelamento de objeto) {#ariaid-title10}

preenche campos em um PDF editável, cria uma imagem e a converte em um PDF codificado em Base64.
A codificação Base64 permite que você gere um PDF como uma cadeia de caracteres em um documento de texto, como HTML ou JSON, sem danificar a sintaxe de caracteres binários.  
Use os seguintes métodos para determinar se o PDF é preenchível e obter informações de campo:

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-isDocumentFillable_S "Verifica se o documento PDF contém campos editáveis.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFields_S "Obtém uma lista de campos editáveis em um documento PDF. Habilita a listagem de campos PDF editáveis sem abrir manualmente o arquivo para verificação.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-getDocumentFieldsType_S "Obtém o tipo de campo do conjunto de campos editáveis de um documento PDF.")
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_e1m_kpj_l4b}  
A PDFGenerationAPI fornece métodos de preenchimento adicionais com diferentes opções:

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocumentFields_O_S_S_S_S "preenche os campos em um PDF editável e o anexa ao registro fornecido.") -- preenche os campos em um PDF editável e o anexa ao registro fornecido.
* [fillDocumentFieldsAndFlaten()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillDocFieldsFlatten_O_S_S_S_S_O "preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.") -- preenche campos em um PDF editável, nivela os campos de dados e os anexa ao registro fornecido.
* [preenchimentoFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/RfCHRBA0t7Pz~tldc01UmA#P-fillFieldsMergeSig_O_S_S_S_S_O_O "preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.") -- preenche campos em um PDF editável, adiciona imagem de assinatura, nivela os campos de dados e os anexa ao registro fornecido.
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_lyz_lft_l4b}
{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b__entry__3}{#P-getFilDocWithSigAsBase64_O_S_O_O__ph_api_pdfgen_parm_attIDesc}

| Nome | Tipo | Descrição |
|-|-|-|
| fieldMap | Objeto | Opcional. Mapa de valor de chave por nome de campo PDF e valor a ser preenchido. Use o método getDocumentFields() para obter a lista de campos disponíveis. |
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
| solicitante | [Solicitante de PdfMergeSign​](https://servicenow-prod.fluidtopics.net/PzQxoN0UTHK_XSvE5~xT_w#PdfMergeSignRequestorBothAPI "A API PdfMergeSignRequestor fornece métodos para adicionar uma imagem que representa uma assinatura a um documento PDF.") | Entrada de assinatura retornada de pdfMergeSignRequestor. |
| nivelar | Objeto | Opcional. O nivelamento de campos permite o bloqueio dos campos para que outros usuários não possam alterar as informações. Especifique a chave como "FlatenType" e forneça uma opção de nivelamento como uma cadeia de caracteres. Valores válidos: * donot_flaten --- Não nivela nenhum campo. * parcialmente_flatten --- Nivelar somente os campos que foram modificados. * full_flaten --- Nivela todos os campos. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_mwn_5wc_k4b} Padrão: full_flaten { "FlattenType": "String" } |
[Tabela 16. Parâmetros]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b} {#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Se for bem-sucedido, o PDF convertido para o formato Base64 será adicionado à tabela Anexos \[sys_attachment\]. O conteúdo reflete o anexo em PDF fornecido com os campos e a assinatura preenchidos. Os campos não são editáveis, a menos que uma opção de nivelamento alternativa tenha sido fornecida com o parâmetro flatten. |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores válidos: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * Registro de destino fornecido \[\<tableName\> -\<targetTableSysId\> \] não existe. -- A tabela de destino sys_id não está na tabela fornecida. Certifique-se de incluir o nome da tabela correto para o registro. * Nenhum formulário associado ao pdf para preencher. attachmentSysId:\<sys_id\> * Não existem campos editáveis com os nomes especificados. Verifique e tente novamente. nomes de campo:\<field names\> * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_eln_fwk_l4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 17. Retorna]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b}  
O exemplo a seguir mostra como carregar dois campos em um anexo em PDF, nivelar os campos e converter o PDF para o formato Base64.

    var mymap = new Object();
    mymap["City"] = "City value here";
    mymap["State"] = "XX";

    // create a requestor
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", "pdfName");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signImgSysId>");
    var processedRequestObj = requestor.processRequest();

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

    var result = v.getFilledDocumentWithSignatureAsBase64(mymap, "<attachmentSysId>", processedRequestObj);
    gs.info (JSON.stringify(result));

## PDFGenerationAPI -- getPdfPageSizes(cadeia de caracteres sysId) {#ariaid-title11}

Obtém o tamanho da página de um documento PDF.
{#P-getPdfPageSizes_S__table_hmj_q5j_34b__entry__3}{#P-getPdfPageSizes_S__ph_api_pdfgen_parm_attIDesc}

| Nome | Tipo | Descrição |
|-|-|-|
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
[Tabela 18. Parâmetros]

{#P-getPdfPageSizes_S__table_hmj_q5j_34b} {#P-getPdfPageSizes_S__table_v1y_g3k_34b__entry__2}{#P-getPdfPageSizes_S__api_pdfgen_ret_msg}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém o tamanho de cada página, se for bem-sucedido; caso contrário, mensagem de erro. { "pages_size": {Object}, "message": "String", "status": "String" } |
| \<Object\>.pages_size | Se a operação for bem-sucedida, a largura e a altura de cada página do PDF em pontos. O número da página é retornado como uma cadeia de caracteres e os valores de medição são retornados como tipos de dados numéricos. Tipo de dados: objeto "pages_size": {"<page number>":[<width>,<height>]} |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-getPdfPageSizes_S__ul_qlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-getPdfPageSizes_S__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 19. Retorna]

{#P-getPdfPageSizes_S__table_v1y_g3k_34b}  
O exemplo a seguir mostra como exibir a largura e a altura de cada página em um anexo PDF.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getPdfPageSizes ("<attachmentSysId>");
    gs.info(JSON.stringify(result));

Saída:

    {"pages_size":{"1":[612,792],"2":[612,792],"3":[612,792],"4":[612,792],"5":[612,792]},"message":"Request completed successfully.","status":"success"}

## PDFGenerationAPI -- isDocumentFillable(cadeia de caracteres sysId) {#ariaid-title12}

Verifica se o documento PDF contém campos editáveis.
{#P-isDocumentFillable_S__table_drx_h3k_34b__entry__3}{#P-isDocumentFillable_S__ph_api_pdfgen_parm_attIDesc}

| Nome | Tipo | Descrição |
|-|-|-|
| sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
[Tabela 20. Parâmetros]

{#P-isDocumentFillable_S__table_drx_h3k_34b} {#P-isDocumentFillable_S__table_erx_h3k_34b__entry__2}{#P-isDocumentFillable_S__api_pdfgen_ret_msg}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém o tamanho de cada página, se for bem-sucedido; caso contrário, mensagem de erro. { "document_editable": "String", "message": "String", "status": "String" } |
| \<Object\>.​document_editable | Se a operação for bem-sucedida, sinalizador indicando se o documento é editável. Valores válidos: * verdadeiro: o documento PDF tem campos editáveis. * falso: o documento PDF não tem campos editáveis. {#P-isDocumentFillable_S__ul_h4w_sbd_k4b} Tipo de dados: valor booliano fornecido como uma cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} * Solicitação concluída com sucesso: a operação foi bem-sucedida.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__ul_qlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-isDocumentFillable_S__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 21. Retorna]

{#P-isDocumentFillable_S__table_erx_h3k_34b}  
O exemplo a seguir mostra como determinar se os campos do documento PDF são editáveis.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.isDocumentFillable("<attachmentSysId>");
    gs.info(JSON.stringify(result));

Saída:

    {"message":"Request completed successfully.","document_editable":"true","status":"success"}

## PDFGenerationAPI -- redact(Object inputJson) {#ariaid-title13}

Aplica a edição a um documento PDF com base nas coordenadas de retângulo fornecidas, nas palavras-chave de pesquisa ou em ambas. Uma cópia editada do PDF original é gerada na tabela Anexos \[sys_attachment\].
Nota:  
* Os resultados da edição podem incluir um bloco de texto editado branco inesperado que substitui o texto que não deve ser editado. Se este evento ocorrer, você poderá selecionar manualmente o conteúdo para edição usando a propriedade highlightedSections ou o plug-in Utilitários de geração de PDF. Para obter mais informações, consulte [Redact data from documents](https://www.servicenow.com/docs/access?context=redact-sensitive-data&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US).
* Este método não é compatível com edição em PDFs que contêm imagens JBIG2.
{#P-redact_O__ul_ulb_2dx_qbc}
{#P-redact_O__table_drx_h3k_34b__entry__3}{#P-redact_O__ph_api_pdfgen_parm_attIDesc}

| Nome | Tipo | Descrição |
|-|-|-|
| entradaJSON | Objeto | Identifica o PDF e seu conteúdo a ser editado. { "sysId": "String", "highlightedSections": [Array], "searchedKeywords": [Array] } |
| entradaJson.sysId | Cadeia de caracteres | Sys_id de um PDF na tabela Anexos \[sys_attachment\]. |
| entradaJson. Seções em destaque | Matriz de objetivos | Lista de coordenadas de retângulos fornecidas como um objeto. Cada coordenada representa o local do conteúdo a ser editado em cada página. Opcional se incluir a propriedade searchedKeywords. [ { "pageNumber": Number, "x": Number, "y": Number, "width": Number, "height": Number } ] |
| entradaJson. Seções em destaque. pageNumber | Número | Número da página do PDF que contém o conteúdo a ser selecionado para edição. |
| entradaJson. Seções em destaque. x | Número | O eixo X (posição horizontal) do retângulo de edição no PDF em pontos. O valor no canto inferior esquerdo da página PDF é 0. Por exemplo, um valor de <kbd class="ph userinput">306</kbd> coloca o retângulo aproximadamente no centro horizontal de uma página PDF tamanho carta. |
| entradaJson. Seções em destaque. y | Número | O eixo Y (posição vertical) do retângulo de edição no PDF em pontos. O valor no canto inferior esquerdo da página PDF é 0. Por exemplo, um valor de <kbd class="ph userinput">396</kbd> coloca o retângulo aproximadamente no centro vertical de uma página PDF tamanho carta. |
| entradaJson. Seções em destaque. largura | Número | A largura do retângulo de edição está em pontos. Este valor aumenta o tamanho do retângulo horizontalmente a partir do ponto inferior esquerdo no qual os eixos x e y se cruzam. |
| entradaJson. Seções em destaque. altura | Número | Altura do retângulo de edição em pontos. Este valor aumenta o tamanho do retângulo verticalmente a partir do ponto inferior esquerdo no qual os eixos x e y se cruzam. |
| entradaJson. palavras-chave pesquisadas | Matriz | Lista de uma ou mais cadeias de caracteres usadas para localizar texto para edição. O tamanho do retângulo de edição corresponde à altura e à largura do texto que está bloqueado como resultado. Opcional se incluir a propriedade highlightedSections. Nota: Em alguns casos, cadeias de caracteres de texto que contêm caracteres especiais ou pontuação, como `"itens:"` e `"PDF".` não foram editados. Como alternativa, você pode remover o caractere da cadeia de caracteres ou realçar a área para remover o texto. |
[Tabela 22. Parâmetros]

{#P-redact_O__table_drx_h3k_34b} {#P-redact_O__table_phl_lzj_34b__entry__2}{#P-redact_O__desc-fill-only}{#P-redact_O__desc_pdfgen_ret_attID_Fill}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que contém sys_id do anexo PDF atualizado, se for bem-sucedido, caso contrário, mensagem de erro. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | Se a operação for bem-sucedida, sys_id do PDF preenchido. O arquivo está listado na tabela Anexos \[sys_attachment\]. Tipo de dados: cadeia de caracteres |
| \<Object\>.mensagem | Mensagem confirmando sucesso ou erro. Valores possíveis: * Não é possível analisar este formato: não é possível processar uma imagem incorporada no PDF. O PDF contém uma ou mais imagens em um formato incompatível, como uma imagem JBIG2. * Exceção ao ler o conteúdo do documento de origem. Cabeçalho do PDF não encontrado. -- O anexo de entrada fornecido não é um PDF válido. Forneça o sys_id correto do anexo. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] não passou na verificação de segurança -- o PDF não passou na verificação do antivírus. * A solicitação não pode prosseguir porque o anexo com sys_id \[{0}\] está com verificação de segurança pendente - o PDF requer uma verificação de antivírus. * Solicitação concluída com sucesso: a operação foi bem-sucedida. * Indefinido -- o Sys_id fornecido não existe ou não é um anexo em PDF. {#P-redact_O__ul_eln_fwk_l4b} Tipo de dados: cadeia de caracteres |
| \<Object\>.status | Status que indica se a operação foi bem-sucedida. Valores possíveis: * sucesso --- A operação foi bem-sucedida. * falha -- A operação não foi bem-sucedida. O message fornece detalhes. {#P-redact_O__ul_rlv_5cv_j4b} Tipo de dados: cadeia de caracteres |
[Tabela 23. Retorna]

{#P-redact_O__table_phl_lzj_34b}  
O exemplo a seguir mostra como editar por retângulo e palavra-chave. No PDF editado, as áreas selecionadas na página 2 são bloqueadas. A cadeia de caracteres '23' é editada em qualquer página em que seja encontrada.

    var pdfRequest = {
      sysId: 'e4b3ae35fc128210f877789781ea59f3',
      highlightedSections: [
        {
          "pageNumber": 2,
          "x": 261.75,
          "y": 480,
          "width": 21,
          "height": 14.25
        },
        {
          "pageNumber": 2,
          "x": 249,
          "y": 390.75,
          "width": 63.75,
          "height": 15.75
        }
        // Add more coordinates as needed
      ],
      searchedKeywords: ['23']
    };

    // Convert the JSON object to a string
    var jsonRequest = JSON.stringify(pdfRequest);
    gs.info('JSON Request: ' + jsonRequest + '\n');

    var PDFRedaction = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = PDFRedaction.redact(jsonRequest);
    gs.info(JSON.stringify(result));

Saída:

    JSON Request: {"sysId":"e4b3ae35fc128210f877789781ea59f3","highlightedSections":[{"pageNumber":2,"x":261.75,"y":480,"width":21,"height":14.25},{"pageNumber":2,"x":249,"y":390.75,"width":63.75,"height":15.75}],"searchedKeywords":[23]}

    {"attachment_id":"1744ae35fc128210f877789781ea59fc","message":"Request completed successfully.","status":"success"}


