Exportação de PDF com JxBrowser

Este projeto demonstra como executar a exportação programática para PDF de conteúdos
HTML/CSS/JS com a ajuda do JxBrowser.

Exportação de PDF

Problema 

Quando uma organização pretende reunir e compartilhar alguma informação, o formato mais comum para esses relatórios é, de longe, o PDF. Os arquivos resultantes podem conter uma variedade de dados, incluindo tabelas, gráficos e outras visualizações.

No entanto, embora o formato seja muito popular, a criação de um sistema automatizado de geração de PDF pode muitas vezes impor desafios. Dependendo da solução, a organização pode ser obrigada a utilizar uma ferramenta específica de elaboração de relatórios e/ou os programadores podem ter de utilizar uma biblioteca de programas com uma curva de aprendizagem acentuada que requer proficiência para uma utilização eficaz. Além disso, a fidelidade do conteúdo gerado pode não ser tão elevada quanto o esperado.

Em muitas situações, é preferível utilizar uma abordagem alternativa: processar o conteúdo como HTML e imprimi-lo em PDF através do mecanismo de impressão incorporado de um navegador Web.

Solução 

Neste exemplo, utilizamos o JxBrowser num servidor Web JVM para exportar dados semelhantes a tabelas para PDF mediante request. Uma vez que o JxBrowser é construído sobre o Chromium, utilizamos as capacidades do HTML para criar a interface da tabela e utilizamos as bibliotecas CSS e JS para estabelecer um look&feel adequado. Em tempo de execução, a página é preenchida com os dados reais e processada em PDF através da API do JxBrowser. Os PDFs resultantes são os mesmos como se tivessem sido impressos pelo navegador Chromium para o ambiente de trabalho.

Outro aspecto é que, assim que a aplicação é iniciada, o processo de exportação de PDF não requer qualquer intervenção humana ou qualquer outra interação com a IU. Isto ajuda a executar, digamos, relatórios programados todas as noites, se necessário.

A aplicação pode ser alojada num servidor dedicado ou numa VM na nuvem, gerando PDFs mediante requests, como um cron job ou um request de API REST de outro programa.

Em resumo, eis uma pequena lista de vantagens:

  1. Geração de PDF totalmente automatizada.
  2. Independência dos formatos de relatório de terceiros e das ferramentas específicas de relatório, alta qualidade do conteúdo gerado.
  3. Reutilização do mesmo código HTML/CSS/JS para a geração do PDF e no cliente Web, se necessário, por exemplo, para gerar uma pré-visualização. O resultado é idêntico.

Licenciamento e reutilização

O código deste projeto é fornecido sob a licença MIT. Incentivamos nossos clientes a tratá-lo como uma fonte de inspiração ou até mesmo a usar diretamente suas partes em suas aplicações.