Class: HtmlToPdf

@nginstack/engine/lib/print/HtmlToPdf~ HtmlToPdf


new HtmlToPdf(canSendToServer)

Esta classe atua como uma interface para o aplicativo wkhtmltopdf. Informações adicionais podem ser encontradas na página do projeto: https://wkhtmltopdf.org

As páginas serão impressas no arquivo PDF na ordem que forem adicionadas ao objeto.

Quando em ambiente Windows, esta classe utiliza o NativeAppPackageManager para gravar o aplicativo em disco antes de sua primeira execução. Em ambiente Linux, verifica-se se o aplicativo está disponível no sistema operacional. Caso não esteja o trabalho de impressão é enviado para ser realizado no Engine servidor.

Há ainda a opção de realizar a impressão utilizando uma API de Web Service. Para realizar a impressão via API, defina a variável de ambiente NGIN_HTMLTOPDF_SERVICE contendo o endereço de um endpoint do serviço.

Parameters:
Name Type Description
canSendToServer boolean

Indica se a tarefa de impressão em PDF pode ser enviada para o Engine servidor.

See:
  • NativeAppPackageManager

Members


captureOutput :boolean

Indica se as mensagens geradas pelo aplicativo, quando executado localmente, devem ser capturadas.

Type:
  • boolean

copies :number

Configura o número de copias das páginas a serem impressas no documento.

Default: 1.

Type:
  • number

extraArguments :string

Adiciona parâmetros de customização ao documento impresso. Caso parâmetros já tenham sido definidos, estes serão sobrescritos. Os parâmetros são definidos de acordo com a documentação do wkhtmltopdf na seção Global Options.

Type:
  • string

grayScale :Boolean

Configura se deve imprimir em escala de cinza.

Type:
  • Boolean
Default Value:
  • false

localFileAction :string

Configura a ação que será realizada sobre os arquivos informados pelo path. Os valores possíveis são "move" para mover o arquivo informado para a pasta de trabalho, removendo-o, portanto, do local original, ou "copy" para copiar o arquivo informado para a pasta de trabalho, deixando o arquivo informado na pasta de origem.

Type:
  • string
Default Value:
  • 'copy'

orientation :string

Configura a orientação da impressão em retrato ou paisagem. Valores: Landscape ou Portrait.

Type:
  • string
Default Value:
  • Portrait

pageSize :string

Configura o tamanho da página. Lista completa de i Valores.: A4, A5, B3, Letter, Legal, etc. Lista completa em: http://doc.trolltech.com/qprinter.html#PaperSize-enum

Type:
  • string
Default Value:
  • A4

timeout :number

Configura o tempo, em milissegundos, de espera para execução do comando de impressão. Se o processo de impressão não terminar dentro desse intervalo, ocorre um erro de "timeout". Por padrão se considera um tempo de espera de 3 minutos (180000 ms).

Type:
  • number

title :string

Configura título do PDF. Se vazio, a tag "title" da primeira página é utilizada como título.

Type:
  • string
Default Value:
  • ''

transferEncoding :string

Informa o tipo de codificação a ser utilizada ao transferir os arquivos. Valores: base64

Default: base64

Type:
  • string

Methods


addPage(inputFilePath)

Adiciona uma página ao conjunto de impressão, informando o caminho do arquivo HTML.

Parameters:
Name Type Description
inputFilePath string

Caminho do arquivo Html.

Example
const HtmlToPdf = require('@nginstack/engine/lib/print/HtmlToPdf');
 let pdf = new HtmlToPdf();
 pdf.addPage('./caminho/pagina.html');
 pdf.print('arquivo.pdf');

addPageContent(fileName, fileContent [, opt_transferEncoding])

Adiciona uma página ao conjunto de impressão, informando nome e conteúdo da página HTML. Utilize esse método quando a página for gerada pela aplicação e não existir em disco, ou quando for um arquivo da Virtual File System.

Parameters:
Name Type Argument Description
fileName string

Nome do arquivo Html.

fileContent string

Conteúdo do arquivo Html.

opt_transferEncoding string <optional>

Tipo de codificação do fileContent.

Example
const HtmlToPdf = require('@nginstack/engine/lib/print/HtmlToPdf');
 let pdf = new HtmlToPdf();
 pdf.addPageContent('pagina.html', '...conteúdo HTML...');
 pdf.print('arquivo.pdf');

addResource(inputFilePath)

Adiciona um arquivo de recurso, que será carregado por uma página HTML.

Parameters:
Name Type Description
inputFilePath string

Caminho do arquivo de recurso.

Example
const HtmlToPdf = require('@nginstack/engine/lib/print/HtmlToPdf');
 let pdf = new HtmlToPdf();
 pdf.addPage('./caminho/pagina.html');
 pdf.addResource('./caminho/imagem.png');
 pdf.print('arquivo.pdf');

addResourceContent(fileName, fileContent [, opt_transferEncoding])

Adiciona um arquivo de recurso, que será carregado por uma página HTML. Utilize esse método quando o recurso for gerado dinamicamente pela aplicação e não existir em disco, ou quando for um arquivo da Virtual File System.

Parameters:
Name Type Argument Description
fileName string

Nome do arquivo de recurso.

fileContent string

Conteúdo do arquivo de recurso.

opt_transferEncoding string <optional>

Tipo de codificação do conteúdo.

Example
const HtmlToPdf = require('@nginstack/engine/lib/print/HtmlToPdf');
 let pdf = new HtmlToPdf();
 pdf.addPage('./caminho/pagina.html');
 pdf.addResourceContent('imagem2.jpeg', virtualFS.getFileContent(chaveImagem));
 pdf.print('arquivo.pdf');

getOutput()

Retorna as mensagens geradas pela execução do aplicativo.

Returns:
Type
string

getPages()

Retorna o conjunto de páginas para impressão.

Returns:

Páginas a serem impressas em ordem.

Type
Array

print(outputFileName [, generateLog])

Imprime os objetos Html no arquivo especificado. Nos casos em que a impressão ocorre no Engine local, pode ser encontrado o log da última execução em tools/HtmlToPdf/htmlToPdf.log.

Parameters:
Name Type Argument Default Description
outputFileName string

Caminho do arquivo PDF de saída.

generateLog Boolean <optional>
false

Se true gera arquivo de log.

Returns:

Código de saída da execução do HtmlToPdf

Type
number

setPageExtraArguments(index, params)

Adiciona parâmetros de customização à página a ser impressa. Caso parâmetros já tenham sido definidos, estes serão sobrescritos. Os parâmetros são definidos de acordo com a documentação do wkhtmltopdf na seção Page Options.

Parameters:
Name Type Description
index number

Índice da página ao qual os parâmetros se referem.

params string

Parâmetros de customização.