Class UtilReports

java.lang.Object
br.com.intersys.systextil.global.UtilReports

public class UtilReports extends Object
Esta classe foi criada porque manipula tanto arquivos Jasper quanto conversões para PDF. Por isso, não convinha colocar este código dentro da classe Rpt nem da JasperReport.
Author:
sergio
  • Method Details

    • getFormattedOutputFile

      public static File getFormattedOutputFile(String saida, String extension, String size, String orientation, String marginsList, String fontSize)
      Retorna um arquivo PDF gerado a partir de relatórios Jasper ou RPT no Systêxtil Web, para download. Este arquivo, se originado por RPT, não terá a logomarca no rodapé.

      Dar preferência ao outro método, pois há melhorias no leiaute de PDF de relatórios originados por RPT. Este método preserva a compatibilidade reversa com o servlet de download.

    • getFormattedOutputFile

      public static File getFormattedOutputFile(String saida, String extension, String size, String orientation, String marginsList, String fontSize, String program, String layout) throws FileNotFoundException
      Retorna um arquivo PDF (ou de outro formato à escolha) gerado a partir de relatórios Jasper ou Crystal ou RPT no Systêxtil Web, para download.

      Este arquivo, se originado por RPT, terá a logomarca no rodapé.

      Dar preferência ao outro método, quando não houver necessidade de gravar arquivos na pasta de relatórios e se puder escrever o conteúdo diretamente em um OutputStream.

      Throws:
      FileNotFoundException
    • getFileExporter

      public static UtilReports.Exporter getFileExporter(String saida, String extension, String size, String orientation, String marginsList, String fontSize, String program, String layout)
      Retorna um exportador de arquivo gerado a partir de relatórios Jasper ou Crystal ou RPT no Systêxtil Web, para download.

      Este arquivo, se originado por RPT, terá a logomarca no rodapé.

      Dar preferência a este método, quando não houver necessidade de gravar arquivos na pasta de relatórios e se puder escrever o conteúdo diretamente em um OutputStream.

      Returns:
      o exportador configurado conforme o caso, ou nulo se o arquivo deve ser entregue inalterado
    • generatePdf

      public static void generatePdf(String pageSize, String sourceFile, String destFile)
      Convenientemente gera PDF com configurações padrão. É usado em alguns formulários.
      Parameters:
      pageSize - o tamanho da página
      sourceFile - o caminho para o arquivo TXT de origem
      destFile - o caminho para o arquivo PDF de destino
    • generatePdf

      public static void generatePdf(String pageSize, String sourceFile, OutputStream out)
      Convenientemente gera PDF com configurações padrão para gravar em um OutputStream; por exemplo: um anexo de e-mail.

      O OutputStream é fechado ao fim da execução.

      Parameters:
      pageSize - o tamanho da página
      sourceFile - o caminho para o arquivo TXT de origem
      out - a saída onde gravar o arquivo gerado
    • imprimirPDF

      public static void imprimirPDF(File file, String impressora) throws Exception
      Imprime um arquivo PDF.
      Parameters:
      file - o arquivo PDF
      impressora - o nome do serviço de impressão
      Throws:
      Exception - se der problema
      See Also:
    • unirPDFs

      public static void unirPDFs(Path outFile, Collection<Path> pdfs) throws IOException
      Throws:
      IOException
    • getPrintService

      public static PrintService getPrintService(String printServiceName) throws UtilReports.PrintServiceNotFound
      Procura um serviço de impressão no Windows a partir do seu nome, conforme instalado no painel de controle de impressoras. Deve ser um serviço capaz de imprimir documentos normais (inclusive etiquetas) e online (aceitando trabalhos).

      Para encontrar o serviço de impressão, basta que o mesmo contenha em parte do seu nome a palavra procurada. Por exemplo, para encontrar o serviço "HP Deskjet 640C" basta procurar por "deskjet" (maiúsculas ou minúsculas são irrelevantes). Se mais de uma impressora for encontrada, a primeira será retornada, e não há como saber de antemão qual delas será a primeira.

      Pode ser conveniente implementar melhor este método para facilitar a busca de impressoras se em vez do nome for informado o caminho de rede (p. ex. \\impressao\zebra). Isto ainda não está feito.

      Em princípio pode funcionar também com outros sistemas operacionais.

      Throws:
      UtilReports.PrintServiceNotFound