Árvore de páginas

Este documento detalha o funcionamento do binário TOTVS Printer via linha de comando e destina-se ao desenvolvedor na implantação/manutenção de soluções ou aos usuários em geral na busca de problemas relacionados a impressão. Reforçamos que na utilização normal do sistema não é recomendado a chamada direta ao binário TOTVS Printer, pois é esperado que o sistema ERP faça as chamadas na impressão de relatórios gerados através da classe FWMSPrinter, TReport e da função file2printer().

Argumentos de linha para impressão de arquivo gerado .rel

  • O arquivo .rel contém uma série de comandos em bytes que orientam o agente TOTVS Printer e é gerado pela classe FWMSPrinter.

Sintaxe da linha de comando para impressão de relatórios
printer.exe <cArquivo> <cFila> [-rfs] [cUserPwd] [cOwnerPwd] [-pdfversion]

Nome

Tipo

Descrição

Obrigatório

Referência

cArquivo

caractere

Indica o nome do arquivo com extensão .rel que possui os comandos pré-definidos para criação de documentos.

X


cFila

caractere

Indica o formato do documento a ser criado ou o nome da fila de impressão que o arquivo será destinado. Para mais informações dos possíveis formatos, consulte a área "Observações".

X


-rfscaractereTambém pode ser representado por --realfontsizes. Ativa a chave "Real Font Sizes" que diminui a divergência nos tamanhos de fonte encontrados entre impressões com saída PDF e Fila de Impressão (spool). Faz com que as fontes do texto sejam exibidas em seu tamanho natural sem redimensionamentos. Documentos gerados em PDF, Fila de Impressão, Preview, etc, exibirão textos com tamanhos de fonte muito próximos entre si. Entretanto ainda é importante prever uma pequena margem de erro para que textos não fiquem truncados ou excedam seus limites previstos, isto deve-se ao fato de que a origem do arquivo de fontes usado na impressão pode variar dependendo da plataforma. Se este parâmetro for omitido, o sistema considera a chave desativada por padrão. Disponível somente a partir da versão 1.4.3 da TOTVS Printer.

cUserPwdcaractereProteção de senha User com permissões básicas. Este parâmetro torna-se obrigatório somente se a fila informada for PDF_WITH_PASSWORD ou PDF_WITHOUT_FONTS_WITH_PASSWORD. A senha deve conter entre 6 e 12 caracteres. Disponível a partir da versão 1.5.3 da TOTVS Printer.

cOwnerPwdcaractereProteção de senha Mestre (owner) com permissões avançadas (Alteração de permissões). É um parâmetro opcional utilizado somente quando a fila informada for PDF_WITH_PASSWORD ou PDF_WITHOUT_FONTS_WITH_PASSWORD. A senha deve conter entre 6 e 12 caracteres. Disponível a partir da versão 1.5.3 da TOTVS Printer.

-pdfversioncaracterePermite especificar a versão do PDF a ser gerado. O padrão é "1.3". Este parâmetro é considerado somente para as filas de impressão em PDF. Os valores aceitos são: -pdfversion=1.3, -pdfversion=1.4, -pdfversion=1.5, -pdfversion=1.6 ou -pdfversion=1.7. Disponível a partir da versão 1.6.2 da TOTVS Printer. É importante salientar que documentos PDF gerados na versão 1.3 são compatíveis com todas as versões mais recentes dos leitores de PDF, enquanto documentos gerados em versões mais recentes podem não ser abertos em leitores mais antigos ou podem gerar uma mensagem de alerta sobre incompatibilidade de versão. O motor de geração de PDF da TOTVS Printer poderá alterar a versão por conta própria, se for necessário, dependendo de alguma funcionalidade aplicada ao documento que for suportada a partir de determinada versão.

Argumentos de linha para impressão direta de código de barras 2D

  • A partir da sua versão 1.3.5 a TOTVS Printer passou a disponibilizar a geração de código de barras 2D em arquivos de imagem.

Sintaxe da linha de comando para impressão de código de barras 2D
printer.exe <cArquivo> <cBarcodeFormat> <cBarcodeText> <nBarcodeSize> [nBarcodeHeight]

Nome

Tipo

Descrição

Obrigatório

Referência

cArquivo

caractere

Nome do arquivo de saída para geração do código de barras no padrão QRCode ou DataMatrix. As extensões de arquivos de imagem aceitas são: bmp, png e jpg. Mais informações consulte a área "Observações". 

X


cBarcodeFormat

caractere

Indica o formato do código de barras 2D a ser criado. Para mais informações dos possíveis formatos, consulte a área "Observações".

X


