Class Printer
- Direct Known Subclasses:
DBPrinter
Ainda não foi testado o funcionamento em caso de acesso simultâneo ao dispositivo de saída. Não sabemos se ocorre erro imediato ou se o sistema operacional gerencia uma fila.
- Author:
- sergio
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Supplier
<OutputStream> dbPrinterOutputStream
(String printerName) Fornece um OutputStream para gravar dados binários provenientes de um JasperPrint em uma impressora informada.static Supplier
<OutputStream> dbPrinterOutputStream
(String printerName, Connection conn) Deprecated.static Printer
findPrinter
(AppConnection conn, Mdi mdi, String printerName) Procura a impressora de etiquetas informada, e se não existir obtém a impressora de etiquetas padrão do usuário.static Printer
getLabelsPrinter
(AppConnection conn, int codEmpresa, String usuario, String printerName) Obtém a impressora de etiquetas.static Printer[]
getList
(AppConnection cn, int codEmpresa, String usuario) Retorna a lista de impressoras disponíveis para um usuário.Retorna o endereço do arquivo ou do dispositivo ao qual esta impressora está anexada.static Printer
getPrinter
(String printerName, String outputPath, Credentials credentials) Obtém a impressora a partir de parâmetros quaisquer.Retorna o nome (apelido) da impressora.Retorna oPrintWriter
associado a esta impressora para que alguma aplicação imprima diretamente nela.getPrintWriter
(Charset charset) Retorna oPrintWriter
associado a esta impressora para que alguma aplicação imprima diretamente nela.void
Imprime um arquivo nesta impressora.void
Imprime os caracteres de qualquerReader
nesta impressora.void
Imprime qualquer texto nesta impressora.void
Imprime qualquer texto nesta impressora com uma codificação definida.void
Imprime um arquivo nesta impressora.static void
printLabels
(AppConnection conn, Mdi mdi, File labelsFile) Conveniência que imprime o arquivo na impressora de etiquetas do usuário.static void
printLabels
(AppConnection conn, Mdi mdi, File labelsFile, String printerName) Conveniência que imprime o arquivo numa impressora de etiquetas alternativa para o usuário.static void
printLabels
(Printer impressoraEtiquetas, File labelsFile) Conveniência que imprime o arquivo na impressora de etiquetas.void
reset()
Remove todas as configurações globais desta impressora lógica.void
void
void
toString()
-
Constructor Details
-
Printer
Inicializa uma impressora anexada à saída informada, que pode ser o endereço de um arquivo ou de um dispositivo de impressão.- Parameters:
outputFileName
- o endereço para o dispositivo de saída
-
-
Method Details
-
getOutputFileName
Retorna o endereço do arquivo ou do dispositivo ao qual esta impressora está anexada.- Returns:
- o endereço do dispositivo
-
getPrinterName
Retorna o nome (apelido) da impressora.- Returns:
- o nome da impressora
-
getPrintWriter
Retorna oPrintWriter
associado a esta impressora para que alguma aplicação imprima diretamente nela.A codificação de caracteres a ser usada será adequada ao tipo de impressora. No caso de impressora para caminho local é usada a codificação padrão do sistema. Nos outros casos, é fixa a codificação do Windows, exceto no caso da
DBPrinter
, que funciona diferente.- Returns:
- um novo
PrintWriter
associado a esta impressora - See Also:
-
getPrintWriter
Retorna oPrintWriter
associado a esta impressora para que alguma aplicação imprima diretamente nela.- Parameters:
charset
- codificação a usar para enviar texto a esta impressora. No caso deDBPrinter
, a codificação não é aplicada. Ver.- Returns:
- um novo
PrintWriter
associado a esta impressora - See Also:
-
print
Imprime os caracteres de qualquerReader
nesta impressora. Ao final da impressão, oReader
é fechado.- Parameters:
inputReader
- o leitor de dados para imprimir nesta impressora
-
print
Imprime um arquivo nesta impressora.- Parameters:
inputFile
- o arquivo a imprimir
-
printFile
Imprime um arquivo nesta impressora.- Parameters:
inputFileName
- o caminho do arquivo
-
print
Imprime qualquer texto nesta impressora.- Parameters:
string
- o texto a imprimir
-
print
Imprime qualquer texto nesta impressora com uma codificação definida.Faz o mesmo que:
print(new StringReader(string), getPrintWriter(charset));
A motivação para usar este método é a necessidade de imprimir em determinadas impressoras de etiquetas em determinada codificação específica, por exemplo CP850.
- Parameters:
string
- o texto a imprimircharset
- codificação a usar para enviar texto a esta impressora.
-
getList
Retorna a lista de impressoras disponíveis para um usuário. A impressora padrão é a primeira da lista.Todas as impressoras desta lista são automaticamente reconhecidas no UNIX ou Linux como correspondendo a um dispositivo de impressão que deve estar mapeado no CUPS.
- Parameters:
cn
- a conexão ao banco de dadoscodEmpresa
- o código da empresausuario
- o usuário- Returns:
- as impressoras disponíveis para esse usuário
-
setDriver
-
getDriver
-
set
-
set
-
reset
public void reset()Remove todas as configurações globais desta impressora lógica. Ficam valendo as configurações atuais da impressora real. -
toString
-
getLabelsPrinter
public static Printer getLabelsPrinter(AppConnection conn, int codEmpresa, String usuario, String printerName) Obtém a impressora de etiquetas.- Parameters:
conn
- a conexão ao banco de dadoscodEmpresa
- o código da empresausuario
- o usuárioprinterName
- o nome da impressora atribuída ao usuário- Returns:
- as configurações para a impressora informada
-
getPrinter
Obtém a impressora a partir de parâmetros quaisquer.- Parameters:
printerName
- o nome da impressora, usado, entre outras coisas, para a impressão através da extensão do navegador Chrome.outputPath
- o caminho da impressora; se for "LOCAL", será encaminhado para a extensão do navegador Chrome.credentials
- as credenciais para a impressão por Samba, ou nulo. Para usar Samba, é necessário informar este objeto, mesmo contendo credenciais vazias.- Returns:
- a impressora pronta para imprimir
-
printLabels
Conveniência que imprime o arquivo na impressora de etiquetas do usuário. O arquivo não é eliminado.- Parameters:
conn
- a conexão ao banco de dadosmdi
- a MDIlabelsFile
- o arquivo a enviar para a impressora
-
printLabels
Conveniência que imprime o arquivo numa impressora de etiquetas alternativa para o usuário.Se não for informada uma impressora válida, imprime na impressora padrão do usuário, com
printLabels(AppConnection, Mdi, File)
.O arquivo não é eliminado.
- Parameters:
conn
- a conexão ao banco de dadosmdi
- a MDIlabelsFile
- o arquivo a enviar para a impressoraprinterName
- o nome da impressora atribuída ao usuário
-
findPrinter
Procura a impressora de etiquetas informada, e se não existir obtém a impressora de etiquetas padrão do usuário.- Parameters:
conn
- a conexão ao banco de dadosmdi
- as credenciais do usuárioprinterName
- o nome da impressora que se espera encontrar- Returns:
- a impressora obtida
-
printLabels
Conveniência que imprime o arquivo na impressora de etiquetas.O arquivo não é eliminado.
- Parameters:
impressoraEtiquetas
- a impressora de etiquetaslabelsFile
- o arquivo a enviar para a impressora
-
dbPrinterOutputStream
Fornece um OutputStream para gravar dados binários provenientes de um JasperPrint em uma impressora informada.Quando for usado, ele é aberto, e é preciso fechá-lo para efetivar a gravação.
Internamente, abre uma conexão ao banco de dados do sistema.
Destina-se especialmente à impressão de etiquetas usando
JR.Print.saveJasperPrint(Supplier)
.- Parameters:
printerName
- o nome da impressora, geralmentemdi.impressora_padrao_etiqueta
- Returns:
- o objeto que fornece o OutputStream aberto
-
dbPrinterOutputStream
@Deprecated public static Supplier<OutputStream> dbPrinterOutputStream(String printerName, Connection conn) Deprecated.Faz o mesmo quedbPrinterOutputStream(String)
.Antes usava a conexão recebida para efetivar a gravação no banco de dados. Agora usa uma conexão obtida internamente do contexto.
- Parameters:
printerName
- o nome da impressora, geralmentemdi.impressora_padrao_etiqueta
conn
- a conexão contendo a transação atual do formulário (não é usada).- Returns:
- o objeto que fornece o OutputStream aberto
-
dbPrinterOutputStream(String)
.