1
resposta

Aplicação JavaWeb gerar contratos em PDF

Bom dia. Sou iniciante em projetos para Web e preciso desenvolver uma aplicação Web (Javaweb) para gerar contratos assinados em PDF. Ou seja, os contratos estão em uma tabela onde cada registro possui uma cláusula do contrato. Jogo estes registros em uma lista no java. Estou usando o itext. A aplicação está gerando o contrato em PDF porém está sem formatação de estilos (negrito, itálico, ...)e sem cabeçalho e rodapé nas páginas do contrato.

A minha dúvida inicial é: como faço em um mesmo parágrafo coloco fonte normal e em negrito. Tipo Assim:

CONTRATANTE - Fulano de tal, morador na Rua X, 500 . Ou seja, as palavras CONTRATANTE e Rua X, 500 devem estar em negrito e as demais palavras não.

1 resposta

Olá, tudo bem?

Para adicionar diferentes estilos de fonte em um mesmo parágrafo utilizando o iText, você pode utilizar a classe Chunk. Um Chunk é uma parte de um parágrafo que pode ter um estilo de fonte específico.

Para adicionar uma parte do texto em negrito, você pode criar um Chunk com a fonte em negrito e adicionar ao parágrafo. Por exemplo:

Font fonteNegrito = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD);
Chunk chunkNegrito = new Chunk("CONTRATANTE", fonteNegrito);
paragrafo.add(chunkNegrito);

Para adicionar uma parte do texto em fonte normal, você pode criar um Chunk sem especificar um estilo de fonte. Por exemplo:

Chunk chunkNormal = new Chunk(" - Fulano de tal, morador na ");
paragrafo.add(chunkNormal);

Dessa forma, você pode adicionar diferentes Chunks ao parágrafo, cada um com o estilo de fonte desejado.

Quanto à formatação de cabeçalho e rodapé nas páginas do contrato, você pode utilizar a classe PdfPageEventHelper do iText para personalizar o conteúdo de cabeçalho e rodapé em cada página do PDF. Você pode criar uma classe que estenda PdfPageEventHelper e sobrescrever os métodos onEndPage() ou onStartPage() para adicionar o conteúdo desejado.

Espero ter ajudado e bons estudos!