cBarcodeTextcaractereIndica o texto a ser codificado no padrão do código de barras 2D escolhido.X
nBarcodeSizenuméricoIndica o valor a ser usado como largura e altura nos formatos QRCODE e DATAMATRIX, e somente como largura no formato PDF417.X
nBarcodeHeightnuméricoSomente para o formato PDF417, onde é obrigatório e indica o valor a ser usado como altura.

Observações

  • Argumento <cFila> - Formato do documento ou fila de impressão:

Formato

Descrição

PDFGera um documento em formato PDF.

PDF_WITH_PASSWORD

Gera um documento em formato PDF com senha de proteção. A senha deve conter entre 6 e 12 caracteres.
PDF_WITHOUT_FONTSGera um documento em formato PDF, porém sem embarcar as fontes usadas*.
PDF_WITHOUT_FONTS_WITH_PASSWORDGera um documento em formato PDF, porém sem embarcar as fontes usadas* e com senha de proteção. A senha deve conter entre 6 e 12 caracteres.
PNGGera uma imagem em formato PNG.
PREVIEWAbre uma janela de vizualização da impressão do documento.
XLS ou XLSXGera uma planilha em formato XLSX. Disponível a partir da versão 2.1.0 da TOTVS Printer.
"nome da fila de impressão"Se nenhum dos formatos acima for usado, então o documento será enviado para a fila de impressão com o nome dado, isto é, o nome da impressora de destino.

* As possíveis fontes são: Arial, Arial Black, Times New Roman, Courier, Andale Mono.


  • Argumento <cBarcodeFormat> - Formato do código de barras 2D:

Formato

Descrição

QRCODEGera um arquivo de imagem no padrão QRCode.

DATAMATRIX

Gera um arquivo de imagem no padrão DataMatrix.
PDF417Gera um arquivo de imagem no padrão PDF417. Disponível a partir da versão 1.5.7 da TOTVS Printer.


  • É importante atentar-se ao fato de que as imagens de código de barras QRCode e DataMatrix geradas possuem dimensões mínimas sugeridas (altura e largura) que dependem da quantidade de caracteres do texto codificado, e têm como função garantir que um leitor conseguirá interpretar o código corretamente. Para respeitar tais dimensões mínimas basta informar o valor 1 no parâmetro nBarcodeSize. Até a versão 1.7.1 do agente TOTVSPrinter, se o valor especificado no parâmetro nBarcodeSize para QRCode e DataMatrix for inferior a dimensão mínima necessária (calculada pelo motor de geração de código de barras), o valor informado será ignorado e a imagem assumirá dimensões maiores. Porém a partir da versão 1.7.2, as dimensões sempre respeitarão o nBarcodeSize, mesmo que uma dimensão inferior a recomendada seja especificada (com exceção do valor 1 que continua servindo para especificar que as dimensões devem respeitar o tamanho natural sugerido).
  • Para criar imagens de QRCode e DataMatrix com dimensões mínimas sugeridas automaticamente pelo motor de geração para garantir a qualidade da leitura dos dados, basta informar o valor 1 no parâmetro nBarcodeSize.
  • A geração de arquivos PDF possui uma limitação na quantidade de páginas geradas para um documento. Até a versão 1.6.6 da TOTVS Printer, o limite máximo é de 8.191 páginas. A partir da versão 1.6.7 esse limite foi expandido para 32.767 páginas.
  • A partir da versão 1.4.4 da TOTVS Printer, ao ser excedido o limite de páginas PDF, o processo de geração é interrompido para evitar erros na execução.
  • A geração de planilha XLS está disponível a partir da versão 2.1.0 da TOTVS Printer. O arquivo .rel criado para a saída de planilha não é compatível com as demais saídas e vice-versa.


Exemplos

Exemplos de impressão de relatórios (arquivos .rel)
printer.exe meuexemplo.rel PDF
printer.exe meuexemplo.rel PDF -rfs
printer.exe meuexemplo.rel PDF_WITH_PASSWORD senhauser senhaowner 
printer.exe meuexemplo.rel PDF_WITH_PASSWORD -rfs senhauser senhaowner 
printer.exe meuexemplo.rel PDF_WITH_PASSWORD senhauser -pdfversion=1.7
printer.exe meuexemplo.rel minhaImpressora -rfs
printer.exe meuexemplo.rel "Lexmark MX510"
printer.exe meuexemploparaxls.rel XLS
Exemplos com impressão direta de código de barras 2D
printer.exe imagemqr.png qrcode "Texto codificado em QR Code." 90
printer.exe imagemdm.jpg datamatrix "Texto codificado em DataMatrix." 200
printer.exe imagemPDF417.bmp pdf417 "Texto codificado em PDF417." 300 100